Práticas recomendadas para conectar o Amazon ECS a serviços da AWS de dentro da sua VPC
Para que o Amazon ECS funcione corretamente, o agente de contêiner do Amazon ECS executado em cada host deve se comunicar com o ambiente de gerenciamento do Amazon ECS. Se você estiver armazenando suas imagens de contêiner no Amazon ECR, os hosts do Amazon EC2 deverão se comunicar com o endpoint do serviço do Amazon ECR e com o Amazon S3, onde as camadas de imagem são armazenadas. Se você usa outros serviços da AWS para sua aplicação em contêineres, como dados persistentes armazenados no DynamoDB, verifique se esses serviços também têm o suporte de rede necessário.
nat gateway
Usar um gateway NAT é a maneira mais fácil de garantir que suas tarefas do Amazon ECS possam acessar outros serviços da AWS. Para obter mais informações sobre essa abordagem, consulte Sub-rede privada e gateway NAT.
Estas são as desvantagens de usar esta abordagem:
-
Não é possível limitar os destinos com os quais o gateway NAT pode se comunicar. Também não é possível limitar os destinos com os quais sua camada de backend pode se comunicar sem interromper todas as comunicações de saída da sua VPC.
-
Os gateways NAT cobram por cada GB de dados que os atravessam. Se usar o gateway NAT para qualquer uma das seguintes operações, você será cobrado por cada GB de largura de banda:
-
Baixar arquivos grandes do Amazon S3
-
Fazer um grande volume de consultas de banco de dados no DynamoDB
-
Extrair imagens do Amazon ECR
Além disso, um gateway NAT comporta 5 Gbps de largura de banda e escala automaticamente até 45 Gbps. Se você fizer o roteamento por meio de um único gateway NAT, as aplicações que exigem conexões de largura de banda muito alta podem encontrar restrições de rede. Como solução alternativa, você pode dividir sua workload em várias sub-redes e atribuir a cada sub-rede seu próprio gateway NAT.
-
AWS PrivateLink
O AWS PrivateLink fornece conectividade privada entre VPCs, serviços da AWS e suas redes on-premises sem expor seu tráfego à Internet pública.
Um endpoint da VPC permite conexões privadas entre a VPC e os serviços da AWS compatíveis e serviços de endpoint da VPC. O tráfego entre a sua VPC e os outros serviços não sai da rede da Amazon. Um endpoint da VPC não exige um gateway da Internet ou um gateway privado virtual nem dispositivo NAT, conexão VPN ou conexão do AWS Direct Connect. As instâncias do Amazon EC2 na sua VPC não exigem que endereços IP públicos se comuniquem com recursos no serviço.
O diagrama a seguir mostra como a comunicação com os serviços da AWS funciona quando você usa endpoints da VPC em vez de um gateway da Internet. O AWS PrivateLink provisiona interfaces de rede elásticas (ENIs) dentro da sub-rede, e as regras de roteamento de VPC são usadas para enviar qualquer comunicação ao nome do host do serviço por meio da ENI diretamente para o serviço da AWS de destino. Esse tráfego não precisa mais usar o gateway NAT ou o gateway da Internet.
A seguir estão alguns dos endpoints da VPC comuns usados com o serviço Amazon ECS.
Muitos outros serviços da AWS oferecem suporte a endpoints da VPC. Se você faz uso intenso de qualquer serviço da AWS, consulte a documentação específica desse serviço e saiba como criar um endpoint da VPC para esse tráfego.