Recursos do Service Connect para implantações azul/verde do Amazon ECS - Amazon Elastic Container Service

Recursos do Service Connect para implantações azul/verde do Amazon ECS

Ao usar o Service Connect com implantações azul/verde, você precisa configurar componentes específicos para permitir o roteamento de tráfego adequado entre as revisões de serviço azul e verde. Esta seção explica os componentes necessários e suas configurações.

Visão geral da arquitetura

O Service Connect cria recursos de descoberta de serviços e de malha de serviços por meio de um proxy sidecar gerenciado que é injetado automaticamente em suas tarefas do Amazon ECS. Esses proxies processam decisões de roteamento, novas tentativas e coleta de métricas, enquanto o AWS Cloud Map fornece o backend do registro de serviços. Quando você implanta um serviço com o Service Connect habilitado, o serviço se registra no AWS Cloud Map, e os serviços do cliente o descobrem por meio do namespace.

Em uma implementação padrão do Service Connect, os serviços do cliente se conectam aos nomes lógicos dos serviços, e o proxy sidecar gerencia o roteamento para as instâncias reais do serviço. Com implantações azul/verde, esse modelo é estendido para incluir roteamento de tráfego de teste por meio da configuração testTrafficRules.

Durante uma implantação azul/verde, os seguintes componentes-chave funcionam juntos:

  • Proxy do Service Connect: todo o tráfego entre os serviços passa pelo proxy do Service Connect, que toma decisões de roteamento com base na configuração.

  • Registro do AWS Cloud Map: as implantações azul e verde são registradas com o AWS Cloud Map, mas a implantação verde é inicialmente registrada como um endpoint de “teste”.

  • Roteamento de tráfego de teste: testTrafficRules na configuração do Service Connect determina como identificar e rotear o tráfego de teste para a implantação verde. Isso é feito por meio do roteamento baseado em cabeçalho, em que cabeçalhos HTTP específicos nas solicitações direcionam o tráfego para a revisão de teste. Por padrão, o Service Connect reconhece o cabeçalho x-amzn-ecs-blue-green-test dos protocolos baseados em HTTP quando nenhuma regra personalizada é especificada.

  • Configuração do cliente: todos os clientes no namespace recebem automaticamente as rotas de produção e teste, mas somente as solicitações que correspondam às regras de teste serão enviadas para a implantação verde.

O que torna essa abordagem eficaz é que ela lida com a complexidade da descoberta de serviços durante as transições. À medida que o tráfego muda da implantação azul para a verde, todos os mecanismos de conectividade e descoberta são atualizados automaticamente. Não há necessidade de atualizar registros DNS, reconfigurar balanceadores de carga ou implantar alterações de descoberta de serviços separadamente, pois a malha de serviços cuida de tudo isso.

Roteamento e teste de tráfego

O Service Connect fornece recursos avançados de roteamento de tráfego para implantações azul/verde, incluindo roteamento baseado em cabeçalho e configuração de alias de cliente para cenários de teste.

Teste as regras do cabeçalho de tráfego

Durante implantações em azul/verde, você pode configurar regras de cabeçalho de tráfego de teste para rotear solicitações específicas para a revisão de serviço verde (nova) para fins de teste. Isso permite que você valide a nova versão com tráfego controlado antes de concluir a implantação.

O Service Connect usa roteamento baseado em cabeçalho para identificar o tráfego de teste. Por padrão, o Service Connect reconhece o cabeçalho x-amzn-ecs-blue-green-test dos protocolos baseados em HTTP quando nenhuma regra personalizada é especificada. Quando esse cabeçalho estiver presente em uma solicitação, o proxy do Service Connect roteará automaticamente a solicitação para a implantação verde para teste.

As regras de cabeçalho de tráfego de teste permitem que você:

  • Encaminhe solicitações com cabeçalhos específicos para a revisão do serviço verde

  • Teste novas funcionalidades com um subconjunto do tráfego

  • Valide o comportamento do serviço antes da substituição total do tráfego

  • Implemente estratégias de teste de canário

  • Realize testes de integração em um ambiente semelhante ao de produção

O mecanismo de roteamento baseado em cabeçalho funciona perfeitamente com sua arquitetura de aplicação existente. Os serviços do cliente não precisam estar cientes do processo de implantação azul/verde. Eles simplesmente incluem os cabeçalhos apropriados ao enviar solicitações de teste, e o proxy do Service Connect processa a lógica de roteamento automaticamente.

Para obter mais informações sobre como configurar as regras de cabeçalho de tráfego de teste, consulte ServiceConnectTestTrafficHeaderRulesna Referência de APIs do Amazon Elastic Container Service.

Regras de correspondência de cabeçalho

As regras de correspondência de cabeçalho definem os critérios para rotear o tráfego de teste durante implantações azul/verde. Você pode configurar várias condições de correspondência para controlar com precisão quais solicitações são encaminhadas para a revisão do serviço verde.

A correspondência de cabeçalhos é compatível com:

  • Correspondência exata do valor do cabeçalho

  • Verificação de presença de cabeçalho

  • Correspondência baseada em padrões

  • Várias combinações de cabeçalhos

Exemplos de casos de uso incluem o encaminhamento de solicitações com strings específicas do agente do usuário, versões de API ou sinalizadores de recursos para o serviço verde para testes.

Para obter mais informações sobre como configurar a correspondência de cabeçalhos, consulte ServiceConnectTestTrafficHeaderMatchRulesna Referência de APIs do Amazon Elastic Container Service.

Aliases de cliente para implantações azul/verde

Os aliases de cliente fornecem endpoints de DNS estáveis para serviços durante implantações azul/verde. Eles permitem o roteamento contínuo do tráfego entre as revisões de serviço azul e verde sem exigir que as aplicações do cliente alterem seus endpoints de conexão.

Durante uma implantação azul/verde, os aliases de cliente:

  • Mantêm os nomes de DNS consistentes para conexões de clientes

  • Habilitam a mudança automática de tráfego entre as revisões de serviço

  • Suportam estratégias graduais de migração de tráfego

  • Fornecem recursos de reversão redirecionando o tráfego para a revisão azul

Você pode configurar vários aliases de cliente para portas ou protocolos diferentes, permitindo que arquiteturas de serviços complexas mantenham a conectividade durante as implantações.

Para obter mais informações sobre a configuração de aliases de cliente, consulte ServiceConnectClientAlias na Referência de APIs do Amazon Elastic Container Service.

Práticas recomendadas para roteamento de tráfego

Ao implementar o roteamento de tráfego para implantações azul/verde com o Service Connect, considere as seguintes práticas recomendadas:

  • Comece com testes baseados em cabeçalhos: use regras de cabeçalho de tráfego de teste para validar o serviço verde com tráfego controlado antes de mudar todo o tráfego.

  • Configure verificações de integridade: garanta que os serviços azul e verde tenham verificações de integridade apropriadas configuradas para evitar o roteamento de tráfego para instâncias não íntegras.

  • Monitore as métricas de serviço: acompanhe os principais indicadores de performance de ambas as revisões de serviço durante a implantação para identificar problemas antecipadamente.

  • Planeje a estratégia de reversão: configure aliases de cliente e regras de roteamento para permitir a rápida reversão para o serviço azul se forem detectados problemas.

  • Teste a lógica de correspondência de cabeçalhos: valide suas regras de correspondência de cabeçalhos em um ambiente não de produção antes de aplicá-las às implantações de produção.

Fluxo de trabalho de implantação azul/verde do Service Connect

Entender como o Service Connect gerencia o processo de implantação azul/verde ajuda você a implementar e solucionar problemas de suas implantações de forma eficaz. O fluxo de trabalho a seguir mostra como os diferentes componentes interagem durante cada fase da implantação.

Fases da implantação

A implantação azul/verde do Service Connect avança em várias fases distintas:

  1. Estado inicial: o serviço azul processa 100% do tráfego de produção. Todos os serviços de cliente no namespace se conectam ao serviço azul por meio do nome lógico do serviço configurado no Service Connect.

  2. Registro de serviço verde: quando a implantação verde é iniciada, ela é registrada com o AWS Cloud Map como um endpoint de “teste”. O proxy do Service Connect nos serviços do cliente recebe automaticamente as configurações de rota de produção e teste.

  3. Roteamento de tráfego de teste: as solicitações contendo os cabeçalhos de tráfego de teste (como x-amzn-ecs-blue-green-test) são automaticamente roteadas para o serviço verde pelo proxy do Service Connect. O tráfego de produção continua fluindo para o serviço azul.

  4. Preparação da mudança de tráfego: após o teste bem-sucedido, o processo de implantação se prepara para a mudança do tráfego de produção. Tanto o serviço azul quanto o verde permanecem registrados e íntegros.

  5. Mudança de tráfego de produção: a configuração do Service Connect é atualizada para direcionar o tráfego de produção para o serviço verde. Isso acontece automaticamente sem exigir atualizações do serviço do cliente ou alterações no DNS.

  6. Período de tempo de incorporação: a duração em que as revisões de serviço azul e verde são executadas simultaneamente após a mudança do tráfego de produção.

  7. Cancelamento do registro do serviço azul: após a validação e a mudança de tráfego bem-sucedidas, o registro do serviço azul é cancelado do AWS Cloud Map e encerrado, concluindo a implantação.

Comportamento do proxy do Service Connect

O proxy do Service Connect desempenha um papel crucial no gerenciamento do tráfego durante implantações azul/verde. Compreender seu comportamento ajuda você a projetar estratégias eficazes de teste e implantação.

Principais comportamentos do proxy durante implantações azul/verde:

  • Descoberta automática de rotas: o proxy descobre automaticamente as rotas de produção e teste do AWS Cloud Map sem exigir a reinicialização da aplicação ou alterações na configuração.

  • Roteamento baseado em cabeçalho: o proxy examina os cabeçalhos das solicitações recebidas e encaminha o tráfego para a revisão de serviço apropriada com base nas regras de tráfego de teste configuradas.

  • Integração da verificação de integridade: o proxy direciona o tráfego somente para instâncias de serviço íntegras, excluindo automaticamente tarefas não íntegras do grupo de roteamento.

  • Repetição e interrupção de circuito: o proxy fornece lógica de repetição integrada e recursos de interrupção de circuito, melhorando a resiliência durante as implantações.

  • Coleta de métricas: o proxy coleta métricas detalhadas para o serviço azul e o verde, permitindo um monitoramento abrangente durante as implantações.

Atualizações da descoberta de serviços

Uma das principais vantagens de usar o Service Connect para implantações azul/verde é o processamento automático das atualizações de descoberta de serviços. As implantações tradicionais azul/verde geralmente exigem atualizações complexas de DNS ou a reconfiguração do balanceador de carga, mas o Service Connect gerencia essas alterações de forma transparente.

Durante uma implantação, o Service Connect processa:

  • Atualizações de namespace: o namespace do Service Connect inclui automaticamente endpoints do serviço azul e do verde, com as regras de roteamento apropriadas.

  • Configuração do cliente: todos os serviços do cliente no namespace recebem automaticamente informações de roteamento atualizadas sem exigir reinicializações ou reimplantação.

  • Transição gradual: as atualizações da descoberta de serviços acontecem de forma gradual e segura, garantindo que não haja interrupções nas solicitações em andamento.

  • Suporte à reversão: se uma reversão for necessária, o Service Connect poderá reverter rapidamente as configurações da descoberta de serviços para direcionar o tráfego de volta para o serviço azul.