CodeDeploy componentes primários - 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á.

CodeDeploy componentes primários

Antes de começar a trabalhar com o serviço, você deve se familiarizar com os principais componentes do processo de CodeDeploy implantação.

Aplicativo

Um aplicativo é um nome que identifica de forma exclusiva o aplicativo que você deseja implantar. CodeDeploy usa esse nome, que funciona como um contêiner, para garantir que a combinação correta de revisão, configuração de implantação e grupo de implantação seja referenciada durante uma implantação.

Plataforma de computação

Uma plataforma de computação é uma plataforma na qual CodeDeploy implanta um aplicativo. Existem três plataformas de computação:

  • EC2/On-Premises: descreve instâncias de servidores físicos que podem ser instâncias do Amazon EC2 na nuvem, servidores no local ou ambos. Aplicativos criados usando a plataforma de computação EC2/On-Premises podem ser compostos de arquivos executáveis, arquivos de configuração, imagens e outros.

    As implantações que usam a plataforma de computação EC2/On-Premises gerenciam a maneira como o tráfego é direcionado para instâncias usando um tipo de implantação azul/verde ou no local. Para ter mais informações, consulte Visão geral dos tipos de CodeDeploy implantação.

  • AWS Lambda: usado para implantar aplicativos que consistem em uma versão atualizada de uma função Lambda. AWS Lambda gerencia a função Lambda em um ambiente computacional sem servidor composto por uma estrutura computacional de alta disponibilidade. Toda a administração dos recursos computacionais é realizada por AWS Lambda. Para obter mais informações, consulte Computação e Aplicativos com tecnologia sem servidor. Para obter mais informações sobre AWS Lambda as funções Lambda, consulte. AWS Lambda

    Você pode gerenciar a forma como o tráfego é transferido para as versões atualizadas da função Lambda durante uma implantação escolhendo uma configuração canária, linear ou linear. all-at-once

  • Amazon ECS: usada para implantar um aplicativo em contêineres do Amazon ECS como um conjunto de tarefas. CodeDeploy executa uma implantação azul/verde instalando uma versão atualizada do aplicativo como um novo conjunto de tarefas de substituição. CodeDeploy redireciona o tráfego de produção do conjunto de tarefas original do aplicativo para o conjunto de tarefas de substituição. O conjunto de tarefas original é encerrado após uma implantação bem-sucedida. Para obter mais informações sobre o Amazon ECS, consulte Amazon Elastic Container Service.

    Você pode gerenciar a forma como o tráfego é transferido para o conjunto de tarefas atualizado durante uma implantação escolhendo uma configuração canária, linear ou all-at-once linear.

nota

As implantações azul/verde do Amazon ECS são suportadas por meio de e. CodeDeploy AWS CloudFormation Os detalhes dessas implantações são descritos nas seções subsequentes.

Configuração de implantação

Uma configuração de implantação é um conjunto de regras de implantação e condições de sucesso e falha de implantação usadas CodeDeploy durante uma implantação. Se a sua implantação usa a plataforma de computação EC2/On-Premises, você pode especificar o número mínimo de instâncias íntegras para a implantação. Se sua implantação usa a plataforma de computação Amazon ECS AWS Lambda ou a plataforma de computação Amazon ECS, você pode especificar como o tráfego é roteado para sua função Lambda atualizada ou conjunto de tarefas do ECS.

Para obter mais informações sobre como especificar o número mínimo de hosts íntegros para uma implantação que usa a plataforma EC2/On-Premises, consulte Sobre o número mínimo de instâncias íntegras.

As configurações de implantação a seguir especificam como o tráfego é roteado durante uma implantação que usa a plataforma de computação Lambda ou ECS:

  • Canário: o tráfego é deslocado em dois incrementos. Você pode escolher entre as opções canário predefinidas que especificam a porcentagem de tráfego deslocado para a sua função do Lambda atualizada ou o conjunto de tarefas do ECS no primeiro incremento e o intervalo, em minutos, antes que o tráfego restante seja deslocado no segundo incremento.

  • Linear: o tráfego é deslocado em incrementos iguais com um número igual de minutos entre cada incremento. Você pode escolher entre opções lineares predefinidas que especificam a porcentagem de tráfego deslocado em cada incremento e o número de minutos entre cada incremento.

  • R ll-at-once: Todo o tráfego é transferido da função Lambda original ou do conjunto de tarefas do ECS para a função ou conjunto de tarefas atualizado de uma só vez.

Grupo de implantação

Um grupo de implantação é um conjunto de instâncias individuais. Um grupo de implantação contém instâncias do Amazon EC2; individualmente marcadas e/ou instâncias do Amazon EC2; em grupos do Amazon EC2 Auto Scaling. Para obter informações sobre tags de instâncias do Amazon EC2, consulte Trabalhando com tags usando o console. Para obter informações sobre instâncias on-premises, consulte Working with On-Premises Instances. Para obter informações sobre o Amazon EC2 Auto Scaling, consulte Integração CodeDeploy com o Amazon EC2 Auto Scaling.

Tipo de implantação

Um tipo de implantação é um método usado para disponibilizar a revisão mais recente do aplicativo nas instâncias em um grupo de implantação. Existem dois tipos de implantação:

  • Implantação no local: o aplicativo em cada instância no grupo de implantação é interrompido, a última revisão de aplicativo é instalada, e a nova versão do aplicativo é iniciada e validada. Você pode usar um balanceador de carga de forma que cada registro de instância é cancelado durante sua implantação e, em seguida, restaurado para o serviço após a conclusão da implantação. Somente implantações que usam a plataforma de computação EC2/On-Premises podem usar implantações no local. Para obter mais informações sobre implantações no local, consulte Visão geral de uma implantação no local.

  • Implantação azul/verde: o comportamento da sua implantação depende de qual plataforma você usa:

    • Azul/verde em uma plataforma de computação EC2/On-Premises: as instâncias em um grupo de implantação (o ambiente original) são substituídas por um conjunto diferente de instâncias (o ambiente de substituição) seguindo estas etapas:

      • As instâncias são provisionadas para o ambiente de substituição.

      • A revisão de aplicativo mais recente será instalada nas instâncias de substituição.

      • Um tempo de espera opcional ocorre para atividades como teste de aplicativos e verificação do sistema.

      • As instâncias no ambiente de substituição são registradas com um ou mais balanceadores de carga do Elastic Load Balancing, fazendo com que o tráfego seja redirecionado para elas. O registro das instâncias no ambiente original é cancelado e pode ser encerrado ou mantido em execução para outros usos.

      nota

      Se você usa uma plataforma de computação do EC2/On-Premises, esteja ciente de que as implantações azul/verde funcionam somente com instâncias do Amazon EC2.

    • Azul/verde em uma plataforma computacional ou AWS Lambda Amazon ECS: o tráfego é deslocado em incrementos de acordo com uma configuração canária, linear ou de implantação. all-at-once

    • Implantações em azul/verde por meio de AWS CloudFormation: O tráfego é transferido de seus recursos atuais para seus recursos atualizados como parte de uma atualização de pilha. AWS CloudFormation Atualmente, somente implantações azuis/verdes do ECS são compatíveis.

    Para ter mais informações sobre implantações azul/verde, consulte Visão geral de uma implantação azul/verde.

nota

As implantações azul/verde do Amazon ECS são suportadas usando e. CodeDeploy AWS CloudFormation Os detalhes dessas implantações são descritos nas seções subsequentes.

Perfil de instância do IAM

Um perfil de instância do IAM é um perfil do IAM que você anexa às suas instâncias do Amazon EC2. Esse perfil inclui as permissões necessárias para acessar os buckets ou GitHub repositórios do Amazon S3 onde os aplicativos são armazenados. Para ter mais informações, consulte Etapa 4: criar um perfil de instância do IAM para as suas instâncias do Amazon EC2.

Revisão

Uma revisão é uma versão do seu aplicativo. Uma revisão de implantação do AWS Lambda é um arquivo formatado em YAML ou JSON que especifica informações sobre a função Lambda a ser implantada. Uma revisão de implantação EC2/on-premises é um arquivo de arquivamento que contém conteúdo de origem (código-fonte, páginas da Web, arquivos executáveis e scripts de implantação) e um arquivo de especificação do aplicativo (arquivo). AppSpec AWS As revisões do Lambda podem ser armazenadas em buckets do Amazon S3. As revisões EC2/locais são armazenadas em buckets ou repositórios do Amazon S3. GitHub Para o Amazon S3, uma revisão é identificada de maneira exclusiva por sua uma chave de objeto do Amazon S3 e sua ETag, versão ou ambos. Pois GitHub, uma revisão é identificada exclusivamente por seu ID de confirmação.

Perfil de serviço

Uma função de serviço é uma função do IAM que concede permissões a um AWS serviço para que ele possa acessar AWS recursos. As políticas que você anexa à função de serviço determinam quais AWS recursos o serviço pode acessar e as ações que ele pode realizar com esses recursos. Para CodeDeploy, uma função de serviço é usada para o seguinte:

  • Para ler as tags aplicadas às instâncias ou aos nomes de grupo do Amazon EC2 Auto Scaling associados a essas instâncias. Isso permite CodeDeploy identificar instâncias nas quais ele pode implantar aplicativos.

  • Para realizar operações em instâncias, grupos do Amazon EC2 Auto Scaling e balanceadores de carga do Elastic Load Balancing.

  • Para publicar informações nos tópicos do Amazon SNS para que as notificações possam ser enviadas quando ocorrerem eventos específicos de implantação ou instância.

  • Para recuperar informações sobre CloudWatch alarmes para configurar o monitoramento de alarmes para implantações.

Para ter mais informações, consulte Etapa 2: criar uma função de serviço para CodeDeploy.

Revisão de destino

Uma revisão de destino é a versão mais recente da revisão do aplicativo que você carregou no seu repositório e deseja implantar nas instâncias em um grupo de implantação. Em outras palavras, a revisão de aplicação que é o destino atual da implantação. Ela também é a revisão que é extraída para implantações automáticas.

Outros componentes

Para obter informações sobre outros componentes no CodeDeploy fluxo de trabalho, consulte os tópicos a seguir: