Transcript

AWS CloudFormationGua del usuario

Versin de API 2010-05-15

AWS CloudFormation Gua del usuario

AWS CloudFormation: Gua del usuarioCopyright 2019 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any mannerthat is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks notowned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored byAmazon.

AWS CloudFormation Gua del usuario

Table of ContentsQu es AWS CloudFormation? ........................................................................................................... 1

Simplificacin de la administracin de la infraestructura .................................................................... 1Replicacin rpida de la infraestructura .......................................................................................... 1Control y seguimiento sencillos de los cambios en la infraestructura ................................................... 1Informacin relacionada ............................................................................................................... 2Conceptos de AWS CloudFormation .............................................................................................. 2

Plantillas ............................................................................................................................ 2Pilas ................................................................................................................................. 4Conjuntos de cambios ......................................................................................................... 5

Cmo funciona AWS CloudFormation? ........................................................................................ 5Actualizacin de una pila con conjuntos de cambios ................................................................ 7Eliminacin de una pila ....................................................................................................... 8Recursos adicionales .......................................................................................................... 8

Configuracin ..................................................................................................................................... 9Inscripcin en una cuenta de AWS y precios .................................................................................. 9

Precios .............................................................................................................................. 9Controlar el acceso con IAM ...................................................................................................... 10

Acciones de AWS CloudFormation ...................................................................................... 10Recursos de AWS CloudFormation ...................................................................................... 12Condiciones de AWS CloudFormation .................................................................................. 12Reconocimiento de recursos de IAM en plantillas de AWS CloudFormation ................................ 15Administracin de credenciales para aplicaciones que se ejecutan en instancias Amazon EC2 ....... 16Concesin de acceso temporal (acceso federado) ................................................................. 16Rol de servicio de AWS CloudFormation .............................................................................. 17

Registro de llamadas a API ........................................................................................................ 18Informacin de AWS CloudFormation en CloudTrail ............................................................... 18Descripcin de las entradas de archivos log de AWS CloudFormation ....................................... 19

Lmites .................................................................................................................................... 22Puntos de enlace ...................................................................................................................... 24Configuracin de puntos de enlace de la VPC para AWS CloudFormation ......................................... 24

Antes de empezar ............................................................................................................. 25Creacin del punto de enlace de la VPC para AWS CloudFormation ......................................... 25

Introduccin ..................................................................................................................................... 27Introduccin ............................................................................................................................. 27

Paso 1: Seleccionar una plantilla ........................................................................................ 27Paso 2: Comprobar que se han preparado los elementos necesarios para la pila ........................ 32Paso 3: Crear la pila ......................................................................................................... 33Paso 4: Monitorizar el progreso de creacin de la pila ............................................................ 34Paso 5: Utilizar los recursos de la pila ................................................................................. 34Paso 6: Eliminacin .......................................................................................................... 35

Ms informacin sobre los aspectos bsicos de las plantillas ........................................................... 35Qu es una plantilla de AWS CloudFormation? ................................................................... 36Recursos: Hello Bucket! ..................................................................................................... 36Propiedades de recursos y uso de recursos a la vez .............................................................. 37Recepcin de la entrada del usuario mediante los parmetros de entrada .................................. 42Especificacin de valores condicionales con asignaciones ....................................................... 44Valores construidos y valores de salida ................................................................................ 46Pasos siguientes ............................................................................................................... 49

Tutorial: Actualizacin de una pila ............................................................................................... 50Una aplicacin sencilla ...................................................................................................... 50Cree la pila inicial ............................................................................................................. 57Actualizar la aplicacin ...................................................................................................... 57Cambio de propiedades de recurso ..................................................................................... 60Aadido de propiedades de recursos ................................................................................... 63

Versin de API 2010-05-15iii

AWS CloudFormation Gua del usuario

Cambie los recursos de la pila ............................................................................................ 64Consideraciones sobre el impacto y la disponibilidad .............................................................. 72Recursos relacionados ....................................................................................................... 72

Prcticas recomendadas de ............................................................................................................... 73Organice sus pilas por ciclo de vida y titularidad ............................................................................ 73Utilice referencias de pila cruzadas para exportar recursos compartidos ............................................ 74Utilice IAM para controlar el acceso ............................................................................................ 74Verifique las cuotas de todos los tipos de recursos ........................................................................ 75Reutilice plantillas para replicar pilas en varios entornos ................................................................. 75Utilice pilas anidadas para reutilizar patrones de plantillas comunes .................................................. 75No integre credenciales en sus plantillas ...................................................................................... 75Utilice tipos de parmetros especficos de AWS ............................................................................ 76Utilice las limitaciones de los parmetros ..................................................................................... 76Utilice AWS::CloudFormation::Init para implementar aplicaciones de software en las instancias deAmazon EC2 ............................................................................................................................ 76Utilice los scripts auxiliares ms recientes .................................................................................... 76Valide las plantillas antes de usarlas ........................................................................................... 77Administre todos los recursos de pila a travs de AWS CloudFormation ............................................ 77Cree conjuntos de cambios antes de actualizar las pilas ................................................................. 77Utilice polticas de pila ............................................................................................................... 77Utilice AWS CloudTrail para registrar las llamadas de AWS CloudFormation ...................................... 78Utilice revisiones de cdigo y controles de revisin para administrar las plantillas ................................ 78Actualice con regularidad las instancias Linux de Amazon EC2 ........................................................ 78

Entrega continua ............................................................................................................................... 79Tutorial: Creacin de una canalizacin para pilas de prueba y pilas de produccin .............................. 79

Requisitos previos ............................................................................................................. 79Informacin general del tutorial ........................................................................................... 80Paso 1: Editar el artefacto y cargarlo en un bucket de S3 ....................................................... 80Paso 2: Crear la pila de la canalizacin ............................................................................... 82Paso 3: Visualizar la pila de WordPress ............................................................................... 85Paso4: Eliminar recursos ................................................................................................. 86

Referencia de propiedades de configuracin ................................................................................. 87Propiedades de configuracin (consola) ............................................................................... 87Propiedades de configuracin (objeto JSON) ........................................................................ 89

Artefactos de AWS CloudFormation ............................................................................................. 90Archivo de plantilla de pila ................................................................................................. 91Archivo de configuracin de plantillas .................................................................................. 91

Uso de funciones de anulacin de parmetros con canalizaciones de AWS CodePipeline ..................... 92Fn::GetArtifactAtt ............................................................................................................... 92Fn::GetParam ................................................................................................................... 93

Uso de pilas .................................................................................................................................... 96Uso de la consola ..................................................................................................................... 96

En esta seccin ................................................................................................................ 96Inicio de sesin en la consola ............................................................................................. 97Creacin de una pila ......................................................................................................... 98Creacin de un par de claves de EC2 ................................................................................ 105Clculo del costo de su pila .............................................................................................. 106Visualizacin de recursos y datos de la pila ........................................................................ 106Monitorizacin y reversin de las operaciones de la pila ........................................................ 109Creacin de enlaces Quick-Create para pilas ...................................................................... 111Eliminacin de una pila .................................................................................................... 112Proteger una pila para impedir que la eliminen accidentalmente ............................................. 113Visualizacin de stacks eliminadas .................................................................................... 115Temas relacionados ........................................................................................................ 115

Mediante la CLI de AWS .......................................................................................................... 115Creacin de una pila ....................................................................................................... 116Descripcin y publicacin de pilas ..................................................................................... 116

Versin de API 2010-05-15iv

AWS CloudFormation Gua del usuario

Visualizacin de historial de eventos de la pila .................................................................... 119Listado de recursos ......................................................................................................... 122Recuperacin de una plantilla ........................................................................................... 122Validacin de una plantilla ................................................................................................ 123Carga de artefactos locales en un bucket de S3 .................................................................. 124Implementacin rpida de plantillas con transformaciones ..................................................... 125Eliminacin de una pila .................................................................................................... 125

Actualizaciones de pila ............................................................................................................. 126Comportamientos de actualizacin de los recursos de la pila ................................................. 126Modificacin de una plantilla de pila ................................................................................... 127Actualizacin de pilas con conjuntos de cambios ................................................................. 130Actualizacin de pilas directamente .................................................................................... 145Monitorizacin del progreso .............................................................................................. 148Cancelacin de una actualizacin de pila ............................................................................ 149Impida actualizaciones en los recursos de la pila ................................................................. 150Continuacin de la restauracin de una actualizacin ........................................................... 161

Deteccin de cambios de configuracin no administrados en pilas y recursos ................................... 164Qu es una desviacin? ................................................................................................. 164Cdigos de estado de deteccin de desviaciones ................................................................. 165Consideraciones a tener en cuenta cuando se detectan desviaciones ...................................... 166Deteccin de desviaciones en una pila de CloudFormation entera ........................................... 168Deteccin de desviaciones en recursos de la pila individuales ................................................ 173Recursos que admiten la deteccin de desviaciones ............................................................. 175

Exportacin de valores de salida de pila ..................................................................................... 177Exportacin de valores de salida de pila y Uso de pilas anidadas ........................................... 177Listado de valores de salida exportados ............................................................................. 178

Enumeracin de pilas que importan un valor de salida exportado ................................................... 178Uso de pilas anidadas ............................................................................................................. 179Uso de stacks de Windows ...................................................................................................... 181

En esta seccin .............................................................................................................. 181Plantillas y AMI de Windows ............................................................................................. 181Arranque de pilas de Windows .......................................................................................... 182

Trabajo con plantillas ....................................................................................................................... 186Formatos de plantilla ............................................................................................................... 186Anatoma de la plantilla ............................................................................................................ 187

JSON ............................................................................................................................ 187YAML ............................................................................................................................ 188Secciones de la plantilla ................................................................................................... 189Versin del formato ......................................................................................................... 190Descripcin .................................................................................................................... 190Metadatos ...................................................................................................................... 190Parmetros ..................................................................................................................... 191Mapeos ......................................................................................................................... 211Condiciones .................................................................................................................... 215Transform ...................................................................................................................... 219Recursos ....................................................................................................................... 224Outputs .......................................................................................................................... 227

Qu es AWS CloudFormation Designer? .................................................................................. 229Por qu usar Designer? ................................................................................................. 230Informacin general de la interfaz ...................................................................................... 231Cmo empezar ............................................................................................................... 241

Tutoriales ............................................................................................................................... 241Tutorial: Procedimiento de creacin de un servidor web bsico con AWS CloudFormationDesigner ........................................................................................................................ 241Tutorial: Utilice AWS CloudFormation Designer para modificar una plantilla de la pila ................. 260Interconecte con una VPC; en otra cuenta .......................................................................... 270Tutorial: Consulte las salidas de recursos en otra pila de AWS CloudFormation ......................... 278

Versin de API 2010-05-15v

AWS CloudFormation Gua del usuario

Cree un servidor web escalable con equilibrio de carga ........................................................ 280Implementacin de aplicaciones ........................................................................................ 290Creacin de condiciones de espera ................................................................................... 308

Fragmentos de cdigo de plantillas ............................................................................................ 313Generales ...................................................................................................................... 313Auto Scaling ................................................................................................................... 321AWS CloudFormation ...................................................................................................... 325CloudFront ..................................................................................................................... 330CloudWatch .................................................................................................................... 337CloudWatch Logs ............................................................................................................ 341DynamoDB ..................................................................................................................... 368Amazon EC2 .................................................................................................................. 372Amazon ECS .................................................................................................................. 387Amazon EFS .................................................................................................................. 404Elastic Beanstalk ............................................................................................................. 420Elastic Load Balancing ..................................................................................................... 422IAM ............................................................................................................................... 424AWS Lambda ................................................................................................................. 437AWS OpsWorks .............................................................................................................. 441Amazon Redshift ............................................................................................................. 446Amazon RDS ................................................................................................................. 452Route53 ........................................................................................................................ 458Amazon S3 .................................................................................................................... 463Amazon SNS .................................................................................................................. 468Amazon SQS ................................................................................................................. 469

Recursos personalizados .......................................................................................................... 469Cmo funcionan los recursos personalizados ...................................................................... 470Recursos personalizados y respaldados por Amazon Simple Notification Service ....................... 471Recursos personalizados y respaldados por AWS Lambda .................................................... 477Referencia de recursos personalizados .............................................................................. 484

Macros de plantillas ................................................................................................................. 496Cmo funcionan las macros de AWS CloudFormation ........................................................... 496Creacin de una definicin de macro de AWS CloudFormation ............................................... 497Uso de macros de AWS CloudFormation en sus plantillas ..................................................... 501Ejemplos de macros ........................................................................................................ 503Vase tambin ................................................................................................................ 503Ejemplo de macro: creacin y uso de una macro ................................................................. 504

Uso de expresiones regulares ................................................................................................... 508Uso de CloudFormer (Beta) para crear plantillas .......................................................................... 509

Paso 1: Crear una plantilla de CloudFormer ........................................................................ 509Paso 2: Lanzar la pila CloudFormer ................................................................................... 510Paso 3: Utilizar CloudFormer para crear una plantilla ............................................................ 511Paso 4: elimine la pila de CloudFormer .............................................................................. 515

Trabajo con AWS CloudFormation StackSets ...................................................................................... 516Conceptos de StackSets .......................................................................................................... 516

Cuentas de administrador y de destino ............................................................................... 517Conjuntos de pilas .......................................................................................................... 517Instancias de pila ............................................................................................................ 517Operaciones con conjuntos de pilas ................................................................................... 518Opciones de operaciones con conjuntos de pilas ................................................................. 519Etiquetas ........................................................................................................................ 520Cdigos de estado de los conjuntos de pilas y de las instancias de pilas .................................. 520

Requisitos previos: Concesin de permisos para operaciones con conjuntos de pilas ......................... 521Configuracin de permisos bsicos para operaciones con conjuntos de pilas ............................ 522Configuracin de opciones de permisos avanzados para operaciones con conjuntos de pilas ....... 524

Introduccin ............................................................................................................................ 530Crear un conjunto de pilas nuevo ...................................................................................... 530

Versin de API 2010-05-15vi

AWS CloudFormation Gua del usuario

Actualizar el conjunto de pilas ........................................................................................... 535Aadir pilas a un conjunto de pilas .................................................................................... 540Anulacin de parmetros en instancias de pila .................................................................... 541Eliminar instancias de pila ................................................................................................ 542Eliminar conjuntos de pilas ............................................................................................... 544

Puertas de cuentas de destino .................................................................................................. 546Requisitos de configuracin .............................................................................................. 546Ejemplo de funciones de regulacin de cuenta de Lambda .................................................... 547

Prcticas recomendadas .......................................................................................................... 547Definicin de la plantilla ................................................................................................... 547Creacin o adicin de pilas al conjunto de pilas ................................................................... 548Actualizacin de pilas en un conjunto de pilas ..................................................................... 548

Limitaciones de StackSets ........................................................................................................ 548Plantillas de ejemplo ................................................................................................................ 549Solucin de problemas ............................................................................................................. 549

Motivos comunes para el fallo en una operacin de la pila .................................................... 549Reintento de operaciones fallidas de creacin o actualizacin de pilas ..................................... 550No se puede eliminar una instancia de pila a causa de un error ............................................. 551

Referencia de la plantilla .................................................................................................................. 552Referencia de recursos y propiedades ........................................................................................ 552

Alexa ............................................................................................................................. 554Amazon MQ ................................................................................................................... 560API Gateway .................................................................................................................. 578Auto Scaling de aplicaciones ............................................................................................ 670AppStream 2.0 ................................................................................................................ 700AppSync ........................................................................................................................ 721Athena ........................................................................................................................... 754Auto Scaling ................................................................................................................... 756AWS Batch .................................................................................................................... 822Presupuestos .................................................................................................................. 847Certificate Manager ......................................................................................................... 860AWS Cloud9 .................................................................................................................. 864CloudFormation ............................................................................................................... 867CloudFront ..................................................................................................................... 905AWS Cloud Map ............................................................................................................. 940CloudTrail ...................................................................................................................... 953CloudWatch .................................................................................................................... 962CodeBuild ..................................................................................................................... 1004CodeCommit ................................................................................................................. 1026CodeDeploy .................................................................................................................. 1029CodePipeline ................................................................................................................ 1068Amazon Cognito ............................................................................................................ 1093AWS Config .................................................................................................................. 1124Data Pipeline ................................................................................................................ 1153DAX ............................................................................................................................ 1168Directory Service ........................................................................................................... 1180Administrador del ciclo de vida de los datos ...................................................................... 1188DMS ............................................................................................................................ 1196DynamoDB ................................................................................................................... 1221EC2 ............................................................................................................................. 1242ECR ............................................................................................................................ 1452ECS ............................................................................................................................ 1457EFS ............................................................................................................................. 1506EKS ............................................................................................................................. 1514ElastiCache .................................................................................................................. 1518Elasticsearch ................................................................................................................ 1545Elastic Beanstalk ........................................................................................................... 1558

Versin de API 2010-05-15vii

AWS CloudFormation Gua del usuario

Elastic Load Balancing ................................................................................................... 1586Elastic Load Balancing V2 .............................................................................................. 1608EMR ............................................................................................................................ 1655Amazon GameLift ......................................................................................................... 1732Adherencia ................................................................................................................... 1744GuardDuty .................................................................................................................... 1801IAM ............................................................................................................................. 1817Amazon Inspector .......................................................................................................... 1845AWS IoT ...................................................................................................................... 1851AWS IoT 1-Click ............................................................................................................ 1883AWS IoT Analytics ......................................................................................................... 1891Kinesis ......................................................................................................................... 1935KMS ............................................................................................................................ 1997Lambda ........................................................................................................................ 2004Neptune ....................................................................................................................... 2036OpsWorks .................................................................................................................... 2052RDS ............................................................................................................................ 2106Amazon Redshift ........................................................................................................... 2161Route53 ...................................................................................................................... 2178S3 ............................................................................................................................... 2207SageMaker ................................................................................................................... 2265Secrets Manager ........................................................................................................... 2292Service Catalog ............................................................................................................. 2315SES ............................................................................................................................. 2337SimpleDB ..................................................................................................................... 2373SNS ............................................................................................................................ 2374SQS ............................................................................................................................ 2383Step Functions .............................................................................................................. 2392Administrador de sistemas .............................................................................................. 2398WAF ............................................................................................................................ 2439WAF Regional ............................................................................................................... 2470WorkSpaces ................................................................................................................. 2504Tipos de propiedad compartida ........................................................................................ 2508

Especificacin de recursos ...................................................................................................... 2512Formato de especificacin .............................................................................................. 2514

Atributos de recursos ............................................................................................................. 2522CreationPolicy ............................................................................................................... 2523DeletionPolicy ............................................................................................................... 2526DependsOn .................................................................................................................. 2528Metadatos .................................................................................................................... 2534UpdatePolicy ................................................................................................................. 2534

Funciones intrnsecas ............................................................................................................. 2545Fn::Base64 ................................................................................................................ 2546Fn::Cidr .................................................................................................................... 2547Funciones de condiciones ............................................................................................... 2550Fn::FindInMap ........................................................................................................... 2565Fn::GetAtt ................................................................................................................ 2567Fn::GetAZs ................................................................................................................ 2582Fn::ImportValue ....................................................................................................... 2585Fn::Join .................................................................................................................... 2587Fn::Select ................................................................................................................ 2589Fn::Split .................................................................................................................. 2592Fn::Sub ...................................................................................................................... 2594Fn::Transform ........................................................................................................... 2597Ref ............................................................................................................................. 2598

Pseudoparmetros ................................................................................................................. 2609Ejemplo ........................................................................................................................ 2610

Versin de API 2010-05-15viii

AWS CloudFormation Gua del usuario

AWS::AccountId ............................................................................................................ 2610AWS::NotificationARNs ................................................................................................... 2610AWS::NoValue .............................................................................................................. 2611AWS::Partition ............................................................................................................... 2612AWS::Region ................................................................................................................ 2612AWS::StackId ................................................................................................................ 2612AWS::StackName .......................................................................................................... 2612AWS:: URLSuffix ........................................................................................................... 2612

Scripts auxiliares de CloudFormation ........................................................................................ 2612Imgenes de la AMI de Amazon Linux ............................................................................. 2613Descarga de paquetes para otras plataformas ................................................................... 2613Permisos para los scripts auxiliares .................................................................................. 2614Uso de la versin ms reciente ....................................................................................... 2615cfn-init .......................................................................................................................... 2615cfn-signal ...................................................................................................................... 2619cfn-get-metadata ............................................................................................................ 2624cfn-hup ........................................................................................................................ 2625

Plantillas de ejemplo ...................................................................................................................... 2630Solucin de problemas ................................................................................................................... 2631

Gua para solucionar problemas .............................................................................................. 2631Solucin de errores ............................................................................................................... 2631

Error al eliminar la pila ................................................................................................... 2632Error de dependencia ..................................................................................................... 2633Error de anlisis de parmetro al pasar una lista ................................................................ 2633Permisos de IAM insuficientes ......................................................................................... 2633Valor no vlido o propiedad de recurso no admitida ............................................................ 2633Lmite excedido ............................................................................................................. 2633Las pilas anidadas se han quedado atascadas enUPDATE_COMPLETE_CLEANUP_IN_PROGRESS,UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS oUPDATE_ROLLBACK_IN_PROGRESS ................................................................................. 2634No hay actualizaciones que realizar ................................................................................. 2634El recurso no se estabiliza durante una operacin de creacin, actualizacin o eliminacin de pila 2634El grupo de seguridad no existe en la VPC ....................................................................... 2635Error de restauracin de actualizacin ............................................................................. 2635La condicin de espera no recibi el nmero necesario de seales de una instancia Amazon EC2 2636

Cmo contactar con el servicio de soporte ................................................................................ 2637Historial de versiones ..................................................................................................................... 2638

Actualizaciones anteriores ....................................................................................................... 2690Servicios de AWS admitidos ................................................................................................... 2766

Anlisis ........................................................................................................................ 2767Servicios de aplicaciones ................................................................................................ 2768Informtica .................................................................................................................... 2769Interaccin con los clientes ............................................................................................. 2771Base de datos .............................................................................................................. 2771Herramientas para desarrolladores ................................................................................... 2772Aplicaciones empresariales ............................................................................................. 2773Desarrollo de juegos ...................................................................................................... 2773Internet de las cosas ..................................................................................................... 2773Machine Learning .......................................................................................................... 2774Herramientas de administracin ....................................................................................... 2774Servicios para mviles ................................................................................................... 2776Redes .......................................................................................................................... 2777Seguridad, identidad y conformidad .................................................................................. 2778Almacenamiento y entrega de contenido ........................................................................... 2780Software y servicios adicionales ...................................................................................... 2780

Historial de versiones de los scripts auxiliares ........................................................................... 2780

Versin de API 2010-05-15ix

AWS CloudFormation Gua del usuario

AWS Glossary .............................................................................................................................. 2783

Versin de API 2010-05-15x

AWS CloudFormation Gua del usuarioSimplificacin de la administracin de la infraestructura

Qu es AWS CloudFormation?AWS CloudFormation es un servicio que le ayuda a modelar y configurar sus recursos de Amazon WebServices, por lo que podr dedicar menos tiempo a la administracin de dichos recursos y ms tiempo acentrarse en las aplicaciones que se ejecutan en AWS. Puede crear una plantilla que describa todos losrecursos de AWS que desea (como instancias Amazon EC2 o instancias de base de datos de AmazonRDS) y AWS CloudFormation se encargar del aprovisionamiento y la configuracin de dichos recursos.No es necesario crear y configurar individualmente los recursos de AWS ni averiguar qu depende dequ. AWS CloudFormation se encarga de todo eso. Las siguientes situaciones demuestran cmo puedeayudarle AWS CloudFormation.

Simplificacin de la administracin de lainfraestructura

Para una aplicacin web escalable que tambin incluye una base de datos backend, puede utilizar ungrupo de Auto Scaling, un balanceador de carga de Elastic Load Balancing y una instancia de base dedatos de Amazon Relational Database Service. Normalmente, es posible utilizar cada servicio individualpara aprovisionar estos recursos. Y despus de crear los recursos, tendra que configurarlos para quefuncionen conjuntamente. Todas estas tareas pueden aumentar la complejidad y el tiempo incluso antes detener en funcionamiento su aplicacin.

En su lugar, puede crear o modificar una plantilla de AWS CloudFormation existente. Una plantilladescribe todos los recursos y sus propiedades. Cuando utiliza dicha plantilla para crear una pila de AWSCloudFormation, AWS CloudFormation aprovisiona el grupo de Auto Scaling, el balanceador de carga y labase de datos. Despus de que se haya creado correctamente la pila, los recursos de AWS se ponen enmarcha. Es igual de fcil eliminar la pila. En este caso, se eliminan todos los recursos de la pila. Al utilizarAWS CloudFormation, es fcil administrar un conjunto de recursos como una nica unidad.

Replicacin rpida de la infraestructuraSi su aplicacin necesita ms disponibilidad, puede replicarla en varias regiones, de modo que si unaregin deja de estar disponible, los usuarios pueden seguir utilizando su aplicacin en otras regiones. Elproblema durante la replicacin de la aplicacin es que tambin requiere que se repliquen los recursos. Nosolo necesita registrar todos los recursos que requiere su aplicacin, sino que adems debe aprovisionar yconfigurar esos recursos en cada regin.

Cuando utiliza AWS CloudFormation, puede volver a utilizar la plantilla para configurar sus recursos deforma coherente y repetida. Solo tiene que describir los recursos una vez y luego aprovisionar los mismosrecursos una y otra vez en varias regiones.

Control y seguimiento sencillos de los cambios enla infraestructura

En algunos casos, es posible que tenga recursos subyacentes que desee actualizar de forma incremental.Por ejemplo, puede pasar a un tipo de instancia de mayor rendimiento en su configuracin de lanzamientode Auto Scaling, por lo que puede reducir el nmero mximo de instancias en su grupo de Auto Scaling.Si se producen problemas despus de completar la actualizacin, es posible que necesite restaurar la

Versin de API 2010-05-151

AWS CloudFormation Gua del usuarioInformacin relacionada

configuracin original de su infraestructura. Para hacerlo manualmente, no solo tiene que recordar qurecursos se han cambiado, sino tambin necesita conocer la configuracin original.

Cuando aprovisiona su infraestructura con AWS CloudFormation, la plantilla de AWS CloudFormationdescribe exactamente qu recursos se aprovisionan y su configuracin. Dado que estas plantillas sonarchivos de texto, solo tiene que realizar un seguimiento de las diferencias en las plantillas para realizarun seguimiento de los cambios en la infraestructura, de forma similar al modo en que los desarrolladorescontrolan las revisiones del cdigo fuente. Por ejemplo, puede utilizar un sistema de control de versionescon las plantillas para saber exactamente qu cambios se han realizado, quin los ha realizado y cundo.Si en cualquier momento necesita revertir los cambios de su infraestructura, puede utilizar una versinanterior de la plantilla.

Informacin relacionada Para obtener ms informacin sobre las pilas y plantillas de AWS CloudFormation, consulte Conceptos

de AWS CloudFormation (p. 2). Si desea informacin general sobre cmo usar AWS CloudFormation, consulte Cmo funciona AWS

CloudFormation? (p. 5). Para obtener informacin sobre precios, consulte Precios de AWS CloudFormation.

Conceptos de AWS CloudFormationAl utilizar AWS CloudFormation, trabaje con plantillas y pilas. Puede crear plantillas para describir losrecursos de AWS y sus propiedades. Cuando se crea una pila, AWS CloudFormation aprovisiona losrecursos que se describen en la plantilla.

Temas Plantillas (p. 2) Pilas (p. 4) Conjuntos de cambios (p. 5)

PlantillasUna plantilla AWS CloudFormation es un archivo de texto con formato JSON o YAML. Puede guardarestos archivos con cualquier extensin, como .json, .yaml, .template o .txt. AWS CloudFormationutiliza estas plantillas como planos para crear sus recursos de AWS. Por ejemplo, en una plantilla, puededescribir una instancia Amazon EC2, como el tipo de instancia, el ID de AMI, mapeos de dispositivos debloques y el nombre de su par de claves de Amazon EC2. Cuando se crea una pila, debe especificarseuna plantilla que AWS CloudFormation utiliza para crear lo que se describe en la plantilla.

Por ejemplo, si cre una pila con la siguiente plantilla, AWS CloudFormation aprovisiona una instancia conun ID de AMI ami-0ff8a91507f77f867, un tipo de instancia t2.micro, el nombre del par de clavestestkey y un volumen de Amazon EBS.

Example JSON

{ "AWSTemplateFormatVersion" : "2010-09-09", "Description" : "A sample template", "Resources" : { "MyEC2Instance" : { "Type" : "AWS::EC2::Instance",

Versin de API 2010-05-152

http://aws.amazon.com/cloudformation/pricing/

AWS CloudFormation Gua del usuarioPlantillas

"Properties" : { "ImageId" : "ami-0ff8a91507f77f867", "InstanceType" : "t2.micro", "KeyName" : "testkey", "BlockDeviceMappings" : [ { "DeviceName" : "/dev/sdm", "Ebs" : { "VolumeType" : "io1", "Iops" : "200", "DeleteOnTermination" : "false", "VolumeSize" : "20" } } ] } } }}

Example YAML

AWSTemplateFormatVersion: "2010-09-09"Description: A sample templateResources: MyEC2Instance: Type: "AWS::EC2::Instance" Properties: ImageId: "ami-0ff8a91507f77f867" InstanceType: t2.micro KeyName: testkey BlockDeviceMappings: - DeviceName: /dev/sdm Ebs: VolumeType: io1 Iops: 200 DeleteOnTermination: false VolumeSize: 20

Tambin puede especificar varios recursos en una nica plantilla y configurar dichos recursos para quefuncionen conjuntamente. Por ejemplo, puede modificar la plantilla anterior para que incluya una direccinIP elstica (EIP) y asociarla a la instancia Amazon EC2, tal y como se muestra en el ejemplo siguiente:

Example JSON

{ "AWSTemplateFormatVersion" : "2010-09-09", "Description" : "A sample template", "Resources" : { "MyEC2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : "ami-0ff8a91507f77f867", "InstanceType" : "t2.micro", "KeyName" : "testkey", "BlockDeviceMappings" : [ { "DeviceName" : "/dev/sdm", "Ebs" : { "VolumeType" : "io1", "Iops" : "200",

Versin de API 2010-05-153

AWS CloudFormation Gua del usuarioPilas

"DeleteOnTermination" : "false", "VolumeSize" : "20" } } ] } }, "MyEIP" : { "Type" : "AWS::EC2::EIP", "Properties" : { "InstanceId" : {"Ref": "MyEC2Instance"} } } }}

Example YAML

AWSTemplateFormatVersion: "2010-09-09"Description: A sample templateResources: MyEC2Instance: Type: "AWS::EC2::Instance" Properties: ImageId: "ami-0ff8a91507f77f867" InstanceType: t2.micro KeyName: testkey BlockDeviceMappings: - DeviceName: /dev/sdm Ebs: VolumeType: io1 Iops: 200 DeleteOnTermination: false VolumeSize: 20 MyEIP: Type: AWS::EC2::EIP Properties: InstanceId: !Ref MyEC2Instance

Las plantillas anteriores se centraron en una nica instancia Amazon EC2; sin embargo, las plantillasAWS CloudFormation tienen capacidades adicionales que puede utilizar para crear conjuntos complejosde recursos y reutilizar esas plantillas en mltiples contextos. Por ejemplo, puede agregar parmetros deentrada cuyos valores se especifican al crear una pila de AWS CloudFormation. En otras palabras, puedeespecificar un valor como el tipo de instancia al crear una pila en lugar de al crear la plantilla, lo que hace ala plantilla ms fcil de reutilizar en diferentes situaciones.

Para obtener ms informacin acerca de la creacin de plantillas y capacidades, consulte Anatoma de laplantilla (p. 187).

Para obtener ms informacin sobre la declaracin de recursos especficos, consulte Referencia de tiposde recursos y propiedades de AWS (p. 552).

Para comenzar a disear sus propias plantillas con AWS CloudFormation Designer, vaya a https://console.aws.amazon.com/cloudformation/designer.

PilasAl utilizar AWS CloudFormation, administra los recursos relacionados como una nica unidad llamadapila. Puede crear, actualizar y eliminar una coleccin de recursos mediante la creacin, actualizacin y

Versin de API 2010-05-154

https://console.aws.amazon.com/cloudformation/designerhttps://console.aws.amazon.com/cloudformation/designer

AWS CloudFormation Gua del usuarioConjuntos de cambios

eliminacin de pilas. Todos los recursos de una pila se definen por la plantilla de AWS CloudFormation dela pila. Supongamos que ha creado una plantilla que incluye un grupo de Auto Scaling, un balanceadorde carga Elastic Load Balancing y una instancia de base de datos Amazon Relational Database Service(Amazon RDS). Para crear esos recursos, debe crear una pila enviando la plantilla que ha creado y AWSCloudFormation aprovisiona todos esos recursos para usted. Tambin puede trabajar con pilas utilizandola consola, la API o la AWS CLI de AWS CloudFormation.

Para obtener ms informacin sobre la creacin, actualizacin o eliminacin de pilas, consulte Uso depilas (p. 96).

Conjuntos de cambiosSi necesita realizar cambios en los recursos que estn ejecutndose en una pila, actualice la pila. Antesde realizar cambios en los recursos, puede generar un conjunto de cambios, que es un resumen de loscambios propuestos. Los conjuntos de cambios le permiten ver cmo afectan los cambios a sus recursosen ejecucin, en especial para los recursos crticos, antes de implementarlos.

Por ejemplo, si cambia el nombre de una instancia de base de datos Amazon RDS, AWS CloudFormationcrear una nueva base de datos y eliminar la antigua. Se perdern los datos de la antigua base de datosa menos que ya haya hecho una copia de seguridad. Si genera un cambio conjunto, ver que el cambioprovocar la sustitucin de la base de datos y usted podr planificar en consecuencia antes de actualizar lapila. Para obtener ms informacin, consulte Actualizacin de pilas con conjuntos de cambios (p. 130).

Cmo funciona AWS CloudFormation?Cuando crea una pila, AWS CloudFormation realiza llamadas de servicio subyacentes a AWS paraaprovisionar y configurar sus recursos. Tenga en cuenta que AWS CloudFormation solo puede realizaracciones para las cuales usted tiene permiso. Por ejemplo, para crear instancias EC2 mediante AWSCloudFormation, necesita permisos para crear instancias. Necesitar permisos similares para terminarinstancias al eliminar pilas con instancias. Utilice AWS Identity and Access Management (IAM) para laadministracin de permisos.

Su plantilla declara todas las llamadas que AWS CloudFormation hace. Por ejemplo, suponga quetiene una plantilla que describe una instancia EC2 con un tipo de instancia t1.micro. Cuando utiliza laplantilla para crear una pila, AWS CloudFormation llama a la API de creacin de instancias Amazon EC2 yespecifica el tipo de instancia como t1.micro. En el siguiente diagrama se resume el flujo de trabajo deAWS CloudFormation para la creacin de pilas.

Versin de API 2010-05-155

https://console.aws.amazon.com/cloudformation/https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/https://docs.aws.amazon.com/cli/latest/reference/cloudformationhttps://docs.aws.amazon.com/IAM/latest/UserGuide/

AWS CloudFormation Gua del usuarioCmo funciona AWS CloudFormation?

1. Puede disear una plantilla de AWS CloudFormation (un documento con formato JSON o YAML) enAWS CloudFormation Designer o escribir una en un editor de texto. Tambin puede optar por utilizaruna plantilla proporcionada. La plantilla describe los recursos que desea y sus ajustes. Por ejemplo,suponga que desea crear una instancia EC2. La plantilla puede declarar una instancia EC2 y describirsus propiedades, tal y como se muestra en el ejemplo siguiente:

Example Sintaxis del JSON

{ "AWSTemplateFormatVersion" : "2010-09-09", "Description" : "A simple EC2 instance", "Resources" : { "MyEC2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : "ami-0ff8a91507f77f867", "InstanceType" : "t1.micro" } } }}

Example Sintaxis del YAML

AWSTemplateFormatVersion: '2010-09-09'Description: A simple EC2 instanceResources: MyEC2Instance: Type: AWS::EC2::Instance Properties: ImageId: ami-0ff8a91507f77f867 InstanceType: t1.micro

2. Guarde la plantilla localmente o en un bucket de S3. Si cre una plantilla, gurdela con cualquierextensin de archivo como .json, .yaml o .txt.

3. Cree una pila de AWS CloudFormation especificando la ubicacin de su archivo de plantilla, como,por ejemplo, una ruta en el equipo local o en una direccin URL de Amazon S3. Si la plantilla contieneparmetros, puede especificar los valores de entrada al crear la pila. Los parmetros le permiten pasarvalores a la plantilla para poder personalizar sus recursos cada vez que crea una pila.

Puede crear pilas utilizando la consola (p. 98) de AWS CloudFormation, la API o la CLI de AWS.

Note

Si especifica un archivo de plantilla almacenado localmente, AWS CloudFormation lo carga enun bucket de S3 en su cuenta de AWS. AWS CloudFormation crea un bucket para cada reginen la que carga un archivo de plantilla. Cualquiera con permisos de Amazon Simple StorageService (Amazon S3) en su cuenta de AWS puede obtener acceso a los buckets. Si ya hubieraun bucket creado por AWS CloudFormation, la plantilla se aade a dicho bucket.Puede utilizar su propio bucket y administrar sus permisos cargando manualmente las plantillasa Amazon S3. Entonces, siempre que cree o actualice una pila, especifique la URL de AmazonS3 de un archivo de plantilla.

AWS CloudFormation aprovisiona y configura recursos realizando llamadas a los servicios de AWS que sedescriben en su plantilla.

Una vez que se han creado todos los recursos, AWS CloudFormation informa que se ha creado su pila. Acontinuacin, puede comenzar a utilizar los recursos de la pila. Si se produce un error durante la creacinde la pila, AWS CloudFormation revierte los cambios eliminando los recursos que cre.

Versin de API 2010-05-156

https://console.aws.amazon.com/cloudformation/designerhttps://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.htmlhttps://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html

AWS CloudFormation Gua del usuarioActualizacin de una pila con conjuntos de cambios

Actualizacin de una pila con conjuntos de cambiosCuando tenga que actualizar los recursos de su pila, puede modificar la plantilla de los recursos. No esnecesario crear una nueva pila y eliminar la antigua. Para actualizar una pila, cree un conjunto de cambiosenviando una versin modificada de la plantilla de pila original, diferentes valores de parmetros deentrada, o ambos. AWS CloudFormation compara la plantilla modificada con la plantilla original y generaun conjunto de cambios. El conjunto de cambios enumera las modificaciones propuestas. Tras revisar loscambios, puede ejecutar el conjunto de cambios para actualizar la pila o puede crear un nuevo conjunto decambios. En el siguiente diagrama se resume el flujo de trabajo para la actualizacin de una pila.

Important

Las actualizaciones pueden causar interrupciones. Dependiendo del recurso y de laspropiedades que est actualizando, una actualizacin podra interrumpir o incluso sustituir unrecurso existente. Para obtener ms informacin, consulte Actualizaciones de pilas de AWSCloudFormation (p. 126).

1. Puede modificar una plantilla de pila de AWS CloudFormation utilizando AWS CloudFormation Designero un editor de texto. Por ejemplo, si desea cambiar el tipo de instancia de una instancia EC2, debercambiar el valor de la propiedad InstanceType en la plantilla original de la pila.

Para obtener ms informacin, consulte Modificacin de una plantilla de pila (p. 127).2. Guarde la plantilla de AWS CloudFormation localmente o en un bucket de S3.3. Cree un conjunto de cambios especificando la pila que desea actualizar y la ubicacin de la plantilla

modificada, como por ejemplo una ruta en su equipo local o una direccin URL de Amazon S3. Si laplantilla contiene parmetros, puede especificar valores al crear el conjunto de cambios.

Para obtener ms informacin sobre la creacin de conjuntos de cambios, consulte Actualizacin depilas con conjuntos de cambios (p. 130).

Note

Si especifica una plantilla almacenada en su equipo local, AWS CloudFormation cargarautomticamente su plantilla a un bucket de S3 en su cuenta de AWS.

4. Vea el conjunto de cambios para comprobar que AWS CloudFormation realizar los cambios queespera. Por ejemplo, compruebe si AWS CloudFormation reemplazar cualquier recurso crtico de lapila. Puede crear tantos conjuntos de cambios como necesite hasta que haya incluido los cambios quedesea.

Important

Los conjuntos de cambios no indican si la actualizacin de la pila se realizar correctamente.Por ejemplo, un conjunto de cambios no comprueba si se va a sobrepasar un lmite (p. 22)de cuenta, si va a actualizar un recurso (p. 552) que no admite actualizaciones o si no tienesuficientes permisos (p. 10) para modificar un recurso, todo esto puede causar el error deactualizacin de una pila.

Versin de API 2010-05-157

https://console.aws.amazon.com/cloudformation/designer

AWS CloudFormation Gua del usuarioEliminacin de una pila

5. Ejecute el conjunto de cambios que desea aplicar a la pila. AWS CloudFormation actualiza la pilaactualizando nicamente los recursos que ha modificado y seala que se ha actualizado correctamentela pila. Si se produce un error en la actualizacin de la pila, AWS CloudFormation revierte los cambiospara restaurar la pila al ltimo estado de funcionamiento conocido.

Eliminacin de una pilaAl eliminar una pila, debe especificar la pila que se debe eliminar, y AWS CloudFormation elimina lapila y todos los recursos en dicha pila. Puede eliminar pilas utilizando la consola (p. 112) de AWSCloudFormation, la API o la CLI de AWS.

Si desea eliminar una pila, pero desea conservar algunos recursos de la pila, puede usar una poltica deeliminacin (p. 2526) para conservar dichos recursos.

Una vez que se han eliminado todos los recursos, AWS CloudFormation seala que se ha eliminadocorrectamente su pila. Si AWS CloudFormation no puede eliminar un recurso, no se eliminar la pila.Cualquier recurso que no se haya eliminado permanecer hasta que pueda eliminar correctamente la pila.

Recursos adicionales Para obtener ms informacin acerca de la creacin de plantillas de AWS CloudFormation, consulte

Anatoma de la plantilla (p. 187).

Para obtener ms informacin sobre la creacin, actualizacin o eliminacin de pilas, consulte Uso depilas (p. 96).

Versin de API 2010-05-158

https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStack.htmlhttps://docs.aws.amazon.com/cli/latest/reference/cloudformation/delete-stack.html

AWS CloudFormation Gua del usuarioInscripcin en una cuenta de AWS y precios

ConfiguracinAntes de comenzar a utilizar AWS CloudFormation, es posible que necesite saber qu permisos de IAMnecesita, cmo iniciar el registro de las llamadas a la API de AWS CloudFormation o qu puntos deenlace utilizar. Los siguientes temas proporcionan esta informacin para poder comenzar a utilizar AWSCloudFormation.

Temas Inscripcin en una cuenta de AWS y precios (p. 9) Controlar el acceso con AWS Identity and Access Management (p. 10) Registro de llamadas a la API de AWS CloudFormation con AWS CloudTrail (p. 18) Lmites de AWS CloudFormation (p. 22) Puntos de enlace de AWS CloudFormation (p. 24) Configuracin de puntos de enlace de la VPC para AWS CloudFormation (p. 24)

Inscripcin en una cuenta de AWS y preciosPara poder utilizar AWS CloudFormation o Amazon Web Services, antes debe inscribirse en una cuenta deAWS.

Para inscribirse en una cuenta de AWS

1. Abra https://aws.amazon.com/ y, a continuacin, elija Create an AWS Account.

Note

Si ha iniciado previamente sesin en la Consola de administracin de AWS con lascredenciales deUsuario de la cuenta raz de AWS, elija Sign in to a different account (Iniciarsesin en una cuenta distinta). Si ha iniciado previamente sesin en la consola con lascredenciales de IAM, elija Sign-in using root account credentials (Iniciar sesin con lascredenciales de la cuenta raz). A continuacin, elija Create a new AWS account.

2. Siga las instrucciones en lnea.

Parte del procedimiento de inscripcin consiste en recibir una llamada telefnica e introducir un cdigode verificacin con su teclado de telfono.

Una vez que se haya inscrito en una cuenta de AWS, puede usar AWS CloudFormation a travs de laConsola de administracin de AWS, la API de AWS CloudFormation o la CLI de AWS.

PreciosAWS CloudFormation es un servicio gratuito; no obstante, se le cobrar por los recursos de AWS queincluya en sus pilas a las tarifas actuales para cada uno. Para obtener ms informacin sobre los preciosde AWS, consulte la pgina de detalles correspondiente a cada producto en http://aws.amazon.com.

Versin de API 2010-05-159

https://console.aws.amazon.com/cloudformation/https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/https://docs.aws.amazon.com/cli/latest/reference/cloudformationhttp://aws.amazon.com

AWS CloudFormation Gua del usuarioControlar el acceso con IAM

Controlar el acceso con AWS Identity and AccessManagement

Con AWS Identity and Access Management (IAM), puede crear usuarios de IAM para controlar quin tieneacceso a qu recursos en su cuenta de AWS. Puede utilizar IAM con AWS CloudFormation para controlarlo que los usuarios pueden hacer con AWS CloudFormation, como, por ejemplo, si pueden ver las plantillasde pila, crear pilas o eliminar pilas.

Adems de acciones de AWS CloudFormation, puede administrar qu servicios y recursos de AWS estndisponibles para cada usuario. De esa manera, puede controlar a qu recursos pueden obtener acceso losusuarios cuando utilizan AWS CloudFormation. Por ejemplo, puede especificar qu usuarios pueden crearinstancias Amazon EC2, terminar instancias de base de datos o actualizar VPC. Estos mismos permisosse aplican siempre que utilizan AWS CloudFormation para realizar esas acciones.

Para obtener ms informacin acerca de todos los servicios cuyo acceso puede controlar, consulteServicios de AWS que funcionan con IAM en la Gua del usuario de IAM.

Temas Acciones de AWS CloudFormation (p. 10) Recursos de AWS CloudFormation (p. 12) Condiciones de AWS CloudFormation (p. 12) Reconocimiento de recursos de IAM en plantillas de AWS CloudFormation (p. 15) Administracin de credenciales para aplicaciones que se ejecutan en instancias Amazon

EC2 (p. 16) Concesin de acceso temporal (acceso federado) (p. 16) Rol de servicio de AWS CloudFormation (p. 17)

Acciones de AWS CloudFormationAl crear un grupo o un usuario de IAM en su cuenta de AWS, puede asociar una poltica de IAM con dichogrupo o usuario, que especifica los permisos que desea conceder. Por ejemplo, imagine que tiene ungrupo de desarrolladores de nivel inicial. Puede crear un grupo Junior application developers queincluya a todos los desarrolladores de nivel inicial. A continuacin, puede asociar una poltica a ese grupoque permite a los usuarios ver solamente pilas de AWS CloudFormation. En esta situacin, es posible quetenga una poltica como la que se muestra en el siguiente ejemplo:

Example Una poltica de ejemplo que concede permisos para ver la pila

{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":[ "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources" ], "Resource":"*" }]}

La poltica otorga permisos a todas las acciones de la API DescribeStack que aparecen en el elementoAction.

Versin de API 2010-05-1510

https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_SpecificProducts.html

AWS CloudFormation Gua del usuarioAcciones de AWS CloudFormation

Note

Si no especifica un nombre de pila o ID en su declaracin, tambin debe conceder permiso parautilizar todos los recursos para la accin utilizando el comodn * para el elemento Resource.

Adems de las acciones de AWS CloudFormation, los usuarios de IAM que crean o eliminan pilasrequieren permisos adicionales que dependen de las plantillas de pilas. Por ejemplo, si tiene una plantillaque describe una cola Amazon SQS, el usuario debe tener los permisos correspondientes para que lasacciones de Amazon SQS creen correctamente la pila, tal y como se muestra en la siguiente poltica deejemplo:

Example Una poltica de ejemplo que concede acciones de creacin y visualizacin de pila y todaslas acciones Amazon SQS

{ "Version":"2012-10-17", "Statement":[{ "Effect":"Allow", "Action":[ "sqs:*", "cloudformation:CreateStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResources", "cloudformation:GetTemplate", "cloudformation:ValidateTemplate" ], "Resource":"*" }]}

Para obtener una lista de todas las acciones de AWS CloudFormation que puede permitir o denegar,consulte AWS CloudFormation API Reference.

Acciones especficas de la consola de AWS CloudFormationLos usuarios de IAM que utilizan la consola de AWS CloudFormation requieren permisos adicionales queno son necesarios para utilizar las API de AWS Command Line Interface o de AWS CloudFormation. Encomparacin con la CLI y la API, la consola ofrece caractersticas adicionales que requieren permisosadicionales, como, por ejemplo, las cargas de plantilla para buckets de Amazon S3 y listas desplegablespara tipos de parmetros especficos de AWS (p. 195).

Para todas las acciones siguientes, conceda permisos a todos los recursos; no limite las acciones a pilas obuckets especficos.

La siguiente accin necesaria es utilizada nicamente por la consola de AWS CloudFormation y no sedocumenta en la referencia de la API. La accin permite a los usuarios cargar plantillas para buckets deAmazon S3.

cloudformation:CreateUploadBucket

Cuando los usuarios cargan plantillas, necesitan los siguientes permisos de Amazon S3:

s3:PutObjects3:ListBuckets3:GetObjects3:CreateBucket

Para las plantillas con tipos de parmetros especficos de AWS (p. 195), los usuarios necesitanpermisos para realizar las llamadas a la API. Por ejemplo, si una plantilla incluye el tipo de parmetro

Versin de API 2010-05-1511

https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/

AWS CloudFormation Gua del usuarioRecursos de AWS CloudFormation

AWS::EC2::KeyPair::KeyName, los usuarios necesitan permiso para llamar a la accinDescribeKeyPairs de EC2 (as es como la consola obtiene valores para la lista desplegable deparmetros). Los siguientes ejemplos son acciones que los usuarios necesitan para otros tipos deparmetros:

ec2:DescribeSecurityGroups (for the AWS::EC2::SecurityGroup::Id parameter type)ec2:DescribeSubnets (for the Subnet::Id parameter type)ec2:DescribeVpcs (for the AWS::EC2::VPC::Id parameter type)

Recursos de AWS CloudFormationAWS CloudFormation admite permisos de nivel de recursos, para que pueda especificar acciones para unapila especfica, tal y como se muestra en la siguiente poltica:

Example Una poltica de ejemplo que deniegue las acciones de eliminacin y actualizacin de pilapara MyProductionStack

{ "Version":"2012-10-17", "Statement":[{ "Effect":"Deny", "Action":[ "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Resource":"arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/*" }]}

La poltica anterior utiliza un comodn al final del nombre de la pila a fin de denegar la pila de eliminaciny la pila de actualizacin en el ID de pila completo (como, por ejemplo, arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/abc9dbf0-43c2-11e3-a6e8-50fa526be49c) y en el nombre de la pila (como, por ejemplo, MyProductionStack).

Para permitir que las transformaciones AWS::Serverless creen un cambio, la poltica debeincluir el permiso a nivel de recursos arn:aws:cloudformation::aws:transform/Serverless-2016-10-31, tal y como se muestra en la poltica siguiente:

Example Una poltica de ejemplo que permite la accin de creacin de conjunto de cambios parala transformacin

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "cloudformation:CreateChangeSet" ], "Resource": "arn:aws:cloudformation:us-west-2:aws:transform/Serverless-2016-10-31" }]}

Condiciones de AWS CloudFormationEn una poltica de IAM, tiene la opcin de especificar las condiciones que controlan cundo est en vigoruna poltica. Por ejemplo, puede definir una poltica que permite a los usuarios de IAM crear una pila solo

Versin de API 2010-05-1512

AWS CloudFormation Gua del usuarioCondiciones de AWS CloudFormation

cuando se especifica una URL de plantilla determinada. Puede definir las condiciones especficas de AWSCloudFormation y las condiciones generales de AWS como, por ejemplo, DateLessThan, que especificaen qu momento deja de estar en vigor una poltica. Para obtener ms informacin y una lista de lascondiciones generales de AWS, consulte Condition (Condicin) en la Referencia de los elementos de laspolticas de JSON de IAM en la Gua del usuario de IAM.

Note

No utilice la condicin aws:SourceIp que se aplica a todo AWS. AWS CloudFormationaprovisiona recursos con su propia direccin IP, no la direccin IP de la solicitud de origen. Porejemplo, al crear una pila, AWS CloudFormation realiza solicitudes desde su direccin IP paralanzar una instancia EC2 o para crear un bucket de S3, en lugar de hacerlo desde la direccin IPde la llamada CreateStack o el comando aws cloudformation create-stack.

En la siguiente lista se describen las condiciones especficas de AWS CloudFormation. Las condiciones seaplican nicamente cuando los usuarios crean o actualizan pilas:

cloudformation:ChangeSetName

Nombre de conjunto de cambios de AWS CloudFormation que desea asociar con una poltica. Utiliceesta condicin para controlar qu conjuntos de cambios pueden ejecutar o eliminar los usuarios deIAM.

cloudformation:ResourceTypes

Los tipos de recursos de plantilla como, por ejemplo AWS::EC2::Instance, que desea asociarcon una poltica. Utilice esta condicin para controlar con qu tipo de recursos pueden trabajar losusuarios de IAM al crear o actualizar una pila. Esta condicin se compara con los tipos de recursosque los usuarios declaran en el parmetro ResourceTypes, que es compatible actualmente solopara solicitudes de CLI y de API. Cuando se utiliza este parmetro, los usuarios deben especificartodos los tipos de recursos presentes en su plantilla. Para obtener ms informacin sobre el parmetroResourceTypes, consulte la accin CreateStack en la AWS CloudFormation API Reference.

En la siguiente lista se describe cmo definir tipos de recursos. Para obtener una lista de los tipos derecursos, consulte Referencia de tipos de recursos y propiedades de AWS (p. 552).AWS::*

Especifique todos los recursos de AWS.AWS::service_name::*

Especifique todos los recursos de un servicio de AWS especfico.AWS::service_name::resource_type

Especifique un tipo de recurso de AWS especfico, como, por ejemplo, AWS::EC2::Instance(todas las instancias EC2).

Custom::*

Especifique todos los recursos personalizados.Custom::resource_type

Especifique un tipo de recurso personalizado especfico, que se define en la plantilla.cloudformation:RoleARN

El Nombre de recurso de Amazon (ARN) de un rol de servicio de IAM que desea asociar con unapoltica. Utilice esta condicin para controlar qu rol de servicio pueden utilizar los usuarios de IAM altrabajar con pilas o conjuntos de cambios.

cloudformation:StackPolicyUrl

Una URL de poltica de pila de Amazon S3 que desea asociar con una poltica. Utilice esta condicinpara controlar qu polticas de pila pueden asociar los usuarios de IAM con una pila durante una

Versin de API 2010-05-1513

https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html#Conditionhttps://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html#Conditionhttps://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html

AWS CloudFormation Gua del usuarioCondiciones de AWS CloudFormation

accin de creacin o actualizacin de la pila. Para obtener ms informacin sobre las polticas de pila,consulte Impida actualizaciones en los recursos de la pila (p. 150).

Note

Para garantizar que los usuarios de IAM solo pueden crear o actualizar pilas con las polticasde pila que ha subido, establezca el bucket de S3 en read only para dichos usuarios.

cloudformation:TemplateUrl

Una URL de plantilla de Amazon S3 que desea asociar con una poltica. Utilice esta condicin paracontrolar qu plantillas pueden usar los usuarios de IAM al crear o actualizar pilas.

Note

Para garantizar que los usuarios de IAM solo pueden crear o actualizar pilas con las plantillasque ha subido, establezca el bucket de S3 en read only para dichos usuarios.

EjemplosLa siguiente poltica de ejemplo permite a los usuarios utilizar nicamente la URL de plantilla https://s3.amazonaws.com/testbucket/test.template para crear o actualizar una pila.

Example Condicin de URL de plantilla

{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack", "cloudformation:UpdateStack" ], "Resource" : "*", "Condition" : { "ForAllValues:StringEquals" : { "cloudformation:TemplateUrl" : [ "https://s3.amazonaws.com/testbucket/test.template" ] } } } ]}

La siguiente poltica de ejemplo permite a los usuarios crear pilas pero deniega las solicitudes si la plantillade la pila incluye cualquier recurso del servicio de IAM. La poltica tambin requiere que los usuariosespecifiquen el parmetro ResourceTypes, que solo est disponible para las solicitudes de la API y laCLI. Esta poltica utiliza declaraciones de denegacin explcita de modo que si cualquier otra poltica otorgapermisos adicionales, esta poltica siempre permanecer en vigor (una declaracin de denegacin explcitasiempre anula una declaracin de permiso explcita).

Example Condicin de tipo de recurso

{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack" ], "Resource" : "*" }, { "Effect" : "Deny", "Action" : [ "cloudformation:CreateStack" ],

Versin de API 2010-05-1514

AWS CloudFormation Gua del usuarioReconocimiento de recursos de IAMen plantillas de AWS CloudFormation

"Resource" : "*", "Condition" : { "ForAnyValue:StringLikeIfExists" : { "cloudformation:ResourceTypes" : [ "AWS::IAM::*" ] } } }, { "Effect": "Deny", "Action" : [ "cloudformation:CreateStack" ], "Resource": "*", "Condition": { "Null": { "cloudformation:ResourceTypes": "true" } } } ]}

La siguiente poltica de ejemplo es parecida al ejemplo anterior. La poltica permite a los usuarios crearuna pila salvo si la plantilla de la pila incluye cualquier recurso del servicio de IAM. Tambin requiere quelos usuarios especifiquen el parmetro ResourceTypes, que solo est disponible para las solicitudes dela API y la CLI. Esta poltica es ms sencilla, pero no utiliza declaraciones de denegacin explcita. Otraspolticas, que conceden permisos adicionales, podran anular esta poltica.

Example Condicin de tipo de recurso

{ "Version":"2012-10-17", "Statement":[ { "Effect" : "Allow", "Action" : [ "cloudformation:CreateStack" ], "Resource" : "*", "Condition" : { "ForAllValues:StringNotLikeIfExists" : { "cloudformation:ResourceTypes" : [ "AWS::IAM::*" ] }, "Null":{ "cloudformation:ResourceTypes": "false" } } } ]}

Reconocimiento de recursos de IAM en plan


Top Related