6

我正在使用以下命令启动单个 ECS Fargate 任务:

aws ecs run-task --cluster Fargate \
 --task-definition $ECR_REPO-run-setup 
 --overrides file:///tmp/ecs-overrides-db-migrate.txt \
 --count 1 --launch-type FARGATE \
 --network-configuration "awsvpcConfiguration={subnets=[$PUBLIC_SUBNET_1, $PUBLIC_SUBNET_2],securityGroups=[$FARGATE_SG],assignPubli cIp=ENABLED}"

目前我的账户中根本没有任何 ECS 服务、任务或实例在运行。这是我得到的回复:

{
    "failures": [
        {
            "reason": "Capacity is unavailable at this time. Please try again later or in a different availability zone"
        }
    ],
    "tasks": []
}

我什至看不到为 Fargate 任务指定不同可用区的方法?

如果我应该重试,我应该等待多长时间才能重试?

4

1 回答 1

6

使用 VPC,您可以创建一个或多个与可用区相对应的子网。

启动 Fargate 任务时,您会注意到network-configuration参数和关联的awsvpcConfiguration. 要指定多个区域,您可以传入多个子网。例如:

aws ecs run-task --cluster Fargate \
 --task-definition $ECR_REPO-run-setup 
 --overrides file:///tmp/ecs-overrides-db-migrate.txt \
 --count 1 --launch-type FARGATE \
 --network-configuration "awsvpcConfiguration={subnets=[$MY_SUBNET_IN_AZ1, 
$MY_SUBNET_IN_AZ2]

aws 中的 VPC 文档包含更多有用信息: https ://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#vpc-subnet-basics

于 2018-03-22T02:52:50.160 回答