Opções de redes de tarefas do Amazon ECS para o Fargate
Por padrão, todas as tarefas do Amazon ECS no Fargate recebem uma interface de rede elástica (ENI) com um endereço IP privado primário. Ao usar uma sub-rede pública, você pode opcionalmente atribuir um endereço IP público à ENI da tarefa. Se a VPC estiver configurada para o modo de pilha dupla e você usar uma sub-rede com um bloco CIDR IPv6, a ENI da tarefa também receberá um endereço IPv6. Uma tarefa só pode ter uma ENI associada a ela de cada vez. Os contêineres que pertencem à mesma tarefa também podem se comunicar por meio da interface localhost. Para obter mais informações sobre VPCs e sub-redes, consulte Como a Amazon VPC funciona no Guia do usuário da Amazon VPC.
Para que uma tarefa no Fargate possa extrair uma imagem de contêiner, a tarefa deve ter uma rota para a Internet. Veja a seguir como verificar se a sua tarefa tem uma rota para a Internet.
-
Quando você usa uma sub-rede pública, pode atribuir um endereço IP público à ENI da tarefa.
-
Ao usar uma sub-rede privada, a sub-rede pode ter um gateway NAT anexado.
-
Ao usar imagens de contêiner hospedadas no Amazon ECR, você pode configurar o Amazon ECR para usar um endpoint da VPC de interface e a extração da imagem ocorre no endereço IPv4 privado da tarefa. Para obter mais informações, consulte Endpoints da VPC de interface do Amazon ECR (AWS PrivateLink) no Guia do usuário do Amazon Elastic Container Registry.
Como cada tarefa tem sua própria ENI, você pode usar recursos de rede, como os logs de fluxo de VPC, que podem ser usados para monitorar o tráfego de e para suas tarefas. Para obter mais informações, consulte Logs de fluxo da VPC no Guia do usuário do Amazon Virtual Private Cloud.
Você também pode utilizar AWS PrivateLink. É possível configurar um endpoint de interface VPC para que você possa acessar APIs do Amazon ECS por meio de endereços IP privados. AWS PrivateLink restringe todo o tráfego de rede entre sua VPC e o Amazon ECS para a rede da Amazon. Você não precisa de um gateway da Internet, de um dispositivo NAT ou de um gateway privado virtual. Para obter mais informações, consulte Endpoints da VPC da interface do Amazon ECS (AWS PrivateLink).
Consulte exemplos de como usar o recurso NetworkConfiguration com o CloudFormation, consulte Exemplos de modelos do CloudFormation para o Amazon ECS.
As ENIs que são criadas são totalmente gerenciadas pelo AWS Fargate. Além disso, existe uma política do IAM associada que é utilizada para conceder permissões para o Fargate. Para tarefas que usam a versão 1.4.0 ou posterior da plataforma do Fargate, a tarefa recebe uma única ENI (conhecida como ENI de tarefa), e todo o tráfego de rede flui por essa ENI dentro da VPC. Esse tráfego é registrado nos seus logs de fluxo da VPC. Para tarefas que usam a versão 1.3.0 e anterior da plataforma, além da ENI de tarefa, a tarefa também recebe uma ENI de propriedade do Fargate separada, que é usada para algum tráfego de rede que não é visível nos logs de fluxo da VPC. A tabela a seguir descreve o comportamento do tráfego de rede e a política do IAM necessária para cada versão da plataforma.
| Ação | Fluxo de tráfego com versão 1.3.0 e anterior da plataforma Linux |
Fluxo de tráfego com versão da plataforma Linux 1.4.0 |
Fluxo de tráfego com versão da plataforma Windows 1.0.0 |
Permissão do IAM |
|---|---|---|---|---|
| Recuperar credenciais de login do Amazon ECR | ENI de propriedade do Fargate | ENI de tarefa | ENI de tarefa | Função do IAM de execução de tarefas |
| Extração de imagem | ENI de tarefa | ENI de tarefa | ENI de tarefa | Função do IAM de execução de tarefas |
| Como enviar logs por meio de um driver de log | ENI de tarefa | ENI de tarefa | ENI de tarefa | Função do IAM de execução de tarefas |
| Enviar logs pelo FireLens para Amazon ECS | ENI de tarefa | ENI de tarefa | ENI de tarefa | Função do IAM de tarefa |
| Recuperar segredos do Secrets Manager ou Systems Manager | ENI de propriedade do Fargate | ENI de tarefa | ENI de tarefa | Função do IAM de execução de tarefas |
| Tráfego do sistema de arquivos do Amazon EFS | Indisponível | ENI de tarefa | ENI de tarefa | Função do IAM de tarefa |
| Tráfego de aplicativos | ENI de tarefa | ENI de tarefa | ENI de tarefa | Função do IAM de tarefa |
Considerações
Considere o seguinte ao usar redes de tarefas:
-
É necessário que a função vinculada ao serviço do Amazon ECS forneça ao Amazon ECS as permissões para fazer chamadas a outros serviços da AWS em seu nome. Essa função será criada quando você criar um cluster ou se criar ou atualizar um serviço no Console de gerenciamento da AWS. Para obter mais informações, consulte Uso de perfis vinculados ao serviço para o Amazon ECS. Também é possível criar a função vinculada ao serviço usando o comando da AWS CLI a seguir.
aws iam create-service-linked-role --aws-service-name ecs.amazonaws.com -
O Amazon ECS preenche o nome de host da tarefa usando a rede de tarefas com um nome de host DNS (interno) fornecido pela Amazon quando as opções
enableDnsHostnameseenableDnsSupportestão habilitadas na sua VPC. Se essas opções não estiverem habilitadas, o nome de host DNS da tarefa será definido como um nome de host aleatório. Para obter mais informações sobre as configurações de DNS para uma VPC, consulte Usar DNS com sua VPC no Guia do usuário da Amazon VPC. -
É possível especificar até 16 sub-redes e 5 grupos de segurança para
awsVpcConfiguration. Para obter mais informações, consulte AwsVpcConfiguration na Referência da API de serviço do contêiner do Amazon Elastic Container Service. -
Você não pode desanexar ou modificar manualmente as ENIs criadas e anexadas pelo Fargate. Isso visa a evitar a exclusão acidental de uma ENI associada a uma tarefa em execução. Para liberar as ENIs para uma tarefa, interrompa-a.
-
Se uma sub-rede de VPC for atualizada para alterar o conjunto de opções de DHCP que ela utiliza, não será possível aplicar essas alterações às tarefas existentes que usarem a VPC. Inicie novas tarefas, que receberão a nova configuração para uma migração tranquila ao testar a nova alteração e, em seguida, interrompa as antigas caso nenhuma reversão seja necessária.
-
O seguinte se aplica às tarefas executadas na plataforma Fargate versão
1.4.0ou posterior para Linux, ou1.0.0para Windows. Tarefas iniciadas em sub-redes de pilha dupla recebem um endereço IPv4 e um endereço IPv6. As tarefas inicializadas em sub-redes somente IPv6 recebem apenas um endereço IPv6. -
Para tarefas que utilizam versão da plataforma
1.4.0ou posterior para Linux ou1.0.0para Windows, as ENIs de tarefas oferecem suporte a frames jumbo. As interfaces de rede são configuradas com uma unidade de transmissão máxima (MTU), que se refere ao tamanho da maior carga útil que cabe em um único quadro. Quanto maior a MTU, maior será a carga útil do aplicativo que pode caber em um único quadro, o que reduz a sobrecarga por quadro e aumenta a eficiência. O suporte a quadros jumbo reduz a sobrecarga quando o caminho de rede entre a tarefa e o destino oferece suporte a quadros jumbo. -
Os serviços com tarefas que usam o Fargate só oferecem suporte ao Application Load Balancer e ao Network Load Balancer. Não há suporte para Classic Load Balancers. Ao criar grupos de destino, você precisa escolher
ipcomo o tipo de destino, e nãoinstance. Para obter mais informações, consulte Uso do balanceamento de carga para distribuir o tráfego de serviço do Amazon ECS.
Usar uma VPC no modo de pilha dupla
Ao usar uma VPC no modo de pilha dupla, suas tarefas podem se comunicar por IPv4, IPv6 ou ambos. Os endereços IPv4 e IPv6 são independentes um do outro e você pode configurar o roteamento e a segurança na VPC separadamente para IPv4 e IPv6. Para obter mais informações sobre como configurar a VPC para o modo de pilha dupla, consulte Migrar para IPv6 no Guia do usuário da Amazon VPC.
As tarefas do Amazon ECS no Fargate receberão um endereço IPv6 se as seguintes condições forem atendidas:
-
A configuração de conta
dualStackIPv6do Amazon ECS está ativada (enabled) para que a entidade principal do IAM execute as tarefas na região em que você está executando suas tarefas. Essa configuração só pode ser modificada usando a API ou a AWS CLI. Você tem a opção de ativar essa configuração para uma entidade principal do IAM específica na conta ou para toda a conta, definindo a configuração padrão da conta. Para obter mais informações, consulte Acesso aos recursos do Amazon ECS com as configurações de conta. -
Sua VPC e sua sub-rede estão habilitadas para IPv6. Para obter mais informações sobre como configurar a VPC para o modo de pilha dupla, consulte Migrar para IPv6 no Guia do usuário da Amazon VPC.
-
Sua sub-rede está habilitada para atribuição automática de endereços IPv6. Para obter mais informações sobre como configurar sua sub-rede, consulte Modificar o atributo de endereçamento IPv6 para a sua sub-rede no Guia do usuário da Amazon VPC.
-
A tarefa ou o serviço utiliza a versão
1.4.0ou posterior da plataforma Fargate para Linux.
As tarefas do Amazon ECS no Fargate executadas em uma VPC no modo de pilha dupla precisam de rotas IPv4 (0.0.0.0/0) para um gateway da Internet ou gateway NAT. Para obter mais informações, consulte Gateways da Internet no Guia do usuário da Amazon VPC.
Usar uma VPC no modo somente IPv6
Em uma configuração somente IPv6, suas tarefas do Amazon ECS se comunicam exclusivamente via IPv6. Para configurar VPCs e sub-redes para uma configuração somente IPv6, adicione um bloco CIDR IPv6 à VPC e crie sub-redes que incluam apenas um bloco CIDR IPv6. Para obter mais informações, consulte Adicionar suporte IPv6 para sua VPC e Criar uma sub-rede no Guia do usuário da Amazon VPC. Atualize também as tabelas de rotas com destinos IPv6 e configure grupos de segurança com regras IPv6. Para obter mais informações, consulte Configurar tabelas de rotas e Configurar regras de grupo de segurança no Guia do usuário da Amazon VPC.
As seguintes considerações se aplicam:
-
Você pode atualizar um serviço somente IPv4 ou de pilha dupla do Amazon ECS para uma configuração somente IPv6 atualizando o serviço diretamente para usar sub-redes somente IPv6 ou criando um serviço somente IPv6 paralelo e usando implantações azul-verde do Amazon ECS para transferir o tráfego para o novo serviço. Para obter mais informações sobre implantações azul/verde do Amazon ECS, consulte Implantações azuis/verdes do Amazon ECS.
-
Um serviço somente IPv6 do Amazon ECS deve usar balanceadores de carga de pilha dupla com grupos-de destino IPv6. Se você estiver migrando um serviço do Amazon ECS existente que está por trás de um Application Load Balancer ou de um Network Load Balancer, será possível criar um novo balanceador de carga de pilha dupla e transferir o tráfego do balanceador de carga antigo ou atualizar o tipo de endereço IP do balanceador de carga existente.
Para obter mais informações sobre Network Load Balancers consulte Criar um Network Load Balancer e Atualizar os tipos de endereço IP do seu Network Load Balancer no Guia do usuário para Network Load Balancers. Para obter mais informações sobre Application Load Balancers, consulte Criar um Application Load Balancer e Atualizar os tipos de endereço IP do seu Application Load Balancer no Guia do usuário para Application Load Balancers.
-
Não há suporte para a configuração somente IPv6 no Windows.
-
Para tarefas do Amazon ECS em uma configuração somente IPv6 para se comunicar com endpoints somente IPv4, você pode configurar DNS64 e NAT64 para converter endereços de rede de IPv6 para IPv4. Para obter mais informações, consulte DNS64 e NAT64, no Guia do usuário da Amazon VPC.
-
A configuração somente IPv6 é compatível com a versão da plataforma
1.4.0ou posterior do Fargate. -
As workloads do Amazon ECS em uma configuração somente IPv6 devem usar endpoints de URI de imagem de pilha dupla do Amazon ECR ao extrair imagens do Amazon ECR. Para obter mais informações, consulte Como começar a fazer solicitações via IPv6 no Guia do usuário do Amazon Elastic Container Registry.
nota
O Amazon ECR não oferece suporte a endpoints da VPC de interface de pilha dupla que as tarefas de uma configuração somente IPv6 possam usar. Para obter mais informações, consulte Como começar a fazer solicitações via IPv6 no Guia do usuário do Amazon Elastic Container Registry.
-
Não há suporte para o Amazon ECS Exec em uma configuração somente IPv6.
-
O Amazon CloudWatch não oferece suporte a um endpoint FIPS de pilha dupla que possa ser usado para monitorar as tarefas do Amazon ECS em configurações somente IPv6 que usam conformidade com FIPS-140. Para obter mais informações sobre FIPS-140, consulte Padrão Federal de Processamento de Informações (FIPS-140) do AWS Fargate.
Regiões da AWS que são compatíveis com o modo somente IPv6 no Amazon ECS
Você pode executar tarefas em uma configuração somente IPv6 nas seguintes Regiões da AWS em que o Amazon ECS está disponível:
Leste dos EUA (Ohio)
Leste dos EUA (Norte da Virgínia)
Oeste dos EUA (Norte da Califórnia)
Oeste dos EUA (Oregon)
África (Cidade do Cabo)
Ásia-Pacífico (Hong Kong)
Ásia-Pacífico (Hyderabad)
Ásia-Pacífico (Jacarta)
Ásia-Pacífico (Melbourne)
Ásia-Pacífico (Mumbai)
Ásia-Pacífico (Osaka)
Ásia-Pacífico (Seul)
Ásia-Pacífico (Singapura)
Ásia-Pacífico (Sydney)
Ásia-Pacífico (Tóquio)
Canadá (Central)
Oeste do Canadá (Calgary)
China (Beijing)
China (Ningxia)
Europa (Frankfurt)
Europa (Londres)
Europa (Milão)
Europe (Paris)
Europa (Espanha)
Israel (Tel Aviv)
Oriente Médio (Bahrein)
Oriente Médio (Emirados Árabes Unidos)
South America (São Paulo)
AWS GovCloud (Leste dos EUA)
AWS GovCloud (Oeste dos EUA)