我用以下命令启动单个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任务指定不同可用区的方法?
如果我只是重试,我需要等多久才能重试?
答案 0 :(得分:1)
使用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