Etapa 1: crie um bucket do Amazon S3 - AWS OpsWorks

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

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 ou por meio do Premium AWS 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 AWS CloudFormation . O modelo a seguir cria um bucket do Amazon S3 para este exemplo e configura o perfil de instância com um perfil do IAM 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 cria um bucket do Amazon S3.

  • O recurso AWS::IAM::InstanceProfile cria um perfil de instância que será atribuído à instâncias do servidor de aplicativos.

  • O recurso AWS::IAM::Role cria a função do perfil de instância.

  • O recurso AWS::IAM::Policy 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 AWS 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 AWS CloudFormation modelos, consulte Learn Template Basics.

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.

  2. Abra o console do AWS CloudFormation e selecione Create Stack (Criar pilha).

  3. Na caixa Stack Name, insira o nome da pilha.

    Este exemplo pressupõe que o nome é AppServer.

  4. 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).

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

  6. Depois que a AppServerpilha atingir o status CREATE_COMPLETE, selecione-a e escolha a guia Saídas.

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

  7. Na guia Saídas, BucketNameregistre os InstanceProfileNamevalores e para uso posterior.

nota

AWS 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 AWS OpsWorks pilhas.