Opções de redes de tarefas do Amazon ECS para o tipo de inicialização do Fargate - Amazon Elastic Container Service

Opções de redes de tarefas do Amazon ECS para o tipo de inicialização do 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 VPCs e sub-redes 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 AWS PrivateLink no Guia de práticas recomendadas do Amazon ECS.

Consulte exemplos de como usar o recurso NetworkConfiguration com o AWS CloudFormation, consulte Criar recursos do Amazon ECS usando pilhas separadas.

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 1.4.0 da plataforma Linux Fluxo de tráfego com versão 1.0.0 da plataforma Windows 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 AWS Management Console. Para ter 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 enableDnsHostnames e enableDnsSupport estã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.

  • Tarefas iniciadas em sub-redes com blocos CIDR IPv6 só recebem um endereço IPv6 ao ser usada a versão da plataforma do Fargate 1.4.0 ou posterior para Linux ou 1.0.0 para Windows.

  • Para tarefas que utilizam versão da plataforma 1.4.0 ou posterior para Linux ou 1.0.0 para 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 tipo de inicialização do Fargate) só oferecem suporte a Application Load Balancers e Network Load Balancers. Não há suporte para Classic Load Balancers. Ao criar grupos de destino, você precisa escolher ip como o tipo de destino, e não instance. Para ter 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 dualStackIPv6 do 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 ter 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.0 ou posterior da plataforma Fargate para Linux.

Se você configurar sua VPC com um gateway da Internet ou um gateway da Internet somente saída, as tarefas do Amazon ECS no Fargate que receberem um endereço IPv6 poderão acessar a Internet. Não são necessários gateways NAT. Para obter mais informações, consulte Gateways da Internet e Gateways da Internet somente de saída no Guia do usuário da Amazon VPC.