Criar uma configuração de implantação com o CodeDeploy - AWS CodeDeploy

Criar uma configuração de implantação com o CodeDeploy

Se não quiser utilizar uma das configurações de implantação padrão fornecidas com o CodeDeploy, você poderá criar a sua própria utilizando as seguintes instruções.

É possível usar o console do CodeDeploy, a AWS CLI, as APIs do CodeDeploy ou um modelo do CloudFormation para criar configurações de implantação personalizadas.

Para obter informações sobre como usar um modelo do CloudFormation para criar uma configuração de implantação, consulte Modelos CloudFormation para referência do CodeDeploy.

Criar uma configuração de implantação (console)

Utilize as instruções a seguir para criar uma configuração de implantação utilizando o console da AWS.

Como criar uma configuração de implantação no CodeDeploy utilizando o console.
  1. Faça login no Console de gerenciamento da AWS e abra o console do CodeDeploy em https://console.aws.amazon.com/codedeploy.

    nota

    Faça login com o mesmo usuário que você configurou em Conceitos básicos do CodeDeploy.

  2. No painel de navegação, escolha Configurações de implantação.

    Uma lista de configurações de implantação integradas é exibida.

  3. Escolha Criar configuração de implantação.

  4. Em Nome da configuração de implantação, digite um nome para a configuração de implantação. Por exemplo, my-deployment-config.

  5. Em Plataforma de computação, escolha uma das seguintes opções:

    • EC2/On-premises

    • AWS Lambda

    • Amazon ECS

  6. Execute um destes procedimentos:

    • Se você escolheu EC2/On-premises:

      1. Em Mínimo de hosts íntegros, especifique o número ou o percentual de instâncias que devem estar disponíveis durante todo o tempo de uma implantação. Para obter mais informações sobre como o CodeDeploy monitora e avalia a integridade da instância durante uma implantação, consulte Instance Health.

      2. (Opcional) Em Configuração de zona, selecione Ativar configuração de zona para que o CodeDeploy implante a aplicação em uma Zona de disponibilidade por vez, dentro de uma região da AWS. Ao implantar em uma zona de disponibilidade por vez, é possível expor a implantação a um público cada vez maior à medida que aumenta a confiança no desempenho e na viabilidade da implantação. Se você não ativar uma configuração de zona, o CodeDeploy implantará a aplicação em uma seleção aleatória de hosts em uma região.

        Se você ativar o recurso de configuração de zona, observe o seguinte:

        • O recurso de configuração de zona só é compatível com implantações no local em instâncias do Amazon EC2. (As instâncias de implantações azul/verde e on-premises não são compatíveis). Para obter mais informações sobre implantações no local, consulte Tipo de implantação.

        • O recurso de configuração de zona não é compatível com Configurações de implantação predefinidas. Para usar uma configuração de zona, crie uma configuração de implantação personalizada, conforme descrito aqui.

        • Se o CodeDeploy precisar reverter uma implantação, ele executará as operações de reversão em hosts aleatórios. (O CodeDeploy não reverterá uma zona por vez, como talvez fosse o esperado.) Esse comportamento de reversão foi escolhido por motivos de desempenho. Para obter mais informações sobre reversões, consulte Reimplantar e reverter uma implantação com o CodeDeploy.

      3. Se você marcou a caixa de seleção Ativar configuração de zona, opcionalmente, especifique as seguintes opções:

        • (Opcional) Em Duração do monitoramento, especifique o período, em segundos, que o CodeDeploy deve esperar após concluir uma implantação em uma zona de disponibilidade. O CodeDeploy aguardará esse tempo antes de iniciar uma implantação na próxima zona de disponibilidade. Considere adicionar uma duração de monitoramento para dar à implantação algum tempo para se provar (ou de “incorporação”) em uma zona de disponibilidade antes de ser liberada na próxima zona. Se você não especificar a duração do monitoramento, o CodeDeploy iniciará a implantação na próxima zona de disponibilidade imediatamente. Para obter mais informações sobre como a configuração da Duração do monitoramento funciona, consulte Sobre o número mínimo de instâncias íntegras por zona de disponibilidade..

        • (Opcional) Selecione Adicionar uma duração do monitoramento para a primeira zona para definir uma duração de monitoramento que se aplique somente à primeira zona de disponibilidade. Você pode definir essa opção se quiser permitir um tempo de incorporação extra para a primeira zona de disponibilidade. Se você não especificar um valor em Adicionar uma duração do monitoramento da primeira zona, o CodeDeploy utilizará o valor de duração do monitoramento para a primeira zona de disponibilidade.

        • (Opcional) Em Mínimo de hosts íntegros por zona, especifique o número ou o percentual de instâncias que devem estar disponíveis por zona de disponibilidade durante uma implantação. Escolha FLEET_PERCENT para especificar uma porcentagem ou HOST_COUNT para especificar um número. Esse campo funciona em conjunto com o campo Mínimo de hosts íntegros. Para obter mais informações, consulte Sobre o número mínimo de instâncias íntegras por zona de disponibilidade..

          Se você não especificar um valor em Mínimo de hosts íntegros por zona, o CodeDeploy utilizará um valor padrão 0 por cento.

    • Se você escolher AWS Lambda ou Amazon ECS:

      1. Em Tipo, escolha Linear ou Canário.

      2. Nos campos Etapa e Intervalo, faça o seguinte:

        • Se você escolher Canário, para Etapa, digite uma porcentagem do tráfego, entre 1 e 99, que será deslocada. Essa é a porcentagem do tráfego que será deslocada no primeiro incremento. O tráfego restante é deslocado após o intervalo selecionado no segundo incremento.

          Em Intervalo, insira o número de minutos entre o primeiro e o segundo deslocamento de tráfego.

        • Se você escolher Linear, para Etapa, digite uma porcentagem do tráfego, entre 1 e 99, que será deslocada. Essa será a porcentagem do tráfego que será deslocada no início de cada intervalo.

          Em Intervalo, insira o número de minutos entre cada deslocamento incremental.

  7. Escolha Criar configuração de implantação.

    Agora você tem uma configuração de implantação que pode associar a um grupo de implantação.

Criar uma configuração de implantação com o CodeDeploy (AWS CLI)

Para utilizar a AWS CLI para criar uma configuração de implantação, chame o comando create-deployment-config.

O exemplo a seguir cria uma configuração de implantação do EC2/on-premises denominada ThreeQuartersHealthy que exige que 75% das instâncias de destino permaneçam íntegras durante uma implantação:

aws deploy create-deployment-config --deployment-config-name ThreeQuartersHealthy --minimum-healthy-hosts type=FLEET_PERCENT,value=75

O exemplo a seguir cria uma configuração de implantação do EC2/on-premises chamada 300Total50PerAZ que exige que 300 instâncias de destino permaneçam totalmente íntegras por implantação, e 50 permaneçam íntegras por zona de disponibilidade: Ele também define uma duração do monitoramento de uma hora.

aws deploy create-deployment-config --deployment-config-name 300Total50PerAZ --minimum-healthy-hosts type=HOST_COUNT,value=300 --zonal-config '{"monitorDurationInSeconds":3600,"minimumHealthyHostsPerZone":{"type":"HOST_COUNT","value":50}}'

O exemplo a seguir cria uma configuração de implantação do AWS Lambda chamada Canary25Percent45Minutes. Ela usa o deslocamento de tráfego canário para deslocar 25% do tráfico no primeiro incremento. Os 75 por cento restantes são deslocados para 45 minutos depois:

aws deploy create-deployment-config --deployment-config-name Canary25Percent45Minutes --traffic-routing-config "type="TimeBasedCanary",timeBasedCanary={canaryPercentage=25,canaryInterval=45}" --compute-platform Lambda

O exemplo a seguir cria uma configuração de implantação do Amazon ECS chamada Canary25Percent45Minutes. Ela usa o deslocamento de tráfego canário para deslocar 25% do tráfico no primeiro incremento. Os 75 por cento restantes são deslocados para 45 minutos depois:

aws deploy create-deployment-config --deployment-config-name Canary25Percent45Minutes --traffic-routing-config "type="TimeBasedCanary",timeBasedCanary={canaryPercentage=25,canaryInterval=45}" --compute-platform ECS