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á.
Etapa 3: carregar seu aplicativo "Hello, World!" no Amazon S3
Agora você preparará e enviará seu conteúdo de origem para um local a partir do qual CodeDeploy possa implantá-lo. As instruções a seguir mostram como provisionar um bucket do Amazon S3, preparar os arquivos da revisão de aplicativo para o bucket, agrupar os arquivos da revisão e, em seguida, enviá-la para esse bucket.
nota
Embora não seja abordado neste tutorial, você pode usá-lo CodeDeploy para implantar aplicativos de GitHub repositórios para instâncias. Para obter mais informações, consulte Integrando com CodeDeploy GitHub.
Tópicos
Provisionar um bucket do Amazon S3
Crie um contêiner de armazenamento, ou bucket, no Amazon S3, ou use um bucket existente. Certifique-se de poder fazer o upload da revisão para o bucket e de que as EC2 instâncias da Amazon usadas nas implantações possam fazer o download da revisão do bucket.
Você pode usar o AWS CLI console do Amazon S3 ou o Amazon S3 para criar um bucket do Amazon APIs S3. Depois de criar o bucket, certifique-se de conceder permissões de acesso ao bucket e ao seu CodeDeploy usuário.
nota
Os nomes dos buckets devem ser exclusivos no Amazon S3 para todas as contas AWS . Se não for possível usar amzn-s3-demo-bucket
, tente um nome de bucket diferente, como amzn-s3-demo-bucket
, seguido por um traço e suas iniciais ou algum outro identificador exclusivo. Em seguida, certifique-se de substituir o nome do bucket por amzn-s3-demo-bucket
sempre que essa identificação aparecer neste tutorial.
O bucket do Amazon S3 deve ser criado na mesma AWS região em que suas EC2 instâncias de destino da Amazon são lançadas. Por exemplo, se você criar o bucket na região Leste dos EUA (Norte da Virgínia), suas EC2 instâncias de destino da Amazon deverão ser lançadas na região Leste dos EUA (Norte da Virgínia).
Tópicos
Para criar um bucket do Amazon S3 () CLI
Chame o comando mb para criar um bucket do Amazon S3 denominado amzn-s3-demo-bucket
:
aws s3 mb s3://amzn-s3-demo-bucket --region
region
Como criar um bucket do Amazon S3 (console)
-
Abra o console do Amazon S3 em. https://console.aws.amazon.com/s3/
-
No console do Amazon S3, escolha Criar bucket.
-
Na caixa Nome do bucket, digite um nome para o bucket.
-
Na lista Região, escolha a região de destino e escolha Criar.
Conceda permissões ao bucket do Amazon S3 e à sua conta AWS
Você deve ter permissões para fazer upload no bucket do Amazon S3. Você pode especificar essas permissões por meio de uma política de bucket do Amazon S3. Por exemplo, na seguinte política de bucket do Amazon S3, o uso do caractere curinga (*) permite que 111122223333
a AWS conta faça upload de arquivos para qualquer diretório no bucket do Amazon S3 chamado: amzn-s3-demo-bucket
{ "Statement": [ { "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "AWS": [ "111122223333" ] } } ] }
Para ver o ID AWS da sua conta, consulte Encontrando o ID AWS da sua conta.
Agora é um bom momento para verificar se o bucket do Amazon S3 permitirá solicitações de download de cada instância participante da AmazonEC2. É possível especificar isso por meio de uma política do bucket do Amazon S3. Por exemplo, na seguinte política de bucket do Amazon S3, o uso do caractere curinga (*) permite que qualquer EC2 instância da Amazon com um perfil de IAM instância anexado contendo o ARN arn:aws:iam::444455556666:role/CodeDeployDemo
baixe arquivos de qualquer diretório no bucket do Amazon S3 chamado: amzn-s3-demo-bucket
{ "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "AWS": [ "arn:aws:iam::444455556666:role/CodeDeployDemo" ] } } ] }
Para obter informações sobre como gerar e anexar uma política de bucket do Amazon S3, consulte Exemplos de políticas de bucket.
O usuário CodeDeploy administrativo que você criou também Etapa 1: configuração deve ter permissão para carregar a revisão no bucket do Amazon S3. Uma forma de especificar isso é por meio de uma IAM política, que você adiciona ao conjunto de permissões do usuário, ou a uma IAM função (que você permite que o usuário assuma). A IAM política a seguir permite que o usuário faça upload de revisões em qualquer lugar no bucket do Amazon S3 chamado: amzn-s3-demo-bucket
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":["s3:PutObject"], "Resource":"arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }
Para obter informações sobre como criar uma IAM política, consulte Criação de IAM políticas no Guia IAM do usuário. Para obter informações sobre como adicionar uma política a um conjunto de permissões, consulte Criar um conjunto de permissões no Guia do usuário do AWS IAM Identity Center .
Preparar os arquivos do aplicativo para o bucket
Certifique-se de que a página da web, o AppSpec arquivo e o script estejam organizados em sua máquina de desenvolvimento da seguinte forma:
c:\ |-- temp\ |--HelloWorldApp\ |-- appspec.yml |-- before-install.bat |-- index.html
Agrupar os arquivos do aplicativo em um único arquivamento e enviar o arquivamento
Agrupe os arquivos em um arquivamento (conhecido como uma revisão de aplicativo).
nota
Você pode ser cobrado por armazenar objetos em um bucket e por transferir revisões de aplicativos para dentro e fora de um bucket. Para obter mais informações, consulte Preço do Amazon S3
-
Na máquina de desenvolvimento, mude para a pasta na qual os arquivos estão armazenados:
cd c:\temp\HelloWorldApp
nota
Se você não mudar para essa pasta, o empacotamento de arquivos começará na sua pasta atual. Por exemplo, se a sua pasta atual for
c:\temp
, e nãoc:\temp\HelloWorldApp
, o empacotamento começará com os arquivos e as subpastas da pastac:\temp
, o que poderá incluir mais do que a subpastaHelloWorldApp
. -
Chame o create-application comando para registrar um novo aplicativo chamado
HelloWorld_App
com CodeDeploy:aws deploy create-application --application-name HelloWorld_App
-
Chame o comando CodeDeploy push para agrupar os arquivos, fazer o upload das revisões para o Amazon S3 e registrar informações sobre a revisão CodeDeploy carregada, tudo em uma única ação.
aws deploy push --application-name HelloWorld_App --s3-location s3://amzn-s3-demo-bucket/HelloWorld_App.zip --ignore-hidden-files
Esse comando agrupa os arquivos do diretório atual (excluindo os arquivos ocultos) em um único arquivo chamado
HelloWorld_App.zip
, carrega a revisão noamzn-s3-demo-bucket
bucket e registra as informações CodeDeploy sobre a revisão carregada.