Etapa 3: Faça o upload do seu WordPress aplicativo para o Amazon S3 - 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á.

Etapa 3: Faça o upload do seu WordPress aplicativo para o 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 ter mais informações, consulte Integrando com CodeDeploy GitHub.

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 que você possa carregar a revisão no bucket e de que as instâncias do Amazon EC2 usadas nas implantações possam baixá-la desse bucket.

Você pode usar o AWS CLI console do Amazon S3 ou as APIs do Amazon S3 para criar um bucket do Amazon S3. Depois de criar o bucket, certifique-se de dar permissões de acesso a ele e à sua conta do AWS .

nota

Os nomes dos buckets devem ser exclusivos no Amazon S3 para todas as contas AWS . Se não for possível usar DOC-EXAMPLE-BUCKET, tente um nome de bucket diferente, como DOC-EXAMPLE-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 DOC-EXAMPLE-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 instâncias de destino do Amazon EC2 são lançadas. Por exemplo, se você criar o bucket na região Leste dos EUA (Norte da Virgínia), suas instâncias do Amazon EC2 de destino devem ser lançadas na região Leste dos EUA (Norte da Virgínia).

Como criar um bucket do Amazon S3 (CLI)

Chame o comando mb para criar um bucket do Amazon S3 denominado DOC-EXAMPLE-BUCKET:

aws s3 mb s3://DOC-EXAMPLE-BUCKET --region region

Como criar um bucket do Amazon S3 (console)

  1. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. No console do Amazon S3, escolha Criar bucket.

  3. Na caixa Nome do bucket, digite um nome para o bucket.

  4. Na lista Região, escolha a região de destino e escolha Criar.

Conceda permissões ao bucket e à conta do Amazon S3 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: DOC-EXAMPLE-BUCKET

{ "Statement": [ { "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::DOC-EXAMPLE-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 do Amazon EC2. É 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, usar o caractere curinga (*) permite que qualquer instância do Amazon EC2 com um perfil de instância anexado do IAM contendo o ARN arn:aws:iam::444455556666:role/CodeDeployDemo faça o download de arquivos de qualquer diretório no bucket do Amazon S3 chamado de DOC-EXAMPLE-BUCKET:

{ "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3:::DOC-EXAMPLE-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.

Para obter informações sobre como criar e anexar uma política do IAM, consulte Trabalhando com políticas.

Preparar os arquivos do aplicativo para o bucket

Certifique-se de que os arquivos do WordPress aplicativo, o AppSpec arquivo e os scripts estejam organizados em sua máquina de desenvolvimento de forma semelhante à seguinte:

/tmp/ |--WordPress/ |-- appspec.yml |-- scripts/ | |-- change_permissions.sh | |-- create_test_db.sh | |-- install_dependencies.sh | |-- start_server.sh | |-- stop_server.sh |-- wp-admin/ | |-- (various files...) |-- wp-content/ | |-- (various files...) |-- wp-includes/ | |-- (various files...) |-- index.php |-- license.txt |-- readme.html |-- (various files ending with .php...)

Agrupar os arquivos do aplicativo em um único arquivamento e enviar o arquivamento

Agrupe os arquivos do WordPress aplicativo e o AppSpec arquivo em um arquivo compactado (conhecido como revisão do 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.

  1. Na máquina de desenvolvimento, mude para a pasta na qual os arquivos estão armazenados:

    cd /tmp/WordPress
    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 /tmp em vez de /tmp/WordPress, o empacotamento começará com arquivos e subpastas na pasta tmp, o que pode incluir mais do que a subpasta WordPress.

  2. Chame o comando create-application para registrar um novo aplicativo denominado WordPress_App:

    aws deploy create-application --application-name WordPress_App
  3. 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 WordPress_App \ --s3-location s3://DOC-EXAMPLE-BUCKET/WordPressApp.zip \ --ignore-hidden-files

    Esse comando agrupa os arquivos do diretório atual (excluindo os arquivos ocultos) em um único arquivo chamadoWordPressApp.zip, carrega a revisão no DOC-EXAMPLE-BUCKET bucket e registra as informações CodeDeploy sobre a revisão carregada.