查看在Fargate中创建服务的文档(https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_AWSCLI_Fargate.html#ECS_AWSCLI_Fargate_create_service),它不建议您为该服务创建目标组。目标组是连接负载均衡器所必需的,所以我不知道他们为什么不在文档中包含它。考虑到在创建后无法向服务添加负载均衡器,这不可避免地会让我头疼。那么,我该如何确保我的Fargate服务创建必要的目标组,以便向其中添加ELB呢?
如果我着手创建目标组,https://aws.amazon.com/premiumsupport/knowledge-center/create-alb-auto-register/,我的VPC没有目标可以连接,所以这基本上是无用的,因为我在创建时做了一些错误的事情。
aws ecs create-service --cluster fargate-cluster --service-name fargate-service --task-definition sample-fargate:1 --desired-count 1 --launch-type "FARGATE" --network-configuration "awsvpcConfiguration={subnets=[subnet-abcd1234],securityGroups=[sg-abcd1234]}"
有人能带我到这儿来吗?
我最终删除了创建的没有负载均衡器的服务,为与我的负载均衡器(IP类型(相同的VPC创建了目标组,然后在创建服务时获取了目标组的Arn:
aws ecs create-service --cluster evenflo-cms-dev --service-name django --task-definition evenflo-cms:4 --desired-count 1 --launch-type "FARGATE" --network-configuration "awsvpcConfiguration={subnets=[subnet-0950e9d7ffc3fc8e3, subnet-036375b8ae487f2c9],securityGroups=[sg-077d0e3ba1cfb4145],assignPublicIp=ENABLED}" --load-balancers='[{"targetGroupArn": "arn:aws:elasticloadbalancing:us-east-1:898591449577:targetgroup/evenflo-cms-api/f5501d5733c6d91c", "containerName": "django", "containerPort": 7000 }]'
有没有一种更干净的方法来处理Terraform?可能但我只是想用AWS CLI找到一种直接的方法来实现这一点,并能够理解做事的顺序。希望这能帮助到别人。