Instâncias externas (Amazon ECS Anywhere) - Serviço Amazon Elastic Container

Instâncias externas (Amazon ECS Anywhere)

O Amazon ECS Anywhere fornece suporte para registrar uma Instância externa, como um servidor on-premises ou uma máquina virtual (VM), no cluster do Amazon ECS. As instâncias externas são otimizadas para executar aplicações que geram tráfego de saída ou dados de processo. Se sua aplicação exigir tráfego de entrada, a falta de suporte do Elastic Load Balancing torna a execução dessas workloads menos eficiente. O Amazon ECS adicionou um novo tipo de inicialização EXTERNAL que você pode usar para criar serviços ou executar tarefas nas instâncias externas.

A seguir, é mostrada uma visão geral da arquitetura de sistema de alto nível do Amazon ECS Anywhere.


            Diagrama mostrando a arquitetura do Amazon ECS Anywhere.

Sistemas operacionais e arquiteturas de sistema compatíveis

Veja a seguir a lista de sistemas operacionais e arquiteturas de sistemas compatíveis.

  • Amazon Linux 2

  • CentOS 7

    Importante

    O CentOS 8 atingiu seu fim de vida útil (EOL) em 31 de dezembro de 2021 e não tem mais suporte pelo Amazon ECS Anywhere.

  • CentOS Stream 8

  • RHEL 7, RHEL 8: nenhum dos repositórios de pacotes abertos do Docker ou do RHEL oferece suporte à instalação do Docker nativamente no RHEL. É preciso garantir que o Docker esteja instalado antes da execução do script de instalação descrito neste documento.

  • Fedora 32, Fedora 33: o Fedora 32 e o Fedora 33, por padrão, usam cgroups.v2, que não é compatível com o Amazon ECS. Como resultado, a configuração padrão do grub do servidor deve ser alterada e o servidor, reinicializado. Para obter instruções, consulte Alterar a versão do cgroup na documentação do Docker.

  • openSUSE Tumbleweed

  • Ubuntu 18, Ubuntu 20

  • Debian 9, Debian 10

  • SUSE Enterprise Server 15

  • Bottlerocket

  • As arquiteturas de CPU x86_64 e ARM64 são compatíveis.

  • Há suporte para as seguintes versões do sistema operacional Windows:

    • Windows Server 2022

    • Windows Server 2019

    • Windows Server 2016

    • Windows Server 20H2

Considerações

Antes de começar a usar instâncias externas, esteja ciente das seguintes considerações.

  • Você pode registrar uma instância externa em um cluster de cada vez. Para obter instruções sobre como registrar uma instância externa em um cluster diferente, consulte Cancelar o registro de uma instância externa.

  • As instâncias externas exigem uma função do IAM que permita que elas se comuniquem com APIs da AWS. Para mais informações, consulte Permissões obrigatórias do IAM para instâncias externas.

  • As instâncias externas não devem ter uma cadeia de credenciais de instânciaa pré-configurada definida localmente, pois isso interferirá com o script de registro.

  • Para enviar logs de contêiner para o CloudWatch Logs, crie e especifique uma função do IAM de execução de tarefa na definição de tarefa. Para mais informações, consulte Permissões do IAM condicionais.

  • Quando uma instância externa é registrada em um cluster, o atributo ecs.capability.external é associado à instância. Esse atributo identifica a instância como uma instância externa. Você pode adicionar atributos personalizados às instâncias externas para usar como uma restrição de posicionamento de tarefas. Para mais informações, consulte Atributos personalizados.

  • Você pode adicionar etiquetas de recurso à instância externa. Para mais informações, consulte Adicionar etiquetas a uma instância de contêiner externa.

  • Há suporte para o ECS Exec em instâncias externas. Para mais informações, consulte Usar o Amazon ECS Exec para depuração.

  • Veja a seguir considerações adicionais que são específicas para as redes com instâncias externas. Para mais informações, consulte Redes com ECS Anywhere.

    • O balanceamento de carga do serviço não é compatível.

    • A descoberta de serviço não é compatível.

    • Tarefas executadas em instâncias externas devem usar os modos de rede bridge, host ou none. O modo de rede awsvpc não é compatível.

    • Há domínios de serviço do Amazon ECS em cada região da AWS. Esses domínios de serviço devem ter permissão para enviar tráfego para as instâncias externas.

    • O SSM Agent instalado na instância externa mantém as credenciais do IAM que são alternadas a cada 30 minutos com o uso de uma impressão digital de hardware. Se a instância externa perder conexão com a AWS, o SSM Agent atualiza automaticamente as credenciais após a conexão ser restabelecida. Para obter mais informações, consulte Validar servidores on-premises e máquinas virtuais usando uma impressão digital de hardware no Guia do usuário do AWS Systems Manager.

  • A API UpdateContainerAgent não é compatível. Para obter instruções sobre como atualizar o SSM Agent ou o agente do Amazon ECS nas instâncias externas, consulte Atualizar o agente do AWS Systems Manager e o agente de contêiner do Amazon ECS em uma instância externa.

  • Provedores de capacidade do Amazon ECS não são compatíveis. Para criar um serviço ou executar uma tarefa autônoma nas instâncias externas, use o tipo de inicialização EXTERNAL.

  • SELinux não é compatível.

  • Usar volumes do Amazon EFS ou especificar um EFSVolumeConfiguration não é compatível.

  • A integração com o App Mesh não é compatível.

  • Quando você executa o ECS Anywhere no Windows, você deve usar sua própria licença do Windows na infraestrutura on-premises.

Redes com ECS Anywhere

As instâncias externas do Amazon ECS são otimizadas para executar aplicações que geram tráfego de saída ou dados de processo. Se sua aplicação exigir tráfego de entrada, como um serviço da Web, a falta de suporte do Elastic Load Balancing torna a execução dessas workloads menos eficiente porque não há suporte para colocar essas workloads atrás de um balanceador de carga.

Veja a seguir considerações adicionais que são específicas para as redes com instâncias externas.

  • O balanceamento de carga do serviço não é compatível.

  • A descoberta de serviço não é compatível.

  • Tarefas do Linux executadas em instâncias externas devem usar os modos de rede bridge, host ou none. O modo de rede awsvpc não é compatível.

    Para obter mais informações sobre cada modo de rede, consulte Escolher um modo de rede no Guia de práticas recomendadas do Amazon ECS.

  • Tarefas do Windows executadas em instâncias externas devem usar o modo de rede default.

  • Há domínios de serviço do Amazon ECS em cada região da AWS. Esses domínios de serviço devem ter permissão para enviar tráfego para as instâncias externas.

  • O SSM Agent instalado na instância externa mantém as credenciais do IAM que são alternadas a cada 30 minutos com o uso de uma impressão digital de hardware. Se a instância externa perder conexão com a AWS, o SSM Agent atualiza automaticamente as credenciais após a conexão ser restabelecida. Para obter mais informações, consulte Validar servidores on-premises e máquinas virtuais usando uma impressão digital de hardware no Guia do usuário do AWS Systems Manager.

Os domínios a seguir são usados para comunicação entre o serviço do Amazon ECS e o agente do Amazon ECS instalado na instância externa. Certifique-se de que o tráfego seja permitido e que a resolução DNS funcione. Para cada endpoint, região representa o identificador da região da AWS com suporte do Amazon ECS, como us-east-2, para a região Leste dos EUA (Ohio). Os endpoints de todas as regiões que você usa devem ser permitidos. Para os endpoints ecs-a e ecs-t, você deve incluir um asterisco (por exemplo, ecs-a-*).

  • ecs-a-*.region.amazonaws.com: este endpoint é usado quando são gerenciadas tarefas.

  • ecs-t-*.region.amazonaws.com: este endpoint é usado para gerenciar métricas de tarefas e contêineres.

  • ecs.region.amazonaws.com: este é um endpoint de serviço do Amazon ECS.

  • ssm.region.amazonaws.com : este é um endpoint de serviço para o AWS Systems Manager.

  • ec2messages.region.amazonaws.com: este é o endpoint de serviço que o AWS Systems Manager usa para se comunicar entre o agente Systems Manager e o serviço Systems Manager na nuvem.

  • ssmmessages.region.amazonaws.com: este é o endpoint de serviço necessário para criar e excluir canais de sessão com o serviço Session Manager na nuvem.

  • Se as tarefas requerem comunicação com quaisquer outros serviços da AWS, certifique-se de que esses endpoints sejam permitidos. Exemplos da aplicações incluem o uso do Amazon ECR para extrair imagens de contêiner ou o uso do CloudWatch para CloudWatch Logs. Para obter mais informações, consulte Endpoints de serviço na Referência geral da AWS.

Amazon FSx for Windows File Server com ECS Anywhere

Para usar o Amazon FSx for Windows File Server com instâncias externas do Amazon ECS, você deve estabelecer uma conexão do entre seu datacenter on-premises e o Nuvem AWS. Para obter mais informações sobre as opções para conexão de sua rede a sua VPC, consulte Opções de conectividade do Amazon Virtual Private Cloud.

gMSA com ECS Anywhere

Há suporte para os casos de uso a seguir no ECS Anywhere.

  • O Active Directory está na Nuvem AWS: para essa configuração, você cria uma conexão da entre sua rede on-premises e a Nuvem AWS usando uma conexão AWS Direct Connect. Para obter informações sobre como criar a conexão, consulte Opções de conectividade da Amazon Virtual Private Cloud. Você cria um Active Directory na Nuvem AWS. Para obter informações sobre como começar a usar o AWS Directory Service, consulte Configuração doAWS Directory Service no Guia de administração do AWS Directory Service. Em seguida, você pode unir suas instâncias externas ao domínio usando a conexão AWS Direct Connect. Para obter informações sobre como trabalhar com o gMSA com o Amazon ECS, consulte Utilização do gMSAs para contêineres do Windows.

  • O Active Directory está no datacenter on-premises. - Para essa configuração, você une suas instâncias externas ao Active Directory on-premises. Em seguida, você usa as credenciais disponíveis localmente ao executar as tarefas do Amazon ECS.