AWS Fargate:使用负载均衡器的目标组创建服务

AWS Fargate: Create service with target group for load balancer

查看在 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 完成此操作,并且能够理解应该按什么顺序完成任务。希望这对某人有所帮助。