我正在为Windows集群使用最新的ECS代理v1.22.0。我想尝试新特性,但是下面的错误消息失败了:
service XXX was unable to place a task because no container instance met
all of its requirements. The closest matching container-instance YYY is
missing an attribute required by your task.
ECS代理日志不显示任何错误。“我的任务”具有以下属性:
"requiresAttributes":
我通过ecs-cli使用ECS来部署我的API。 我首先使用以下命令启动一个spot实例集群: sudo ecs-cli up --region MY REGION --keypair MY KEY PAIR --instance-type t2.micro --capability-iam --size 1 --cluster MY CLUSTER NAME --spot-price 0.01 然后,使用以下docker-compose.yml和ecs-params.yml文件: version: '3'
services:
selenium:
image:
我的应用程序是一个Python API,我将其打包为Docker镜像,并与ECS Fargate (Spot实例)一起使用。下面的代码可以正常工作。 我的问题是,每次我部署它时,它都会重新构建整个镜像-这非常耗时(下载所有依赖项,制作镜像,上传,等等)。我希望它能重复使用aws-cdk上传到ECR的完全相同的图像。 有没有办法(环境变量或其他)让我在不接触应用程序的代码时跳过这一步,而只是对堆栈进行更改? #!/usr/bin/env node
import * as cdk from "@aws-cdk/core"
import * as ecs from "@aw
我想使用ECS中的RunTask函数和step函数来返回我的ECS任务的结果。
在调用RunTask的代码中,代码将暂停并等待,直到StepFunction获得成功或失败状态,我是否能够在API RunTask调用之后读取响应:
//code...
var = RunTask(with Task Token...)
//will the program pause until the Task Token gets a response? and
//would I be able to add code here to read the value from the TaskToken?
我在ECS Fargate上运行了一个API,它接受GET方法请求。我在它前面放置了一个API Gateway端点,并在私有子网中与NLB集成了VPC_LINK。当我使用invoke url发送GET请求时,我会得到一个404 page not found错误。我搞不懂我为什么要得到这个。我在8000/tcp上设置了任务定义中的每个组件--北草坪会议大楼监听器、目标组以及我的主机和容器端口。所以,我不知道为什么会发生这个错误。我的Fargate任务也成功运行并通过了所有的健康检查。当我在本地测试容器并执行curl -X GET localhost/nmapscan:8000时,它可以正常工作。