Exemplo 2: Criar um pipeline do Amazon S3 com o AWS CloudFormation
Este passo a passo mostra como usar o console do AWS CloudFormation para criar uma infraestrutura que inclui um pipeline conectado a um bucket de origem do Amazon S3. Neste tutorial, você utiliza o arquivo de modelo de exemplo para criar sua pilha de recursos, que inclui o bucket de origem, o armazenamento de artefatos, o pipeline e os recursos de detecção de alterações, como a regra do Amazon CloudWatch Events e a trilha do CloudTrail. Depois de criar sua pilha de recursos no AWS CloudFormation, você pode visualizar seu pipeline no console do AWS CodePipeline. O pipeline é composto por dois estágios, com um estágio de origem do Amazon S3 e um estágio de implantação do CodeDeploy.
Pré-requisitos:
Você deve ter criado os seguintes recursos para uso com o modelo do AWS CloudFormation de exemplo:
-
Você deve ter criado as instâncias do Amazon EC2, no qual instalou o agente do CodeDeploy nas instâncias. Você deve ter criado um grupo de implantação e um aplicativo do CodeDeploy. Use os recursos do Amazon EC2 e do CodeDeploy que você criou em Tutorial: Criar um pipeline simples (repositório do CodeCommit).
-
Escolha os links a seguir para fazer download dos arquivos de exemplo do modelo do AWS CloudFormation para criar um pipeline com uma origem Amazon S3:
-
Baixe o arquivo do aplicativo de exemplo do SampleApp_Linux.zip.
Salve o arquivo .zip em seu computador local. Você carregará o arquivo .zip após a criação da pilha.
Criar o pipeline no AWS CloudFormation
-
Abra o console do AWS CloudFormation e selecione Create Stack (Criar pilha). Escolha With new resources (standard) (Com novos recursos [padrão]).
-
Em Escolher um modelo, escolha Fazer upload de um modelo. Selecione Escolher arquivo e escolha o arquivo de modelo no seu computador local. Escolha Próximo.
-
Em Stack name (Nome da pilha), insira um nome para o pipeline. Os parâmetros especificados pelo modelo de exemplo são exibidos. Insira os seguintes parâmetros:
-
Em ApplicationName, insira o nome de seu aplicativo do CodeDeploy. É possível substituir o nome padrão do
DemoApplication. -
Em BetaFleet, insira o nome do seu grupo de implantação existente do CodeDeploy. É possível substituir o nome padrão do
DemoFleet. -
Em SourceObjectKey, insira
SampleApp_Linux.zip. Você carrega esse arquivo para o bucket depois que o modelo cria o bucket e o pipeline.
-
-
Escolha Próximo. Aceite os padrões na página a seguir e selecione Next (Próximo).
-
Em Capacidades, selecione Reconheço que o AWS CloudFormation pode criar recursos do IAM e escolha Criar pilha.
-
Após a conclusão da criação da pilha, visualize a lista de eventos para verificar se há erros.
Solução de problemas do
O usuário do IAM que está criando o pipeline no AWS CloudFormation pode exigir permissões adicionais a fim de criar recursos para o pipeline. As seguintes permissões são necessárias na política do usuário do IAM para permitir que o AWS CloudFormation crie os recursos necessários do Amazon CloudWatch Events para o pipeline do Amazon S3:
{ "Effect": "Allow", "Action": [ "events:PutRule", "events:PutEvents", "events:PutTargets", "events:DeleteRule", "events:RemoveTargets", "events:DescribeRule" ], "Resource": "resource_ARN" } -
No CloudFormation, na guia Resources (Recursos) para a pilha, visualize os recursos que foram criados para a pilha.
nota
Para visualizar o pipeline criado, localize a coluna ID lógico na guia Recursos da sua pilha no CloudFormation. Anote o nome na coluna ID físico do pipeline. No CodePipeline, você pode visualizar o pipeline com o mesmo ID físico (nome do pipeline) na região em que criou sua pilha.
Escolha o bucket do S3 com um rótulo
sourcebucketno nome, comos3-cfn-codepipeline-sourcebucket-y04EXAMPLE.. Não escolha o bucket de artefato do pipeline.O bucket de origem está vazio porque o recurso foi criado recentemente pelo CloudFormation. Abra o console do Amazon S3 e localize seu bucket do
sourcebucket. Escolha Upload (Fazer upload) e siga as instruções para carregar seu arquivo.zipSampleApp_Linux.zip.nota
Quando o Amazon S3 é o provedor de origem do pipeline, você deve fazer upload de todos os arquivos de origem compactados em seu bucket como um único arquivo .zip. Caso contrário, a ação da origem falhará.
-
Faça login no Console de gerenciamento da AWS e abra o console do CodePipeline em https://console.aws.amazon.com/codesuite/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.
-
Conclua as etapas dos procedimentos a seguir para criar seus recursos do AWS CloudTrail.
Criar recursos do AWS CloudTrail no AWS CloudFormation
-
Abra o console do AWS CloudFormation e selecione Create Stack (Criar pilha).
-
Em Choose a template (Selecionar um modelo), selecione Upload a template to Amazon S3 (Carregar um modelo no Amazon S3). Selecione Browse (Procurar) e selecione o arquivo de modelo para os recursos do AWS CloudTrail em seu computador local. Escolha Próximo.
-
Em Stack name (Nome da pilha), informe um nome para sua pilha de recursos. Os parâmetros especificados pelo modelo de exemplo são exibidos. Insira os seguintes parâmetros:
-
Em SourceObjectKey, aceite o padrão para o arquivo .zip do aplicativo de exemplo.
-
-
Escolha Próximo. Aceite os padrões na página a seguir e selecione Next (Próximo).
-
Em Capacidades, selecione Reconheço que o AWS CloudFormation pode criar recursos do IAM e escolha Criar.
-
Após a conclusão da criação da pilha, visualize a lista de eventos para verificar se há erros.
As seguintes permissões são necessárias na política para permitir que o AWS CloudFormation crie os recursos do CloudTrail necessários para o pipeline do Amazon S3:
{ "Effect": "Allow", "Action": [ "cloudtrail:CreateTrail", "cloudtrail:DeleteTrail", "cloudtrail:StartLogging", "cloudtrail:StopLogging", "cloudtrail:PutEventSelectors" ], "Resource": "resource_ARN" } -
Faça login no Console de gerenciamento da AWS e abra o console do CodePipeline em https://console.aws.amazon.com/codesuite/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.
-
No seu bucket de origem, confirme e envie uma alteração. Seus recursos de detecção de alterações capturam a alteração e o pipeline é iniciado.