Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Paso 1: Crear un bucket de Amazon S3
importante
El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los existentes. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en AWS Re:post
En primer lugar, debe crear un bucket de Amazon S3. Puede hacerlo directamente mediante la consola, la API o la CLI de Amazon S3, pero a menudo es más sencillo crear recursos utilizando una plantilla de AWS CloudFormation . La siguiente plantilla crea un bucket de Amazon S3 para este ejemplo y configura un perfil de instancia con un rol de IAM que concede acceso no restringido al bucket. A continuación, podrá utilizar una opción de capa para adjuntar el perfil de instancia a las instancias del servidor de aplicaciones de la pila, que permita a las aplicaciones obtener acceso al bucket, tal y como se describe más adelante. La utilidad de los perfiles de instancia no se limita a Amazon S3; son muy útiles para integrar una amplia variedad de servicios de 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" } } } }
Cuando se lanza la plantilla suceden varias cosas:
-
El recurso
AWS::S3::Bucket
crea un bucket de Amazon S3. -
El recurso
AWS::IAM::InstanceProfile
crea un perfil de instancia que se asignará a las instancias del servidor de aplicaciones. -
El recurso
AWS::IAM::Role
crea el rol del perfil de instancia. -
El recurso
AWS::IAM::Policy
establece los permisos del rol para permitir acceso no restringido a buckets de Amazon S3. -
La sección
Outputs
muestra el bucket y los nombres de los perfiles de instancia en la consola de AWS CloudFormation después de haber lanzado la plantilla.Necesitará estos valores para configurar la pila y la aplicación.
Para obtener más información sobre cómo crear AWS CloudFormation plantillas, consulta Aprende los conceptos básicos de las plantillas.
Para crear un bucket de Amazon S3
-
Copie la plantilla de muestra en un archivo de texto en el sistema.
Este ejemplo asume que el archivo se llama
appserver.template
. -
Abra la consola de AWS CloudFormation
y elija Create Stack (Crear pila). -
En el cuadro Stack name (Nombre de pila), escriba el nombre de la pila.
Este ejemplo asume que el archivo se llama
AppServer
. -
Elija Upload template file (Cargar archivo de plantilla), elija Browse (Examinar), seleccione el archivo
appserver.template
que creó en el paso 1 y, a continuación, elija Next step (Paso siguiente). -
En la página Specify Parameters (Especificar parámetros), seleccione I acknowledge that this template may create IAM resources (Acepto que esta plantilla pueda crear recursos de IAM) y, a continuación, elija Next step (Paso siguiente) en cada página del asistente hasta el final. Seleccione Crear.
-
Cuando la AppServerpila alcance el estado CREATE_COMPLETE, selecciónela y elija la pestaña Salidas.
Es posible que necesite actualizar varias veces el estado.
-
En la pestaña Salidas, registre los InstanceProfileNamevalores BucketNamey para usarlos más adelante.
nota
AWS CloudFormation utiliza el término pila para referirse al conjunto de recursos que se crean a partir de una plantilla; no es lo mismo que una pila de AWS OpsWorks pilas.