Service Connect - Amazon Elastic Container Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Service Connect

O Amazon ECS Service Connect fornece gerenciamento de service-to-service comunicação como configuração do Amazon ECS. Ele faz isso ao criar uma descoberta de serviços e uma malha de serviços no Amazon ECS. Isso fornece a configuração completa dentro de cada serviço do Amazon ECS que você gerencia por meio de implantações de serviços, uma forma unificada de se referir aos seus serviços dentro de namespaces que não depende da configuração DNS da Amazon VPC e métricas e logs padronizados para monitorar todas as suas aplicações no Amazon ECS. O Amazon ECS Service Connect só interconecta serviços do Amazon ECS.

O diagrama a seguir mostra um exemplo de rede do Service Connect com duas sub-redes na VPC e dois serviços. Um serviço de cliente executado WordPress com 1 tarefa em cada sub-rede. Um serviço de servidor que executa o MySQL com uma tarefa em cada sub-rede. Ambos os serviços são altamente disponíveis e resilientes a problemas de tarefas e zonas de disponibilidade, pois cada serviço executa várias tarefas espalhadas por duas sub-redes. As setas sólidas mostram uma conexão com WordPress o MySQL. Por exemplo, um comando mysql --host=mysql CLI executado de dentro do WordPress contêiner na tarefa com o endereço IP. 172.31.16.1 O comando usa o nome curto mysql na porta padrão do MySQL. O nome e a porta se conectam ao proxy do Service Connect na mesma tarefa. O proxy na WordPress tarefa usa balanceamento de carga round-robin e qualquer informação de falha anterior na detecção de valores discrepantes para escolher a qual tarefa do MySQL se conectar. Conforme mostrado pelas setas sólidas no diagrama, o proxy se conecta ao segundo proxy na tarefa do MySQL com o endereço IP 172.31.16.2. O segundo proxy se conecta ao servidor MySQL local na mesma tarefa. Ambos os proxies relatam o desempenho da conexão que é visível em gráficos nos consoles Amazon ECS e CloudWatch Amazon para que você possa obter métricas de desempenho de todos os tipos de aplicativos da mesma forma.


            Exemplo de rede do Service Connect mostrando serviços mínimos de HA
Visão geral das etapas para configurar o Service Connect

Siga estas etapas para configurar o Service Connect para um grupo de serviços relacionados.

Importante
  • O Amazon ECS Service Connect cria AWS Cloud Map serviços em sua conta. Modificar esses AWS Cloud Map recursos registrando/cancelando manualmente o registro de instâncias, alterando os atributos da instância ou excluindo um serviço pode causar um comportamento inesperado no tráfego do seu aplicativo ou em implantações subsequentes.

  • O Amazon ECS Service Connect não oferece suporte a links na definição da tarefa.

  1. Adicione os nomes das portas aos mapeamentos das portas nas definições das suas tarefas. Além disso, você pode identificar o protocolo de camada 7 da aplicação para obter métricas adicionais.

  2. Crie um cluster ECS com um AWS Cloud Map namespace ou crie o namespace separadamente. Para uma organização simples, crie um cluster do Amazon ECS com o nome desejado para o namespace e especifique o nome idêntico para o namespace. Nesse caso, o Amazon ECS cria um novo namespace HTTP com a configuração necessária. O Amazon ECS Service Connect não usa nem cria zonas hospedadas no DNS no Amazon Route 53.

  3. Configure serviços para criar endpoints do Service Connect dentro do namespace.

  4. Implemente serviços para criar os endpoints. O Amazon ECS adiciona um contêiner do proxy do Service Connect a cada tarefa e cria os endpoints do Service Connect no AWS Cloud Map. Esse contêiner não é configurado na definição da tarefa e a definição da tarefa pode ser reutilizada sem modificação para criar vários serviços no mesmo namespace ou em vários namespaces.

  5. Implemente aplicações clientes como serviços para conexão aos endpoints. O Amazon ECS as conecta a endpoints do Service Connect por meio do proxy do Service Connect de cada tarefa.

    As aplicações só usam o proxy para se conectar aos endpoints do Service Connect. Não há configuração adicional para usar o proxy. O proxy executa balanceamento de carga round-robin, detecção de valores discrepantes e novas tentativas. Para obter mais informações sobre o proxy, consulte Proxy do Service Connect.

  6. Monitore o tráfego por meio do proxy Service Connect na Amazon CloudWatch.

Regiões com Service Connect

O Amazon ECS Service Connect está disponível nas seguintes AWS regiões:

Nome da região Região

Leste dos EUA (Ohio)

us-east-2

Leste dos EUA (N. da Virgínia)

us-east-1

Oeste dos EUA (N. da Califórnia)

us-west-1

Oeste dos EUA (Oregon)

us-west-2

África (Cidade do Cabo)

af-south-1

Ásia-Pacífico (Hong Kong)

ap-east-1

Ásia-Pacífico (Jacarta)

ap-southeast-3

Ásia-Pacífico (Mumbai)

ap-south-1

Ásia-Pacífico (Hyderabad)

ap-south-2

Asia Pacific (Osaka)

ap-northeast-3

Ásia-Pacífico (Seul)

ap-northeast-2

Ásia-Pacífico (Singapura)

ap-southeast-1

Ásia-Pacífico (Sydney)

ap-southeast-2

Ásia-Pacífico (Melbourne)

ap-southeast-4

Ásia-Pacífico (Tóquio)

ap-northeast-1

Canadá (Central)

ca-central-1

Oeste do Canadá (Calgary)

ca-west-1

China (Pequim)

cn-north-1 (Observação: o TLS para Service Connect não está disponível nesta região.)

China (Ningxia)

cn-northwest-1 (Observação: o TLS para Service Connect não está disponível nesta região.)

Europa (Frankfurt)

eu-central-1

Europa (Irlanda)

eu-west-1

Europa (Londres)

eu-west-2

Europa (Paris)

eu-west-3

Europa (Milão)

eu-south-1

Europa (Espanha)

eu-south-2

Europa (Estocolmo)

eu-north-1

Europa (Zurique)

eu-central-2

Israel (Tel Aviv)

il-central-1

Oriente Médio (Barém)

me-south-1

Oriente Médio (Emirados Árabes Unidos)

me-central-1

América do Sul (São Paulo)

sa-east-1

Considerações sobre o Service Connect

  • Contêineres do Windows não são compatíveis com o Service Connect.

  • Tarefas executadas no Fargate devem usar a versão 1.4.0 ou superior da plataforma Linux do Fargate para usar o Service Connect.

  • A versão do agente do ECS na instância de contêiner deve ser 1.67.2 ou superior.

  • As instâncias de contêiner devem executar a versão 20230428 ou posterior da AMI do Amazon Linux 2023 otimizada para o Amazon ECS, ou a versão 2.0.20221115 da AMI do Amazon Linux 2 otimizada para o Amazon ECS para usar o Service Connect. Essas versões têm o agente do Service Connect, além do agente de contêiner do Amazon ECS. Para obter mais informações sobre o agente Service Connect, consulte Amazon ECS Service Connect Agent on GitHub.

  • As instâncias de contêiner devem ter a permissão ecs:Poll para o recurso arn:aws:ecs:region:0123456789012:task-set/cluster/*. Se você estiver usando ecsInstanceRole, não precisará adicionar outras permissões. A política gerenciada AmazonEC2ContainerServiceforEC2Role tem as permissões necessárias. Para ter mais informações, consulte Função do IAM de instância de contêiner do Amazon ECS.

  • Instâncias de contêiner External para Amazon ECS Anywhere não são compatíveis com o Service Connect.

  • Somente serviços que usam implantações contínuas são compatíveis com o Service Connect. Os serviços que usam os tipos de implantação azul/verde e externa não são compatíveis.

  • As definições de tarefa devem definir o limite de memória da tarefa para usar o Service Connect. Para ter mais informações, consulte Proxy do Service Connect.

  • As definições de tarefa que definem limites de memória para todos os contêineres em vez de definir o limite de memória da tarefa não são compatíveis.

    É possível definir limites de memória nos seus contêineres, mas deve definir o limite de memória da tarefa como um número maior que a soma dos limites de memória dos contêineres. A CPU e a memória adicionais nos limites de tarefas que não são alocadas nos limites de contêineres são usadas pelo contêiner do proxy do Service Connect e por outros contêineres que não definem limites de contêineres. Para ter mais informações, consulte Proxy do Service Connect.

  • Você pode configurar o Service Connect em um serviço para usar qualquer AWS Cloud Map namespace Região da AWS no mesmo. Conta da AWS

  • Cada serviço do Amazon ECS pode pertencer a apenas um namespace.

  • Somente as tarefas criadas pelos serviços do Amazon ECS são compatíveis. Tarefas autônomas não podem ser configuradas para o Service Connect.

  • Todos os endpoints devem ser exclusivos dentro de um namespace.

  • Todos os nomes de descoberta devem ser exclusivos dentro de um namespace.

  • Os serviços existentes devem ser reimplantados antes que as aplicações neles contidas possam resolver novos endpoints. Novos endpoints adicionados ao namespace após a implantacão mais recente não serão adicionados à configuração da tarefa. Para ter mais informações, consulte Ordem de implantação.

  • É possível criar um namespace ao criar um novo cluster. O Amazon ECS Service Connect não exclui namespaces quando clusters são excluídos. Você deve excluir namespaces diretamente AWS Cloud Map se tiver terminado de usá-los.

  • O Service Connect não oferece suporte a HTTP 1.0.

  • O tráfego do Application Load Balancer usa como padrão o roteamento por meio do agente Service Connect no modo de rede. awsvpc Se você quiser que o tráfego que não seja de serviço ignore o agente do Service Connect, use o ingressPortOverride parâmetro na configuração do serviço Service Connect.

Experiência do console do Service Connect

Para criar um novo namespace, crie um novo cluster do Amazon ECS usando o console do Amazon ECS e especifique um nome de namespace para criar, ou use o console. AWS Cloud Map O Amazon ECS Service Connect pode usar qualquer tipo de AWS Cloud Map namespace de descoberta de instância. Recomendamos o tipo de chamadas de API para gerar a quantidade mínima de recursos adicionais. Para criar um novo cluster e um namespace do Amazon ECS no console do Amazon ECS, consulte Criação de um cluster para o tipo de inicialização do Fargate e externo usando o console.

Cada AWS Cloud Map namespace neste item selecionado Região da AWS é exibido Conta da AWS nos namespaces no console do Amazon ECS.

Para excluir um namespace, use o AWS Cloud Map console. Um namespace deve estar vazio antes de poder ser excluído.

Para criar uma nova definição de tarefa do Amazon ECS ou registrar uma nova revisão em uma definição de tarefa existente e usar o Service Connect, consulte Criação de uma definição de tarefa usando o console.

Para criar um novo serviço do Amazon ECS que use o Service Connect, consulte Criar um serviço usando o console.

Preços do Service Connect

Os preços do Amazon ECS Service Connect dependem de você usar AWS Fargate ou não a infraestrutura do Amazon EC2 para hospedar suas cargas de trabalho em contêineres. Ao usar o Amazon ECS on AWS Outposts, os preços seguem o mesmo modelo usado quando você usa o Amazon EC2 diretamente. Para obter mais informações, consulte Preços do Amazon ECS.

AWS Cloud Map o uso é totalmente gratuito quando consumido por meio do Amazon ECS Service Connect.

Parâmetros do Service Connect

Os parâmetros a seguir têm campos extras quando o Service Connect é usado.

Local dos parâmetros Tipo de aplicação Descrição Obrigatório?
Definição de tarefa Cliente Não há alterações disponíveis para o Service Connect nas definições de tarefa do cliente. N/D
Definição de tarefa Cliente-servidor Os servidores devem adicionar campos name às portas nos portMappings de contêineres. Para obter mais informações, consulte portMappings. Sim
Definição de tarefa Cliente-servidor Opcionalmente, os servidores podem fornecer um protocolo de aplicação (por exemplo, HTTP) para receber métricas específicas do protocolo para suas aplicações de servidor (por exemplo, HTTP 5xx). Não
Definição de serviço Cliente Os serviços do cliente devem adicionar uma serviceConnectConfiguration para configurar o namespace a ser associado. Esse namespace deve conter todos os serviços de servidor que esse serviço precisa descobrir. Para ter mais informações, consulte serviceConnectConfiguration. Sim
Definição de serviço Cliente-servidor Os serviços do servidor devem adicionar uma serviceConnectConfiguration para configurar os nomes de DNS, números de portas e namespace nos quais o serviço está disponível. Para ter mais informações, consulte serviceConnectConfiguration. Sim
Cluster Cliente Os clusters podem adicionar um namespace padrão do Service Connect. Novos serviços no cluster herdam o namespace quando o Service Connect é configurado em um serviço. Para obter mais informações, consulte Clusters do Amazon ECS. Não
Cluster Cliente-servidor Não há alterações disponíveis para o Service Connect em clusters que se aplicam aos serviços de servidor. As definições de tarefa e os serviços do servidor devem definir a respectiva configuração. N/D