Migração de uma implantação de serviço azul/verde do CodeDeploy para uma do Amazon ECS - Amazon Elastic Container Service

Migração de uma implantação de serviço azul/verde do CodeDeploy para uma do Amazon ECS

Ao usar implantações azul/verde do Amazon ECS, você pode fazer e testar alterações no serviço antes de implementá-las em um ambiente de produção.

Você deve criar novos ganchos do ciclo de vida para a implantação azul/verde do Amazon ECS.

Pré-requisitos

Execute as operações a seguir antes de iniciar uma implantação azul/verde.

  1. Substitua o perfil do IAM do CodeDeploy para Amazon ECS pelas seguintes permissões.

  2. Desative a automação do CodeDeploy. Para obter mais informações, consulte Working with deployment groups in CodeDeploy no Guia do usuário do CodeDeploy.

  3. Certifique-se de ter as informações a seguir da sua implantação azul/verde do CodeDeploy. Você pode reutilizar essas informações para a implantação azul/verde do Amazon ECS:

    • O grupo de destino de produção

    • O receptor de produção

    • A regra de produção

    • O grupo de destino de teste

      Este é o grupo de destino para a revisão do serviço verde.

  4. Certifique-se de que seus grupos de destino do Application Load Balancer estejam associados adequadamente às regras de receptor:

    • Se você não estiver usando receptores de teste, os dois grupos de destino (produção e teste) devem ser associados às regras de receptores de produção.

    • Se você estiver usando receptores de teste, um grupo de destino deve estar vinculado às regras de receptores de produção, e o outro grupo de destino deve estar vinculado às regras de receptores de teste.

    Se esse requisito não for atendido, a implantação do serviço falhará com o seguinte erro: Service deployment rolled back because of invalid networking configuration. Both targetGroup and alternateTargetGroup must be associated with the productionListenerRule or testListenerRule.

  5. Verifique se não há implantações de serviço em andamento para o serviço. Para obter mais informações, consulte Visualize o histórico de serviços usando implantações de serviços do Amazon ECS.

  6. As implantações azul/verde do Amazon ECS exigem que seu serviço use um dos recursos a seguir. Configure os recursos apropriados.

  7. Decida se você deseja executar funções do Lambda para os estágios do ciclo de vida na implantação azul/verde do Amazon ECS.

    • Antes de aumentar a escala verticalmente

    • Depois de aumentar a escala verticalmente

    • Mudança do tráfego de teste

    • Depois da mudança do tráfego de teste

    • Mudança do tráfego de produção

    • Depois da mudança do tráfego de produção

    Crie funções do Lambda para cada estágio do ciclo de vida. Para obter mais informações, consulte Criar uma função do Lambda com o console no Guia do desenvolvedor do AWS Lambda.

Para obter mais informações sobre como atualizar o controlador de implantação de um serviço, consulte Atualizar parâmetros de serviço do Amazon ECS.

Procedimento

  1. Abra o console em https://console.aws.amazon.com/ecs/v2.

  2. Na página Clusters, escolha o cluster.

    A página de detalhes do cluster é exibida.

  3. Na guia Serviços, escolha o serviço.

    A página de detalhes do serviço é exibida.

  4. No banner, escolha Atualizar tipo de controlador de implantação.

    A página Migrar tipo de controlador de implantação é exibida.

  5. Expanda Novo e especifique os parâmetros a seguir.

    1. Em Tipo de controlador de implantação, escolha ECS.

    2. Em Estratégia de implantação, escolha Azul/verde.

    3. Em Tempo de incorporação, insira o tempo em que as revisões de serviço azul e verde são executadas.

    4. Para executar funções do Lambda em um estágio do ciclo de vida, em Ganchos do ciclo de vida de implantação, faça o seguinte para cada função exclusiva do Lambda:

      1. Escolha Adicionar.

        Repita o procedimento para cada função exclusiva que você deseja executar.

      2. Em Função do Lambda, insira o nome da função.

      3. Em Perfil, escolha o perfil que você criou nos pré-requisitos com as permissões azul/verde.

        Para obter mais informações, consulte Permissões necessárias para funções do Lambda em implantações azul/verde do Amazon ECS.

      4. Em Estágios do ciclo de vida, selecione os estágios que a função do Lambda executa.

      5. (Opcional) Em Detalhes do gancho, insira um par de chave/valor que forneça informações sobre o gancho.

  6. Expanda o Balanceamento de carga e configure o seguinte:

    1. Em Perfil, escolha o perfil que você criou nos pré-requisitos com as permissões azul/verde.

      Para obter mais informações, consulte Permissões necessárias para funções do Lambda em implantações azul/verde do Amazon ECS.

    2. Em Receptor, escolha o receptor de produção da sua implantação azul/verde do CodeDeploy.

    3. Em Regra de produção, escolha a regra de produção da sua implantação azul/verde do CodeDeploy.

    4. Em Regra de teste, escolha a regra de teste da sua implantação azul/verde do CodeDeploy.

    5. Em Grupo de destino, escolha o grupo de destino de produção em sua implantação azul/verde do CodeDeploy.

    6. Em Grupo de destino alternativo, escolha o grupo de destino de teste da sua implantação azul/verde do CodeDeploy.

  7. Selecione Atualizar.

Próximas etapas

  • Atualize o serviço para iniciar a implantação. Para obter mais informações, consulte Atualizar um serviço do Amazon ECS.

  • Monitore o processo de implantação para garantir que ele siga o padrão azul/verde:

    • A revisão do serviço verde é criada e tem a escala aumentada verticalmente

    • O tráfego de teste é roteado para a revisão verde (se configurado)

    • O tráfego de produção é mudado para a revisão verde

    • Após o tempo de incorporação, a revisão azul é encerrada