Visão geral da configuração do Amazon ECS Service Connect - Amazon Elastic Container Service

Visão geral da configuração do Amazon ECS Service Connect

Ao usar o Service Connect, existem parâmetros que você precisa configurar em seus recursos.

A tabela a seguir descreve os parâmetros de configuração dos recursos do Amazon ECS.

Local dos parâmetros Tipo de aplicação Descrição Obrigatório
definição da tarefa Cliente Não há alterações disponíveis para o Service Connect nas definições de tarefa do cliente. N/D
definição da 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 da 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 obter 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 obter 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. 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
Visão geral das etapas para configurar o Service Connect

As etapas apresentadas a seguir fornecem uma visão geral de como configurar o Service Connect.

Importante
  • O Service Connect cria serviços do AWS Cloud Map em sua conta. Modificar esses recursos AWS Cloud Map 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 da sua aplicação ou em implantações subsequentes.

  • O Service Connect não oferece suporte a links na definição de 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 com um namespace do AWS Cloud Map, use um namespace compartilhado ou crie o namespace separadamente. Para uma organização simples, crie um cluster 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 Service Connect não usa nem cria zonas hospedadas por 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 no Amazon CloudWatch.

Configuração do cluster

É possível configurar um namespace padrão para o Service Connect ao criar ou ao atualizar o cluster. O nome do namespace que você especifica como padrão pode estar na mesma Região da AWS e conta ou na mesma Região da AWS e ser compartilhado por outra Conta da AWS usando o AWS Resource Access Manager.

Se você criar um cluster e especificar um namespace padrão do Service Connect, o cluster aguardará no status PROVISIONING enquanto o Amazon ECS cria o namespace. É possível ver um attachment no status do cluster que mostra o status do namespace. Os anexos não são exibidos por padrão na AWS CLI. Você deve adicionar --include ATTACHMENTS para vê-los.

Se você quiser usar um namespace compartilhado com sua Conta da AWS usando o AWS RAM, especifique o nome do recurso da Amazon (ARN) do namespace na configuração do cluster. Para obter mais informações sobre o uso de namespaces compartilhados do AWS Cloud Map, consulte Amazon ECS Service Connect com Namespaces compartilhados do AWS Cloud Map.

Configuração de serviço

O Service Connect foi projetado para exigir a configuração mínima. Você precisa definir um nome para cada mapeamento de porta que você gostaria de usar com o Service Connect na definição da tarefa. No serviço, você precisa ativar o Service Connect e selecionar um namespace em sua Conta da AWS ou um namespace compartilhado para criar um serviço de cliente. Para criar um serviço de cliente-servidor, você precisa adicionar uma única configuração do serviço do Service Connect que corresponda ao nome de um dos mapeamentos de porta. O Amazon ECS reutiliza o número da porta e o nome da porta da definição da tarefa para definir o serviço e o endpoint do Service Connect. Para substituir esses valores, você pode usar os outros parâmetros Descoberta, DNS e Porta no console ou discoveryName e clientAliases, respectivamente, na API do Amazon ECS.

Configuração da verificação de integridade inicial

O Service Connect garante que as tarefas estejam íntegras antes de rotear o tráfego para elas. Quando uma tarefa é iniciada (durante implantações, escala ou substituições), o Service Connect monitora a integridade da tarefa para garantir que ela esteja pronta para aceitar tráfego. Você deve definir verificações de integridade para o contêiner essencial em sua definição de tarefa para permitir esse comportamento.

O comportamento da verificação de integridade inicial explica possíveis atrasos na obtenção do estado em que uma tarefa está pronta para aceitar tráfego:

  • Se uma tarefa for HEALTHY, ela estará imediatamente disponível para o tráfego.

  • Se a integridade de uma tarefa for UNKNOWN, o Service Connect seguirá a configuração de verificação de integridade (consulte Verificação de integridade) dos contêineres essenciais da tarefa para calcular um tempo limite, de até 8 minutes, antes de disponibilizá-la para o tráfego, mesmo que ela permaneça UNKNOWN.

  • Se uma tarefa for UNHEALTHY, o Amazon ECS poderá iniciar tarefas de substituição. Se nenhuma tarefa íntegra estiver disponível, sua implantação poderá ser revertida com base na configuração do serviço.

Para todo o tráfego contínuo, o Service Connect usa verificações de integridade passivas com base na detecção de valores discrepantes para rotear o tráfego com eficiência.