

# Recursos do Service Connect para implantações azul/verde, linear e canário do Amazon ECS
<a name="service-connect-blue-green"></a>

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
<a name="service-connect-blue-green-architecture"></a>

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
<a name="service-connect-blue-green-traffic-routing"></a>

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
<a name="service-connect-test-traffic-header-rules"></a>

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 [ServiceConnectTestTrafficHeaderRules](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ServiceConnectTestTrafficHeaderRules.html)na *Referência de APIs do Amazon Elastic Container Service*.

### Regras de correspondência de cabeçalho
<a name="service-connect-header-match-rules"></a>

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 [ServiceConnectTestTrafficHeaderMatchRules](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ServiceConnectTestTrafficHeaderMatchRules.html)na *Referência de APIs do Amazon Elastic Container Service*.

### Aliases de cliente para implantações azul/verde
<a name="service-connect-client-alias-blue-green"></a>

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](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ServiceConnectClientAlias.html) na *Referência de APIs do Amazon Elastic Container Service*.

### Práticas recomendadas para roteamento de tráfego
<a name="service-connect-blue-green-best-practices"></a>

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
<a name="service-connect-blue-green-workflow"></a>

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 name="service-connect-deployment-phases"></a>

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.

1. **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.

1. **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.

1. **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.

1. **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.

1. **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.

1. **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
<a name="service-connect-proxy-behavior"></a>

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
<a name="service-connect-service-discovery-updates"></a>

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.