

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 1: crie um bucket do Amazon S3
<a name="using-s3-bucket"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio de 2024 e foi desativado para clientes novos e existentes. É altamente recomendável que os clientes migrem suas cargas de trabalho para outras soluções o mais rápido possível. Se você tiver dúvidas sobre migração, entre em contato com a AWS Support equipe no [AWS re:POST](https://repost.aws/) ou por meio do Premium [AWS Support](https://aws.amazon.com/support).

Primeiro, é necessário criar um bucket do Amazon S3. Você pode fazer isso diretamente usando a API, a CLI ou o console do Amazon S3. Porém, uma maneira mais simples de criar recursos normalmente é usar um modelo do CloudFormation . O modelo a seguir cria um bucket do Amazon S3 para este exemplo e configura o [perfil de instância](https://docs.aws.amazon.com/IAM/latest/UserGuide/instance-profiles.html) com um [perfil do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html) que concede acesso irrestrito ao bucket. Em seguida, você pode usar uma camada para anexar o perfil da instância às instâncias do servidor de aplicativos da pilha, o que permite que o aplicativo acesse o bucket, conforme descrito mais adiante. A utilidade de perfis de instância não fica limitada ao Amazon S3. Eles são valiosos para integrar uma variedade de serviços da AWS. 

```
{
   "AWSTemplateFormatVersion" : "2010-09-09",
   "Resources" : {
      "AppServerRootRole": {
         "Type": "AWS::IAM::Role",
         "Properties": {
            "AssumeRolePolicyDocument": {
               "Statement": [ {
                  "Effect": "Allow",
                  "Principal": {
                     "Service": [ "ec2.amazonaws.com" ]
                  },
                  "Action": [ "sts:AssumeRole" ]
               } ]
            },
            "Path": "/"
         }
      },
      "AppServerRolePolicies": {
         "Type": "AWS::IAM::Policy",
         "Properties": {
            "PolicyName": "AppServerS3Perms",
            "PolicyDocument": {
               "Statement": [ {
                  "Effect": "Allow",
                  "Action": "s3:*",
                  "Resource": { "Fn::Join" : ["", [ "arn:aws:s3:::", { "Ref" : "AppBucket" } , "/*" ]
                  ] }
               } ]
            },
            "Roles": [ { "Ref": "AppServerRootRole" } ]
         }
      },
      "AppServerInstanceProfile": {
         "Type": "AWS::IAM::InstanceProfile",
         "Properties": {
            "Path": "/",
            "Roles": [ { "Ref": "AppServerRootRole" } ]
         }
      },
     "AppBucket" : {
      "Type" : "AWS::S3::Bucket"
      }
   },
   "Outputs" : {
       "BucketName" : {
           "Value" : { "Ref" : "AppBucket" }
       },
       "InstanceProfileName" : {
           "Value" : { "Ref" : "AppServerInstanceProfile" }
       }
   }
}
```

Várias coisas acontecem quando você inicia o modelo:
+ O recurso `[AWS::S3::Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html)` cria um bucket do Amazon S3.
+ O recurso `[AWS::IAM::InstanceProfile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html)` cria um perfil de instância que será atribuído à instâncias do servidor de aplicativos.
+ O recurso `[AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)` cria a função do perfil de instância.
+ O recurso `[AWS::IAM::Policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html)` define as permissões do perfil para conceder acesso irrestrito aos buckets do Amazon S3.
+ A seção `Outputs` exibirá os nomes do bucket e do perfil de instância no console do CloudFormation depois que você iniciar o modelo.

  Você precisará desses valores para configurar sua pilha e aplicativo.

Para obter mais informações sobre como criar CloudFormation modelos, consulte [Learn Template Basics.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/gettingstarted.templatebasics.html)

**Criar o bucket do Amazon S3**

1. Copie o modelo de exemplo para um arquivo de texto no sistema.

   Este exemplo pressupõe que o arquivo é chamado `appserver.template`.

1. Abra o console do [CloudFormation](https://console.aws.amazon.com/cloudformation/) e selecione **Create Stack (Criar pilha)**.

1. Na caixa **Stack Name**, insira o nome da pilha.

   Este exemplo pressupõe que o nome é **AppServer**.

1. Selecione **Upload template file (Carregar arquivo de modelo)**, selecione **Browse (Navegar)**, selecione o arquivo `appserver.template` que você criou na etapa 1 e, em seguida, selecione **Next Step (Próxima etapa)**.

1. Na página **Specify Parameters (Especificar parâmetros)**, selecione **I acknowledge that this template may create IAM resources (Estou ciente de que esse modelo pode criar recursos do IAM)** e, em seguida, selecione **Next Step (Próxima etapa)** em todas as páginas do assistente até chegar à página final. Escolha **Criar**. 

1. **Depois que a **AppServer**pilha atingir o status **CREATE\$1COMPLETE**, selecione-a e escolha a guia Saídas.**

   Talvez você precise atualizar algumas vezes para atualizar o status.

1. Na guia **Saídas**, **BucketName**registre os **InstanceProfileName**valores e para uso posterior.

**nota**  
CloudFormation usa o termo *pilha* para se referir à coleção de recursos que são criados a partir de um modelo; não é o mesmo que uma pilha de OpsWorks pilhas.