Trabalhando com configurações de implantação em CodeDeploy - AWS CodeDeploy

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á.

Trabalhando com configurações de implantação em CodeDeploy

Uma configuração de implantação é um conjunto de regras e condições de sucesso e falha usadas CodeDeploy durante uma implantação. Essas regras e condições são diferentes, dependendo se você implementa em uma plataforma de computação EC2/On-Premises, do AWS Lambda ou do Amazon ECS.

Configurações de implantação em uma plataforma de computação EC2/On-Premises

Ao implantar em uma plataforma de computação do EC2/on-premises, a configuração de implantação especifica, por meio do uso de um valor “mínimo de hosts íntegros” e de um valor ‘mínimo de hosts por zona’ opcional, o número ou porcentagem de instâncias que devem permanecer disponíveis a qualquer momento durante uma implantação.

Você pode usar uma das três configurações de implantação predefinidas fornecidas por AWS ou criar uma configuração de implantação personalizada. Para obter mais informações sobre como criar configurações de implantação personalizadas, consulte Create a Deployment Configuration. Se você não especificar uma configuração de implantação, CodeDeploy use CodeDeployDefault o. OneAtConfiguração de implantação do ATime.

Para obter mais informações sobre como CodeDeploy monitora e avalia a integridade da instância durante uma implantação, consulteInstance Health. Para ver uma lista das configurações de implantação já registradas em sua AWS conta, consulteView Deployment Configuration Details.

Configurações de implantação predefinidas para uma plataforma de computação EC2/On-Premises

A tabela a seguir lista as configurações de implantação predefinidas.

nota

Não há configurações de implantação predefinidas compatíveis com o recurso zonal configuration (que permite especificar o número de hosts íntegros por zona de disponibilidade). Se quiser utilizar esse recurso, crie a sua própria configuração de implantação.

Configuração de implantação Descrição
CodeDeployDefault.AllAtOnce

Implantações no local:

Tenta implantar uma revisão de aplicativo em quantas instâncias for possível de uma só vez. O status da implantação geral é exibido como Succeeded (Bem-sucedido) se a revisão do aplicativo é implantada em uma ou mais das instâncias. O status da implantação geral é exibido como Failed (Com falha) se a revisão de aplicativo não é implantada em nenhuma das instâncias. Usando um exemplo de nove instâncias, CodeDeployDefault. AllAtOnce tenta implantar em todas as nove instâncias de uma só vez. A implantação geral será bem-sucedida se a implantação em até mesmo em uma única instância for bem-sucedida. Ele falhará somente se as implementações nas nove instâncias falharem.

Implantações azuis/verdes:

  • Implantação em ambiente de substituição: segue as mesmas regras de implantação do CodeDeployDefault. AllAtOnce para implantações no local.

  • Redirecionamento do tráfego: direciona o tráfego para todas as instâncias no ambiente de substituição ao mesmo tempo. Será bem-sucedido se o tráfego for redirecionado com êxito para pelo menos uma instância. Falhará se o redirecionamento para todas as instâncias falhar.

CodeDeployDefault. HalfAtUma hora

Implantações no local:

Implementa em até metade das instâncias de cada vez (com frações arredondadas para baixo). A implantação geral será bem-sucedida se a revisão de aplicativo for implantada em pelo menos metade das instâncias (com frações arredondadas). Caso contrário, ocorrerá uma falha na implantação. No exemplo de nove instâncias, ele implanta em até quatro instâncias de cada vez. A implantação geral será bem-sucedida se for feita com êxito em cinco ou mais instâncias. Caso contrário, ocorrerá uma falha na implantação.

nota

Se você estiver implantando em instâncias em vários grupos de Auto Scaling CodeDeploy , implantará até metade das instâncias por vez, independentemente do grupo de Auto Scaling em que estejam. Por exemplo, vamos supor que você tenha dois grupos do Auto Scaling, ASG1 e ASG2, cada um com 10 instâncias. Nesse cenário, CodeDeploy pode implantar em 10 instâncias em apenas ASG1 e considerar isso um sucesso porque foi implantado em pelo menos metade das instâncias.

Implantações azuis/verdes:

  • Implantação em ambiente de substituição: segue as mesmas regras de implantação do CodeDeployDefault. HalfAtUm momento para implantações no local.

  • Redirecionamento do tráfego: direciona o tráfego para metade das instâncias no ambiente de substituição de cada vez. Será bem-sucedido se o redirecionamento para pelo menos metade das instâncias for bem-sucedido. Caso contrário, falha.

CodeDeployDefault. OneAtUma hora

Implantações no local:

Implanta a revisão de aplicativo em apenas uma instância de cada vez.

Para grupos de implantação que contêm mais de uma instância:

  • A implantação geral será bem-sucedida se a revisão de aplicativo for implantada em todas as instâncias. A exceção a essa regra é que, se ocorrer uma falha na implantação da última instância, a implantação geral ainda será bem-sucedida. Isso ocorre porque CodeDeploy permite que apenas uma instância por vez seja colocada off-line com CodeDeployDefault o. OneAtUma configuração de horário.

  • A implantação geral falhará se a revisão de aplicativo não conseguir ser implantada em qualquer outra instância que não seja a última.

  • Em um exemplo usando nove instâncias, ele implanta em uma instância de cada vez. A implantação geral será bem-sucedida se a implantação nas primeiras oito instâncias for bem-sucedida. Ocorrerá uma falha na implantação geral se ocorrer uma falha em qualquer uma das primeiras oito instâncias.

Para grupos de implantação que contêm apenas uma instância, a implantação geral apenas será bem-sucedida se a implantação na instância única for bem-sucedida.

Implantações azuis/verdes:

  • Implantação em ambiente de substituição: segue as mesmas regras de implantação do CodeDeployDefault. OneAtUm momento para implantações no local.

  • Redirecionamento do tráfego: direciona o tráfego para uma instância no ambiente de substituição de cada vez. Será bem-sucedido se o tráfego for redirecionado com êxito para todas as instâncias de substituição. Falhará após a primeira falha de redirecionamento. A exceção a essa regra é que, se ocorrer uma falha no registro da última instância, a implantação geral ainda será bem-sucedida.

Configurações de implantação em uma plataforma de computação do Amazon ECS

Quando você implanta em uma plataforma de computação do Amazon ECS, a configuração de implantação especifica como o tráfego é deslocado para o conjunto de tarefas do Amazon ECS atualizado. Você pode mudar o tráfego usando uma configuração canária, linear ou de all-at-onceimplantação. Para ter mais informações, consulte Configuração de implantação.

Você também pode criar sua própria configuração de implantação linear ou canary personalizada. Para ter mais informações, consulte Create a Deployment Configuration.

Configurações de implantação predefinidas para uma plataforma de computação do Amazon ECS

A tabela a seguir lista as configurações predefinidas disponíveis para implantações do Amazon ECS.

nota

Quando um Network Load Balancer é usado, somente a configuração de implantação CodeDeployDefault.ECSAllAtOnce é permitida.

Configuração de implantação Descrição

CodeDeployDefaultPercentEvery.ecsLinear 10 1 minutos

Desloca 10 por cento do tráfego a cada minuto até que todo o tráfego seja deslocado.

CodeDeployDefaultPercentEvery.ecsLinear 10 3 minutos

Desloca 10 por cento do tráfego a cada três minutos até que todo o tráfego seja deslocado.

CodeDeployDefault. Cescanário 10 por cento 5 minutos

Desloca 10 por cento do tráfego no primeiro incremento. Os 90 por cento restantes são implantados cinco minutos depois.

CodeDeployDefault. Cescanário 10 por cento 15 minutos

Desloca 10 por cento do tráfego no primeiro incremento. Os 90 por cento restantes são implantados 15 minutos depois.

CodeDeployDefault.ECS AllAtOnce

Desloca todo o tráfego para o contêiner atualizado do Amazon ECS de uma só vez.

Configurações de implantação para implantações azul/verde do AWS CloudFormation (Amazon ECS)

Quando você implanta em uma plataforma computacional do Amazon ECS por meio de implantações AWS CloudFormation azul/verde, a configuração de implantação especifica como o tráfego é transferido para o contêiner atualizado do Amazon ECS. Você pode mudar o tráfego usando uma configuração canária, linear ou de all-at-onceimplantação. Para ter mais informações, consulte Configuração de implantação.

Com implantações AWS CloudFormation azul/verde, você não pode criar sua própria configuração personalizada de implantação canária ou linear. Para step-by-step obter instruções sobre como AWS CloudFormation gerenciar suas implantações azul/verde do Amazon ECS, consulte Automatizar implantações azul/verde do ECS usando o Guia do usuário. CodeDeploy AWS CloudFormationAWS CloudFormation

nota

O gerenciamento de implantações azul/verde do Amazon ECS com não AWS CloudFormation está disponível nas regiões da Europa (Milão), África (Cidade do Cabo) e Ásia-Pacífico (Osaka).

Configurações de implantação em uma plataforma de computação do AWS Lambda

Quando você implanta em uma plataforma de computação AWS Lambda, a configuração de implantação especifica a forma como o tráfego é transferido para as novas versões da função Lambda em seu aplicativo. Você pode mudar o tráfego usando uma configuração canária, linear ou de all-at-onceimplantação. Para ter mais informações, consulte Configuração de implantação.

Você também pode criar sua própria configuração de implantação linear ou canary personalizada. Para ter mais informações, consulte Create a Deployment Configuration.

Configurações de implantação predefinidas para uma plataforma de computação AWS Lambda

A tabela a seguir lista as configurações predefinidas disponíveis para implantações do AWS Lambda .

Configuração de implantação Descrição

CodeDeployDefault. LambdaCanary10 por cento em 5 minutos

Desloca 10 por cento do tráfego no primeiro incremento. Os 90 por cento restantes são implantados cinco minutos depois.

CodeDeployDefault. LambdaCanary10 por cento 10 minutos

Desloca 10 por cento do tráfego no primeiro incremento. Os 90 por cento restantes são implantados 10 minutos depois.

CodeDeployDefault. LambdaCanary10 por cento e 15 minutos

Desloca 10 por cento do tráfego no primeiro incremento. Os 90 por cento restantes são implantados 15 minutos depois.

CodeDeployDefault. LambdaCanary10 por cento em 30 minutos

Desloca 10 por cento do tráfego no primeiro incremento. Os 90 por cento restantes são implantados 30 minutos depois.

CodeDeployDefault. LambdaLinear10 PercentEvery 1 minuto

Desloca 10 por cento do tráfego a cada minuto até que todo o tráfego seja deslocado.

CodeDeployDefault. LambdaLinear10 PercentEvery 2 minutos

Desloca 10 por cento do tráfego a cada dois minutos até que todo o tráfego seja deslocado.

CodeDeployDefault. LambdaLinear10 PercentEvery 3 minutos

Desloca 10 por cento do tráfego a cada três minutos até que todo o tráfego seja deslocado.

CodeDeployDefault. LambdaLinear10 PercentEvery 10 minutos Desloca 10 por cento do tráfego a cada 10 minutos até que todo o tráfego seja deslocado.
CodeDeployDefault.LambdaAllAtOnce

Desloca todo o tráfego para as funções do Lambda atualizadas de uma única vez.

Tópicos