代码之家  ›  专栏  ›  技术社区  ›  Ryan Shillington

Fargate容量不足时,我该怎么办?

  •  6
  • Ryan Shillington  · 技术社区  · 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任务指定不同可用性区域的方法?

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

    1 回复  |  直到 6 年前
        1
  •  6
  •   Ryan Shillington    4 年前

    使用专有网络,您可以创建一个或多个与可用性区域相对应的子网。

    启动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中的专有网络文档包含更多有用信息: https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#vpc-subnet-basics

    推荐文章