Я вижу, что вы скопировали тот же шаблон из Шаблоны AWS .
MyUIService:
Type: AWS::ECS::Service
Properties:
Cluster: !ImportValue MyClusterName
DesiredCount: 1
LaunchType: EC2
LoadBalancers:
- ContainerName: simple-app
ContainerPort: '80'
TargetGroupArn: !Ref 'ECSTG'
Role: !Ref MyServiceRole
ServiceName: my-ui-service
ServiceRegistries:
- arn:aws:servicediscovery:eu-west-1:2398942890842:service/srv-ohc098mdj55yesez7
TaskDefinition: !ImportValue MyTaskArn
Обратите внимание, что LoadBalancers на самом деле напрямую не ссылается на балансировщик нагрузки. Он ссылается на целевую группу. Это довольно странно, учитывая названия, но если вы пройдете через веб-консоль, то придете к такому же выводу.
Если вы посмотрите документацию AWS :
ContainerName
The name of a container to use with the load balancer.
Required: Yes
Type: String
ContainerPort
The port number on the container to direct load balancer traffic to. Your container instances must allow ingress traffic on this port.
Required: Yes
Type: Integer
Это Обязательно , но вы никогда не сможете получить их, импортировав балансировщик нагрузки.
Если вы подумаете об этом, ссылаясь на целевую группу вместо балансировщика нагрузки, вы можете использовать один и тот же ALB для нескольких целевых групп, что оправдывает затраты. Таким образом, в заключение имеет смысл сослаться на целевую группу, но имя свойства действительно вводит в заблуждение.