Tutorial: Crie um pipelineporAWS CloudFormationAções de implantações do Stack - AWS CodePipeline

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

Tutorial: Crie um pipelineporAWS CloudFormationAções de implantações do Stack

Neste tutorial, você usará aAWS CodePipelinepara criar um pipeline com ações de implantação para criar um conjunto de pilhas e criar instâncias de pilha. Quando o pipeline é executado, o modelo cria um conjunto de pilhas e também cria e atualiza as instâncias em que o conjunto de pilhas é implantado.

Há duas maneiras de gerenciar permissões para um conjunto de pilha: funções do IAM autogerenciadas e gerenciadas pela AWS. Este tutorial fornece exemplos com permissões autogerenciadas.

Para usar mais eficazmente os Stacksets no CodePipeline, você deve ter uma compreensão clara dos conceitos por trásAWS CloudFormationStackSets e como eles funcionam. ConsulteConceitos do StackSetsnoGuia do usuário do AWS CloudFormation.

Prerequisites

Para operações de conjunto de pilha, você usa duas contas diferentes: uma conta de administração e uma conta de destino. Criar conjuntos de pilhas na conta de administrador. Criar pilhas individuais que pertencem a um conjunto de pilhas na conta de destino.

Para criar uma função de administrador com sua conta de administrador

Para criar uma função de serviço na conta de destino

Etapa 1: Carregar a amostraAWS CloudFormationarquivo de modelo e parâmetro

Crie um bucket de origem para os arquivos de modelo e parâmetros do conjunto de pilha. Faça download doAWS CloudFormationtemplate file (arquivo de modelo do &SAM;), configure um arquivo de parâmetros e, em seguida, compacte os arquivos antes Carregarno bucket de origem do S3.

nota

Certifique-se de ZIP os arquivos de origem antes de fazer upload para o bucket de origem do S3, mesmo que o único arquivo de origem seja o modelo.

Para criar um bucket de origem do S3

  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. Selecione Create bucket (Criar bucket).

  3. DentroBucket nameInsira um nome para o bucket.

    DentroRegiãoSelecione a região da em que você deseja criar seu pipeline. Selecione Create bucket (Criar bucket).

  4. Depois que o bucket é criado, um banner de sucesso é exibido. Escolha Go to bucket details (Ir para detalhes do bucket).

  5. Na guia Properties (Propriedades) escolha Versioning (Versionamento). Escolha Enable versioning (Ativar versionamento) e escolha Save (Salvar).

Para criar oAWS CloudFormationtemplate file (arquivo de modelo do &SAM;)

  1. Faça download do seguinte arquivo de modelo para gerar a configuração do CloudTrail para conjuntos de pilha:https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSCloudtrail.yml.

  2. Salve o arquivo como template.yml.

Para criar o arquivo parameters.txt

  1. Crie um arquivo com os parâmetros para sua implantação. Parâmetros são valores que você deseja atualizar em sua pilha em tempo de execução. O arquivo de exemplo a seguir atualiza os parâmetros de modelo para seu conjunto de pilha para habilitar a validação de log e eventos globais.

    [ { "ParameterKey": "EnableLogFileValidation", "ParameterValue": "true" }, { "ParameterKey": "IncludeGlobalEvents", "ParameterValue": "true" } ]
  2. Salve o arquivo como parameters.txt.

Para criar o arquivo accounts.txt

  1. Crie um arquivo com as contas nas quais você deseja criar instâncias, conforme mostrado no arquivo de exemplo a seguir.

    [ "111111222222,333333444444" ]
  2. Salve o arquivo como accounts.txt.

Para criar e carregar arquivos de origem

  1. Combine os arquivos em um único arquivo ZIP. Os arquivos devem ter a seguinte aparência no arquivo ZIP.

    template.yml parameters.txt accounts.txt
  2. Faça upload do arquivo ZIP no bucket do S3. Este arquivo é o artefato de origem criado peloCriar pipelinepara sua ação de implantação no CodePipeline.

Etapa 2: Crie o pipeline

Nesta seção, você criará um pipeline com as seguintes ações:

  • Um estágio de origem com uma ação de origem do S3 no qual o artefato de origem é o arquivo de modelo e os arquivos de origem de suporte.

  • Um estágio de implantação com umAWS CloudFormationação de implantação do conjunto de pilha que cria o conjunto de pilhas.

  • Um estágio de implantação com umAWS CloudFormationação de implantação de instâncias de pilha que cria as pilhas e instâncias dentro das contas de destino.

Para criar um pipeline com uma ação CloudFormation StackSet

  1. Faça login noAWS Management Consolee abra o console do CodePipeline emhttp://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Na página Welcome (Bem-vindo), Getting started (Conceitos básicos) ou Pipelines, selecione Create pipeline (Criar pipeline).

  3. DentroEtapa 1: Selecione as configurações do pipeline, emPipeline name (Nome do pipeline), insiraMyStackSetsPipeline.

  4. DentroFunção de serviço, escolhaNova função de serviçoPara permitir que o CodePipeline crie uma função de serviço no IAM.

  5. DentroArmazenamento Artifact, deixe os valores padrão.

    nota

    Esse não é o bucket de origem para o código-fonte. Este é o armazenamento de artefatos para o pipeline. Um armazenamento de artefatos separado, como um bucket do S3, é necessário para cada pipeline. Ao criar ou editar um pipeline, é necessário ter um bucket de artefato na região do pipeline e um bucket de artefato porAWSRegião onde você está executando uma ação.

    Para obter mais informações, consulte Artefatos de entrada e saída e Referência da estrutura do pipeline do Code.

    Escolha Next (Próximo).

  6. NoEtapa 2: Adicionar estágio de origem, emProvedor de origem, escolhaAmazon S3.

  7. DentroBucket, insira o bucket de origem do S3 que você criou para este tutorial, comoBucketName. DentroChave do objeto S3Insira o caminho do arquivo e o nome do arquivo para o arquivo ZIP, comoMyFiles.zip.

  8. Escolha Next (Próximo).

  9. DentroEtapa 3: Adicionar estágio de compilação, escolhaIgnorar build stageE aceite a mensagem de aviso ao clicar emPularnovamente.

    Escolha Next (Próximo).

  10. DentroEtapa 4: Adicionar estágio de implantação:

    1. DentroProvedor de implantação, escolhaConjunto de pilha do AWS CloudFormation.

    2. DentroStack set NameInsira um nome para o conjunto de pilhas. Esse é o nome do conjunto de pilhas criado pelo modelo.

      nota

      Anote seu nome de conjunto de pilhas. Você usará isso quando adicionar a segunda ação de implantação do StackSets ao pipeline.

    3. DentroCaminho do modelo, insira o nome do artefato e o caminho do arquivo onde você enviou seu arquivo de modelo. Por exemplo, insira o item a seguir usando o nome do artefato de origem padrãoSourceArtifact.

      SourceArtifact::template.yml
    4. DentroDestinos de implantação, insira o nome do artefato e o caminho do arquivo onde você fez o upload do arquivo de contas. Por exemplo, insira o item a seguir usando o nome do artefato de origem padrãoSourceArtifact.

      SourceArtifact::accounts.txt
    5. DentroRegiões da AWS de destino de implantação,insirauma Região para implantação de sua instância de pilha inicial, comous-east-1.

    6. AmpliarImplantaçãooptions. DentroParâmetros, insira o nome do artefato e o caminho do arquivo onde você fez o upload do arquivo de parâmetros. Por exemplo, insira o item a seguir usando o nome do artefato de origem padrãoSourceArtifact.

      SourceArtifact::parameters.txt

      Para inserir os parâmetros como uma entrada literalem vez de um caminho de arquivo, insira o seguinte:

      ParameterKey=EnableLogFileValidation,ParameterValue=true ParameterKey=IncludeGlobalEvents,ParameterValue=true
    7. DentroCapacidadesEscolha CAPABILITY_IAM e CAPABILITY_NAMED_IAM.

    8. DentroModelo de permissão, escolha SELF_MANAGEN.

    9. DentroTolerância a falhas, insira20.

    10. DentroPorcentagem simultânea máxima, insira25.

    11. Escolha Next (Próximo).

    12. Selecione Create pipeline (Criar pipeline). Seu pipeline é exibido.

    13. Deixe que o pipeline seja executado.

Etapa 3: Visualizar implantação inicial

Exiba os recursos e o status da implantação inicial. Depois de verificar se a implantação criou com êxito seu conjunto de pilhas, você pode adicionar a segunda ação aoImplanteEstágio.

Como visualizar os recursos

  1. Abra o CodePipeline em.https://console.aws.amazon.com/codepipeline/.

  2. Em Pipelines, selecione o pipeline e clique em View (Visualizar). O diagrama mostra os estágios de implantação e a origem do pipeline.

  3. Selecione oAWS CloudFormationação noCloudFormationStackSetem seu pipeline. O modelo, os recursos e os eventos do seu conjunto de pilhas são mostrados naAWS CloudFormationconsole do .

  4. No painel de navegação à esquerda, carcaStackSets do. Na lista, escolha o novo conjunto de pilhas.

  5. Selecione oInstâncias da pilha. Verifique se uma instância de pilha para cada conta fornecida foi criada na região us-east-1. Verifique se o status para cada instância de pilha éCURRENT.

Etapa4: Adicionar uma ação do CloudFormationStackInstances

Crie uma próxima ação no pipeline que permitirá que oAWS CloudFormationStackSets para criar orestanteInstâncias da pilha.

Para criar uma próxima ação no pipeline

  1. Abra o CodePipeline em.https://console.aws.amazon.com/codepipeline/.

    Em Pipelines, selecione o pipeline e clique em View (Visualizar). O diagrama mostra os estágios de implantação e a origem do pipeline.

  2. Escolha editar o pipeline. O pipeline é exibido emEditeModo do.

  3. NoImplantestage, selecioneEdite.

  4. SobConjunto de pilha do AWS CloudFormationação de implantação, escolhaAdicionar grupo de ações.

  5. NoEditar ação, adicione os detalhes da ação:

    1. DentroAction name (Nome da ação)Insira um nome para a ação.

    2. DentroProvedor de ações, escolhaInstances de pilhas do AWS CloudFormation.

    3. UnderInput artifacts (Artefatos de entrada), escolhaSourceArtifact.

    4. DentroStack set NameInsira o nome do conjunto de pilhas. Esse é o nome do conjunto de pilhas que vocêfornecido na primeira ação.

    5. DentroDestinos de implantação, insira o nome do artefato e o caminho do arquivo onde você fez o upload do arquivo de contas. Por exemplo, insira o item a seguir usando o nome do artefato de origem padrãoSourceArtifact.

      SourceArtifact::accounts.txt
    6. DentroRegiões da AWS de destino de implantação,entre nas Regiões para implantação do seu restanteInstância da pilhas, por exemplo,us-east-2eeu-central-1como segue:

      us-east2, eu-central-1
    7. DentroTolerância a falhas, insira20.

    8. DentroPorcentagem simultânea máxima, insira25.

    9. Escolha Save (Salvar).

    10. .Liberar manualmente uma alteração. O pipeline atualizado é exibido com duas ações no estágio Implantar.

Etapa5: Exibir recursos do conjunto de pilha para sua implantação

Você pode exibir os recursos e o status da implantação do conjunto de pilhas.

Como visualizar os recursos

  1. Abra o CodePipeline em.https://console.aws.amazon.com/codepipeline/.

  2. UnderPipelines, selecione o pipeline ethenescolhaExibir. O diagrama mostra os estágios de implantação e a origem do pipeline.

  3. Selecione oAWS CloudFormationação noDA AWSCloudFormation Stack Instânciasem seu pipeline. O modelo, os recursos e os eventos do seu conjunto de pilhas são mostrados naAWS CloudFormationconsole do .

  4. No painel de navegação à esquerda,carcaStackSets do. Na lista, escolha o conjunto de pilhas.

  5. Selecione oInstâncias da pilha. Verifique se todas as instâncias de pilha restantes para cada conta fornecida foram criadas ou atualizadas nas regiões esperadas. Verifique se o status para cada instância de pilha éCURRENT.

Etapa 6: Faça uma atualização para seu conjunto de pilhas

Faça uma atualização para o conjunto de pilhas e implante a atualização para instâncias. Neste exemplo, você também faz uma alteração nos destinos de implantação que deseja designar para atualização. As instâncias que não fazem parte da atualização são movidas para um status desatualizado.

  1. Abra o CodePipeline em.https://console.aws.amazon.com/codepipeline/.

  2. UnderPipelinesSelecione seu pipeline e escolhaEdite. NoImplantestage, selecioneEdite.

  3. Escolha editar oConjunto de pilha do AWS CloudFormationem seu pipeline. DentroDescrição, escreva sobre a descrição existente com uma nova descrição para o conjunto de pilha.

  4. Escolha editar oInstances de pilhas do AWS CloudFormationem seu pipeline. DentroRegiões da AWS de destino de implantação, exclua ous-east-2que foi inserido quando a ação foi criada.

  5. Salve as alterações. SelecioneRelease changepara executar seu pipeline.

  6. Abra sua ação noAWS CloudFormation. Selecione oInformações do StackSet. DentroDescrição do StackSet, verifique se a nova descrição é mostrada.

  7. Selecione oInstâncias da pilha. UnderStatus, verifique se o status das instâncias de pilha em us-east-2 éOUTDATED.