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.