Да, мы можем общаться между контейнерами, выполняющими задачу.
Вот архитектура системы
![enter image description here](https://i.stack.imgur.com/PjIHC.png)
И мы будем использовать Обнаружение службы для задачи регистрации в службе (задача Fargate / EC2)
Это пример того, как запустить одну службу в ECS с CloudFormation
...
Resources:
DiscoveryService:
Type: AWS::ServiceDiscovery::Service
Properties:
DnsConfig:
RoutingPolicy: MULTIVALUE
DnsRecords:
- TTL: 60
Type: A
- TTL: 60
Type: SRV
HealthCheckCustomConfig:
FailureThreshold: 1
Name: !Ref ServiceName
NamespaceId: !Ref PrivateNamespaceId // Example: ns-foobar
...
Service:
Type: AWS::ECS::Service
DependsOn: LoadBalancerRule
Properties:
Cluster: !Ref ClusterName
LaunchType: "FARGATE"
DesiredCount: !Ref DesiredCount
...
ServiceRegistries:
- RegistryArn: !GetAtt DiscoveryService.Arn
Port: 80 // Container port and service port
Вотрезультат
![enter image description here](https://i.stack.imgur.com/Rsm7l.png)
После этого вы можете использовать curl
переопределение команды для контейнера для тестирования:
![enter image description here](https://i.stack.imgur.com/RGJR9.png)