

# Administración de pilas entre cuentas y regiones con StackSets
<a name="what-is-cfnstacksets"></a>

CloudFormation StackSets amplía la funcionalidad de las pilas al permitirle crear, actualizar o eliminar pilas de varias cuentas y Regiones de AWS con una sola operación. Con una cuenta de administrador, defina y gestione una plantilla de CloudFormation y utilice esta plantilla como base para aprovisionar pilas en cuentas de destino seleccionadas a lo largo de las Regiones de AWS especificadas.

![\[Un StackSet es una colección de recursos en una plantilla que se implementa en varias cuentas y regiones.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/stack_set_conceptual_sv.png)


En esta sección se incluye información que lo ayuda a comenzar a utilizar StackSets y se responde a preguntas comunes acerca de cómo trabajar con StackSets y resolver los problemas de creación, actualización y eliminación de los StackSets.

**Topics**
+ [Conceptos de StackSets](stacksets-concepts.md)
+ [Requisitos previos para utilizar CloudFormation StackSets](stacksets-prereqs.md)
+ [Introducción a los StackSets con una plantilla de ejemplo](stacksets-getting-started.md)
+ [Creación de StackSets de CloudFormation con permisos autoadministrados](stacksets-getting-started-create-self-managed.md)
+ [Creación de StackSets de CloudFormation con permisos administrados por servicios](stacksets-orgs-associate-stackset-with-org.md)
+ [Habilitar o deshabilitar las implementaciones automáticas para StackSets en AWS Organizations](stacksets-orgs-manage-auto-deployment.md)
+ [Actualización de StackSets de CloudFormation](stacksets-update.md)
+ [Adición pilas a CloudFormation StackSets](stackinstances-create.md)
+ [Anulación de los valores de los parámetros en pilas en el StackSet de CloudFormation](stackinstances-override.md)
+ [Eliminación de pilas de CloudFormation StackSets](stackinstances-delete.md)
+ [Eliminación de StackSets de CloudFormation](stacksets-delete.md)
+ [Cómo evitar las implementaciones fallidas de StackSets mediante puertas de cuentas de destino](stacksets-account-gating.md)
+ [Elección del modo de simultaneidad para CloudFormation StackSets](concurrency-mode.md)
+ [Detección de desviaciones en CloudFormation StackSets](stacksets-drift.md)
+ [Importación de pilas en CloudFormation StackSets](stacksets-import.md)
+ [Prácticas recomendadas para utilizar CloudFormation StackSets](stacksets-bestpractices.md)
+ [Plantilla de ejemplo de CloudFormation StackSets](stacksets-sampletemplates.md)
+ [Solución de problemas de CloudFormation StackSets](stacksets-troubleshooting.md)

# Conceptos de StackSets
<a name="stacksets-concepts"></a>

Los siguientes conceptos y terminología son fundamentales para entender y utilizar StackSets.

**Topics**
+ [Cuentas de administrador y de destino](#stacksets-concepts-accts)
+ [CloudFormation StackSets](#stacksets-concepts-stackset)
+ [Modelos de permisos para StackSets](#stacksets-concepts-stackset-permission-models)
+ [Instancias de pila](#stacksets-concepts-stackinstances)
+ [Operaciones de StackSets](#stacksets-concepts-ops)
+ [Opciones de operaciones con StackSets](#stackset-ops-options)
+ [Etiquetas](#stackset-concepts-tags)
+ [Códigos de estado de StackSets](#stackset-status-codes)
+ [Códigos de estado de la instancia de pila](#stack-instance-status-codes)

## Cuentas de administrador y de destino
<a name="stacksets-concepts-accts"></a>

Una *cuenta de administrador* es la Cuenta de AWS en la que se crean los StackSets. Para StackSets con permisos administrados por servicios, la cuenta de administrador es la cuenta de administración de la organización o una cuenta de administrador delegado. Para administrar un StackSet, inicie sesión en la cuenta de administrador de AWS que creó el StackSet.

Una *cuenta de destino* es la cuenta en la que se crean, actualizan o eliminan una o varias pilas del StackSet. Para poder utilizar un StackSet para crear pilas en una cuenta de destino, configure una relación de confianza entre las cuentas de administrador y de destino.

## CloudFormation StackSets
<a name="stacksets-concepts-stackset"></a>

Un *StackSet* sirve como contenedor para múltiples pilas que se implementan en cuentas de Cuentas de AWS y regiones específicas. Cada pila se basa en la misma plantilla de CloudFormation, pero puede personalizar pilas individuales mediante parámetros.

Una vez definido un StackSet, puede crear, actualizar o eliminar pilas de las cuentas de destino y las Regiones de AWS que especifique. Al crear, actualizar o eliminar pilas, también puede especificar las preferencias de operación. Por ejemplo, incluya el orden de las regiones en las que desea llevar a cabo la operación, el umbral de tolerancia a errores antes de que se detengan las operaciones de pila y el número de cuentas que llevan a cabo operaciones de pila simultáneamente.

Un StackSet es un recurso regional. Si crea un StackSet configurado en una Región de AWS, solo puede verla o cambiarla cuando vea esa región.

## Modelos de permisos para StackSets
<a name="stacksets-concepts-stackset-permission-models"></a>

Puede crear StackSets mediante permisos *autoadministrados* o permisos *administrados por servicios*.

Con permisos *autoadministrados* puede crear los roles de IAM que StackSets necesita para la implementación en cuentas y regiones. Estos roles son necesarios para establecer una relación de confianza entre la cuenta desde la que está administrando el StackSet y la cuenta en la que está implementando instancias de pila. Con este modelo de permisos, StackSets puede implementar en cualquier Cuenta de AWS en la que tenga permisos para crear un rol de IAM.

Con los permisos *administrados por servicios* puede implementar instancias de pilas en cuentas administradas por AWS Organizations. Al usar el modelo de permisos, no tiene que crear los roles de IAM necesarios; StackSets crea los roles de IAM en su nombre. Con este modelo, también puede activar implementaciones automáticas en cuentas que agregará a su organización en el futuro.

AWS Organizations se integra con CloudFormation y ayuda a administrar y gobernar su entorno de forma centralizada a medida que escala y hace crecer sus recursos de AWS.
+ Cuenta de administración: la cuenta que usa para crear la organización. Para obtener más información, consulte [Terminología y conceptos de AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html).
+ Administrador delegado: un servicio de AWS compatible puede registrar una cuenta miembro de AWS en la organización como administrador de las cuentas de la organización en ese servicio. Para obtener más información, consulte [Servicios de AWS que se pueden utilizar con AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services_list.html).

Para obtener más información acerca de cómo crear y administrar StackSets con permisos administrados por servicios, consulte los temas siguientes:
+ [Activación del acceso de confianza para StackSets con AWS Organizations](stacksets-orgs-activate-trusted-access.md)
+ [Registro de una cuenta miembro como administrador delegado](stacksets-orgs-delegated-admin.md)
+ [Creación de StackSets de CloudFormation con permisos administrados por servicios](stacksets-orgs-associate-stackset-with-org.md)

## Instancias de pila
<a name="stacksets-concepts-stackinstances"></a>

Una *instancia de pila* es una referencia a una pila en una cuenta de destino dentro de una región. Puede existir una instancia de pila sin una pila. Por ejemplo, si la pila no se pudo crear por alguna razón, la instancia de pila muestra el motivo del error de creación de la pila. Una instancia de pila se asocia con un solo StackSet.

En la siguiente figura se muestran las relaciones lógicas entre los StackSets, las operaciones de pila y las pilas. Al actualizar un StackSet, *todas* las instancias de pila asociadas se actualizan en todas las cuentas y regiones.

![\[Un StackSet puede crear, actualizar o eliminar instancias de pila y pilas en varias cuentas y regiones.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/stack_sets_operations_stacks_sv.png)


## Operaciones de StackSets
<a name="stacksets-concepts-ops"></a>

Puede llevar a cabo las siguientes operaciones en StackSets.

Creación de un StackSet  
Para crear un nuevo StackSet es necesario especificar una plantilla de CloudFormation que desee utilizar para crear pilas, especificar las cuentas de destino en las que desee crear pilas e identificar las Regiones de AWS en las que desee implementar pilas en sus cuentas de destino. Un StackSet garantiza la implementación coherente de los mismos recursos de pila, con la misma configuración, en todas las cuentas de destino especificadas dentro de las regiones que elija.

Actualización de un StackSet  
Al actualizar un StackSet, envía cambios a las pilas del StackSet. Puede actualizar un StackSet de cualquiera de las siguientes formas. Las actualizaciones de la plantilla siempre afectan a todas las pilas; no puede actualizar la plantilla de manera selectiva para algunas pilas del StackSet, pero no para otras.  
+ Cambiar la configuración existente en la plantilla o añadir nuevos recursos, como actualizar la configuración de los parámetros de un servicio específico o añadir nuevas instancias Amazon EC2.
+ Reemplazar la plantilla por otra.
+ Añadir pilas en cuentas de destino adicionales o existentes, en regiones adicionales o existentes.

Eliminar pilas  
Al eliminar pilas, elimina una pila y todos sus recursos asociados de las cuentas de destino que especifique, dentro de las regiones que indique. Puede eliminar pilas de las siguientes maneras.  
+ Eliminar pilas de algunas cuentas de destino, mientras deja en ejecución otras pilas en otras cuentas de destino.
+ Eliminar pilas de algunas regiones, dejando en ejecución pilas en otras regiones.
+ Eliminar pilas del StackSet, pero guardarlas para que sigan ejecutándose independientemente del StackSet al elegir la opción **Retener pilas**. Luego puede administrar las pilas retenidas fuera del StackSet en CloudFormation.
+ Eliminar todas las pilas del StackSet como preparación para eliminar todo el StackSet.

Eliminación de un StackSet  
Solo puede eliminar el StackSet cuando no haya instancias de pila en él.

## Opciones de operaciones con StackSets
<a name="stackset-ops-options"></a>

Las opciones que se describen en esta sección ayudan a controlar el tiempo y el número de errores que se permiten para llevar a cabo correctamente operaciones con StackSets y evitan que pierda recursos de pila.

Maximum concurrent accounts  
Esta configuración, disponible al crear, actualizar y eliminar flujos de trabajo, permite especificar el número máximo o el porcentaje de cuentas de destino en el que se lleva a cabo una operación en un momento dado. Un número o porcentaje menor significa que una operación se lleva a cabo en menos cuentas de destino a la vez. Las operaciones se llevan a cabo en una región a la vez, en el orden especificado en el cuadro **Deployment order** (Orden de implementación). Por ejemplo, si va a implementar pilas en 10 cuentas de destino en dos regiones, al establecer **Maximum concurrent accounts** (Número máximo de cuentas simultáneas) en **50** y **By percentage** (Por porcentaje), se implementarán pilas en cinco cuentas de la primera región, y luego en las segundas cinco cuentas de la primera región, antes de pasar a la siguiente región y empezar la implementación en las primeras cinco cuentas de destino.  
Cuando elige **By percentage (Por porcentaje)**, si el porcentaje especificado no representa un número entero de sus cuentas especificadas, CloudFormation lo redondea hacia abajo. Por ejemplo, si va a implementar pilas en 10 cuentas de destino, y establece **Maximum concurrent accounts (Número máximo de cuentas simultáneas)** en **25** y **By percentage (Por porcentaje)**, CloudFormation hace un redondeo hacia abajo y pasa de implementar 2,5 pilas de forma simultánea (lo que no sería posible) a implementar dos pilas simultáneamente.  
Tenga en cuenta que esta configuración le permite especificar el número *máximo* de operaciones. En implementaciones grandes, el número real de cuentas sobre las que se actúa simultáneamente puede ser menor en determinadas circunstancias debido a la limitación controlada de los servicios.  
**El número máximo de cuentas simultáneas** puede depender del valor de la **tolerancia a errores** en función del **modo de simultaneidad**. Si el **modo de simultaneidad** está configurado con una **tolerancia a errores estricta**, el número **máximo de cuentas simultáneas** puede ser como máximo una vez más que el valor de **tolerancia a errores**.

Modo de simultaneidad  
Esta configuración, disponible en los flujos de trabajo de creación, actualización y eliminación, le permite elegir cómo se comporta el nivel de simultaneidad durante las operaciones con StackSets. Para obtener más información, consulte [Elección del modo de simultaneidad para CloudFormation StackSets](concurrency-mode.md).

Failure tolerance  
Esta configuración, disponible al crear, actualizar y eliminar flujos de trabajo, permite especificar el número o el porcentaje máximo de fallos en las operaciones de pila que pueden producirse, por región, a partir del cual CloudFormation detiene una operación automáticamente. Un número o porcentaje menor significa que la operación se lleva a cabo en menos pilas, pero puede empezar antes a solucionar problemas de las operaciones con errores. Por ejemplo, si va a actualizar 10 pilas en 10 cuentas de destino de tres regiones, establecer **Tolerancia a errores** en **20** y **Por porcentaje** significa que pueden fracasar como máximo dos actualizaciones de pila en una región para que la operación pueda continuar. Si se produce un error en una tercera pila de la misma región, CloudFormation detiene la operación. Si una pila no se puede actualizar en la primera región, la operación de actualización continúa en esa región y luego pasa a la siguiente región. Si dos pilas no se pueden actualizar en la segunda región, se alcanza la tolerancia a errores del 20 %; si se produce un error en una tercera pila de la región, CloudFormation detiene la operación de actualización y no continúa en las regiones siguientes.  
Cuando elige **By percentage (Por porcentaje)**, si el porcentaje especificado no representa un número entero de sus pilas dentro de cada región, CloudFormation lo redondea hacia abajo. Por ejemplo, si va a implementar pilas en 10 cuentas de destino de tres regiones, y establece **Tolerancia a errores** en **25** y **Por porcentaje**, CloudFormation hace un redondeo hacia abajo y pasa de una tolerancia a errores de 2,5 pilas (lo que no sería posible) a una tolerancia a errores de dos pilas por región.

Retain stacks  
Esta configuración, disponible en los flujos de trabajo de eliminación de pilas, le permite mantener en ejecución las pilas y sus recursos incluso después eliminarlos de un StackSet. Cuando retiene las pilas, CloudFormation deja intactas las pilas de las cuentas y regiones individuales. Las pilas se desasocian del StackSet, pero la pila y sus recursos se guardan. Cuando la operación de eliminación de pilas ha finalizado, administra las pilas retenidas en CloudFormation, en la cuenta de destino (no en la cuenta de administrador) en la que se crearon. 

Simultaneidad de región  
Esta configuración, disponible en los flujos de trabajo de creación, actualización y eliminación, le permite elegir cómo se implementa StackSets en las regiones.  
*Secuencial*: operación de implementación de StackSets en una región a la vez, tal como se especifica en el cuadro de **Deployment order** (Orden de implementación) de región, siempre y cuando los errores de implementación de una región no superen una tolerancia de error especificada. La implementación secuencial es la selección predeterminada.  
*Paralela*: operaciones de implementación de StackSets en todas las regiones especificadas simultáneamente, siempre y cuando los errores de implementación de una región no superen una tolerancia a errores especificada.

## Etiquetas
<a name="stackset-concepts-tags"></a>

Puede agregar etiquetas durante las operaciones de creación y actualización de StackSets especificando pares de clave y valor. Las etiquetas son útiles para ordenar y filtrar los recursos de los StackSets de cara a la facturación y la asignación de costos. Para obtener más información acerca del uso de etiquetas en AWS, consulte [Organización y rastreo de costos mediante las etiquetas de asignación de costos de AWS](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) en la *Guía del usuario de Administración de facturación y costos de AWS*. Después de especificar el par de clave-valor, elija **\$1** para guardar la etiqueta. Puede eliminar las etiquetas que ya no esté utilice con la **X** roja a la derecha de una etiqueta.

Las etiquetas que se aplican a los StackSets se aplican a todas las pilas y a los recursos creados por sus pilas. Las etiquetas se pueden agregar solo en la pila en CloudFormation, pero puede que esas etiquetas no se muestren en StackSets.

Aunque StackSets no agrega actualmente etiquetas definidas por el sistema, no debe usar la cadena `aws:` al principio de los nombres de clave de ninguna etiqueta.

## Códigos de estado de StackSets
<a name="stackset-status-codes"></a>

CloudFormation StackSets genera códigos de estado para las operaciones con StackSets.

En la siguiente tabla se describen los códigos de estado para las operaciones con StackSets.

`RUNNING`  
La operación está en curso actualmente.

`SUCCEEDED`  
La operación terminó sin superar la tolerancia a fallos de la operación.

`FAILED`  
El número de pilas en las que la operación no se completó superó la tolerancia a errores definida por el usuario. El valor de tolerancia a errores que ha establecido para una operación aplica a cada región durante las operaciones de creación y actualización de pilas. Si el número de pilas con errores dentro de una región supera la tolerancia a errores, el estado de la operación en la región cambia a `FAILED`. El estado de la operación en su conjunto también se establece en `FAILED` y CloudFormation cancela la operación en las regiones restantes.

`QUEUED`  
[`Service-managed permissions`] Para implementaciones automáticas que requieren una secuencia de operaciones, la operación entra en una cola para llevarla a cabo. Por ejemplo:  
+ Si se mueve una cuenta de una unidad organizativa (OU), `OU1`, a otra, `OU2`, se activa una implementación automática. StackSets ejecuta una operación de eliminación para quitar la instancia de pila de la cuenta de `OU1` de destino en la región de destino y pone en cola una operación de creación para añadir una instancia de pila a la cuenta de `OU2` de destino en la región de destino.
+ Si se añade una cuenta `AccountA` a una unidad organizativa, se activa una implementación automática. StackSets ejecuta una operación de creación para añadir una instancia de pila a `AccountA` en la región de destino. Si añade otra cuenta `AccountB` a la unidad organizativa mientras se ejecuta la operación de creación, StackSets pone en cola una segunda operación de creación. Cuando se completa la primera operación de creación, StackSets ejecuta la segunda operación de creación para añadir una instancia de pila a `AccountB` en la región de destino.

`STOPPING`  
La operación se encuentra en proceso de detención, a petición del usuario.

`STOPPED`  
La operación se detuvo a petición del usuario.

## Códigos de estado de la instancia de pila
<a name="stack-instance-status-codes"></a>

CloudFormation StackSets genera códigos de estado para las instancias de pilas.

En la siguiente tabla, se describen los códigos de estado para las instancias de pilas dentro de los StackSets.

`CURRENT`  
La pila está actualizada con el StackSet.

`OUTDATED`  
La pila no está actualizada con el StackSet por una de las siguientes razones.  
+ Se produjo un error en una operación [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackSet.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackSet.html) o [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html) en la pila asociada.
+ La pila formaba parte de una operación [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackSet.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackSet.html) o [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html) que falló, o se detuvo antes de crear o actualizar la pila.

`INOPERABLE`  
Se produjo un error en una operación [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStackInstances.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStackInstances.html) y dejó la pila en un estado inestable. Las pilas que se encuentran en este estado quedan excluidas de otras operaciones [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html). Es posible que necesite realizar una operación [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStackInstances.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStackInstances.html), con `RetainStacks` establecido en `true`, para eliminar la instancia de la pila y, a continuación, tenga que eliminar la pila manualmente.

`CANCELLED`  
La operación de la cuenta y la región especificadas se ha cancelado. Esto se debe a que un usuario detuvo la operación del StackSet o a que se excedió la tolerancia a errores de la operación con el StackSet.

`FAILED`  
Ha habido un error en la región y cuenta especificadas. Si la operación con el StackSet falla en un número suficiente de cuentas de una misma región, se puede exceder la tolerancia a errores del total de la operación con el StackSet.

`FAILED_IMPORT`  
Se produjo un error en la importación de la instancia de pila en la cuenta y región especificadas y dejó la pila en un estado inestable. Una vez que se hayan solucionado los problemas que causaron el error, se puede volver a intentar la operación de importación. Si la cantidad necesaria de operaciones con el StackSet falla en un número suficiente de cuentas de una misma región, se puede exceder la tolerancia a errores del total de la operación con el StackSet.

`PENDING`  
La operación aún no ha empezado en la cuenta y región especificadas.

`RUNNING`  
La operación está actualmente en curso en la cuenta y región especificadas.

`SKIPPED_SUSPENDED_ACCOUNT`  
No se realizó la operación en la cuenta y región especificadas porque la cuenta estaba suspendida en el momento de la operación.

`SUCCEEDED`  
La operación se ha completado correctamente en la cuenta y región especificadas.

# Requisitos previos para utilizar CloudFormation StackSets
<a name="stacksets-prereqs"></a>

StackSets amplía la funcionalidad de las pilas para que pueda crear, actualizar o eliminar pilas de varias cuentas y regiones con una sola operación.

Dado que StackSets lleva a cabo operaciones en varias cuentas, antes de que pueda empezar a crear su primer StackSet debe tener los permisos necesarios definidos en su Cuentas de AWS.

Puede administrar StackSets mediante permisos *autoadministrados* o permisos *administrados por servicios*. 
+ En el caso de los StackSets *autoadministrados*, debe crear y gestionar los roles de IAM en cada cuenta de destino y Región de AWS. Para obtener más información, consulte [Concesión de permisos autoadministrados](stacksets-prereqs-self-managed.md).
+ En el caso de los StackSets *administrados por servicios*, no necesita crear y gestionar manualmente los roles de IAM en cada cuenta; AWS se encarga de la creación del rol y los permisos por usted. Para obtener más información, consulte [Activación del acceso de confianza](stacksets-orgs-activate-trusted-access.md).

**Topics**
+ [Preparación para llevar a cabo operaciones con StackSets en Regiones de AWS que están deshabilitadas de forma predeterminada](stacksets-opt-in-regions.md)
+ [Concesión de permisos autoadministrados](stacksets-prereqs-self-managed.md)
+ [Activación del acceso de confianza para StackSets con AWS Organizations](stacksets-orgs-activate-trusted-access.md)

# Preparación para llevar a cabo operaciones con StackSets en Regiones de AWS que están deshabilitadas de forma predeterminada
<a name="stacksets-opt-in-regions"></a>

Las Regiones de AWS introducidas después del 20 de marzo de 2019, como Asia-Pacífico (Hong Kong), están desactivadas de forma predeterminada. Debe habilitar estas regiones para sus cuentas antes de poder usarlas. Para obtener más información, consulte [Habilitar o deshabilitar Regiones de AWS en su cuenta](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html) en la *Guía de referencia de AWS Account Management*.

Para crear un StackSet a partir de la cuenta de administrador de un StackSet (si se utilizan permisos autoadministrados) o de la cuenta de administración de la organización (si se utilizan permisos administrados por servicios) en una región que está deshabilitada de forma predeterminada, primero debe habilitar esa región para la cuenta de administrador o administración.

Para que CloudFormation cree o actualice correctamente una instancia de pila:
+ La cuenta de destino debe residir en una región que esté habilitada actualmente para esa cuenta de destino.
+ La cuenta de administrador del StackSet o la cuenta de administración de la organización debe tener la misma región habilitada que la cuenta de destino.

**importante**  
Tenga en cuenta que, durante las operaciones con StackSets, las cuentas de administrador y de destino intercambian metadatos relacionados con las propias cuentas, además del StackSet y de las instancias del StackSet involucradas.  
Además, si deshabilita una región que contiene una cuenta en la que residen instancias de un StackSet, será responsable de eliminar dichas instancias o recursos, si lo desea. Además, tenga en cuenta que los metadatos relativos a la cuenta de destino en la región desactivada se conservarán en la cuenta de administrador.

# Concesión de permisos autoadministrados
<a name="stacksets-prereqs-self-managed"></a>

En este tema se proporcionan instrucciones sobre cómo crear los roles de servicio de IAM que requieren los StackSets para implementarse en cuentas y Regiones de AWS con permisos *autoadministrados*. Estos roles son necesarios para establecer una relación de confianza entre la cuenta desde la que está administrando el StackSet y la cuenta en la que está implementando instancias de pila. Con este modelo de permisos, StackSets puede implementar en cualquier Cuenta de AWS en la que tenga permisos para crear un rol de IAM. 

Para usar los permisos *administrados por servicios*, consulte en su lugar [Activación del acceso de confianza](stacksets-orgs-activate-trusted-access.md).

**Topics**
+ [Descripción general de los permisos autoadministrados](#prereqs-self-managed-permissions)
+ [Concesión de permisos a todos los usuarios de la cuenta de administrador para administrar pilas en todas las cuentas de destino](#stacksets-prereqs-accountsetup)
+ [Configuración de opciones de permisos avanzados para operaciones con StackSet](#stacksets-prereqs-advanced-perms)
+ [Configuración de claves globales para mitigar problemas de adjuntos confusos](#confused-deputy-mitigation)

## Descripción general de los permisos autoadministrados
<a name="prereqs-self-managed-permissions"></a>

Antes de crear un StackSet con permisos autoadministrados, debe haber creado roles de servicio de IAM en cada cuenta.

A continuación, indicamos los pasos básicos:

1. Determine cuál Cuenta de AWS es la *cuenta de administrador*.

   Los StackSet se crean en esta cuenta de administrador. Una *cuenta de destino* es la cuenta en la que se crean pilas individuales que pertenecen a un StackSet.

1. Determine cómo desea estructurar los permisos para el StackSet.

   La configuración de permisos más sencilla (y más permisiva) es aquella en que se proporciona a *todos* los usuarios y grupos de la cuenta de administrador la capacidad de crear y actualizar *todos* los StackSets administrados a través de dicha cuenta. Si necesita de un control más preciso, puede configurar permisos para especificar lo siguiente:
   + Qué usuarios y grupos pueden llevar a cabo operaciones con StackSets en qué cuentas de destino.
   + Qué recursos pueden incluir los usuarios y grupos en sus StackSets.
   + Qué operaciones con StackSets pueden llevar a cabo usuarios y grupos concretos.

1. Cree los roles de servicio de IAM necesarios en las cuentas de administrador y de destino para definir los permisos que desee. 

   En concreto, los dos roles obligatorios son los siguientes:
   + **AWSCloudFormationStackSetAdministrationRole**: este rol se implementa en la cuenta de administrador.
   + **AWSCloudFormationStackSetExecutionRole**: este rol se implementa en todas las cuentas en las que se crean instancias de pila.

## Concesión de permisos a todos los usuarios de la cuenta de administrador para administrar pilas en todas las cuentas de destino
<a name="stacksets-prereqs-accountsetup"></a>

En esta sección se muestra cómo configurar permisos para permitir que todos los usuarios y grupos de la cuenta de administrador lleven a cabo operaciones con StackSets en todas las cuentas de destino. Se le guía en la creación de los roles de servicio de IAM necesarios en las cuentas de administrador y de destino. Cualquiera en la cuenta de administrador podrá crear, actualizar o eliminar cualquier pila en cualquiera de las cuentas de destino. 

Al estructurar los permisos de esta manera, los usuarios no transfieren un rol de administración al crear o actualizar un StackSet.

![\[Cualquier usuario de la cuenta de administrador podrá crear un StackSet en las cuentas de destino tras establecer una relación de confianza.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/stacksets_perms_master_target.png)


------
#### [ Administrator account ]

En la cuenta de administrador, cree un rol de IAM denominado **AWSCloudFormationStackSetAdministrationRole**. 

Para ello, cree una pila a partir de la siguiente plantilla de CloudFormation, disponible en [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AWSCloudFormationStackSetAdministrationRole.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AWSCloudFormationStackSetAdministrationRole.yml). 

**Example Ejemplo de política de permisos**  
El rol de administración creado mediante la plantilla anterior incluye la siguiente política de permisos.     
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "sts:AssumeRole"
      ],
      "Resource": [
        "arn:aws:iam::*:role/AWSCloudFormationStackSetExecutionRole"
      ],
      "Effect": "Allow"
    }
  ]
}
```

**Example Política de confianza de ejemplo 1**  
La plantilla anterior también incluye la siguiente política de confianza que otorga al servicio permiso para utilizar el rol de administración y los permisos asociados al rol.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudformation.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

**Example Política de confianza de ejemplo 2**  
Para implementar instancias de pila en una cuenta de destino que resida en una región deshabilitada de forma predeterminada, también tendrá que incluir la entidad principal de servicio regional para esa región. Cada región que esté deshabilitada de forma predeterminada tendrá su propia entidad principal de servicio regional.  
En el siguiente ejemplo, la política de confianza otorga al servicio permiso para utilizar el rol de administración en la región Asia-Pacífico (Hong Kong) (`ap-east-1`), una región que está deshabilitada de forma predeterminada.     
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
            "cloudformation.amazonaws.com",
            "cloudformation.ap-east-1.amazonaws.com"
         ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```
Para obtener más información, consulte [Preparación para llevar a cabo operaciones con StackSets en Regiones de AWS que están deshabilitadas de forma predeterminada](stacksets-opt-in-regions.md). Para obtener una lista de códigos de región, consulte [Puntos de conexión regionales](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) en la *Guía de Referencia general de AWS*.

------
#### [ Target accounts ]

En cada cuenta de destino, cree un rol de servicio denominado **AWSCloudFormationStackSetExecutionRole** que confíe en la cuenta de administrador. El rol debe tener este nombre exacto. Para ello, cree una pila a partir de la siguiente plantilla de CloudFormation, disponible en [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AWSCloudFormationStackSetExecutionRole.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AWSCloudFormationStackSetExecutionRole.yml). Cuando utiliza esta plantilla, se le solicita que proporcione el ID de la cuenta de administrador con la que su cuenta de destino debe tener una relación de confianza.

**importante**  
Tenga en cuenta que esta plantilla concede acceso de administrador. Después de utilizar la plantilla para crear un rol de ejecución de la cuenta de destino, debe examinar los permisos de la declaración de política para los tipos de recursos que están creando mediante StackSets.

El rol de servicio de la cuenta de destino requiere permisos para realizar las operaciones especificadas en la plantilla de CloudFormation. Por ejemplo, si su plantilla está creando un bucket de S3, necesita permisos para crear nuevos objetos de S3. Su cuenta de destino siempre necesita permisos de CloudFormation completos, que incluyen permisos para crear, actualizar, eliminar y describir pilas. 

**Example Ejemplo 1 de política de permisos**  
El rol creado con esta plantilla permite la siguiente política en una cuenta de destino.    
****  

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

**Example Ejemplo 2 de política de permisos**  
El siguiente ejemplo muestra la declaración de política con los permisos *mínimos* para que StackSets funcione. Para crear pilas en las cuentas de destino que utilicen los recursos de servicios que no sean CloudFormation, debe agregar las acciones del servicio y los recursos a la instrucción de política **AWSCloudFormationStackSetExecutionRole** de cada cuenta de destino.    
****  

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

**Example Política de confianza de ejemplo**  
Con la plantilla se crea la siguiente relación de confianza. El ID de la cuenta del administrador se muestra como *id\$1cuenta\$1admin*.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```
Puede configurar la relación de confianza de un rol de ejecución de la cuenta de destino existente para confiar en un rol específico en la cuenta de administrador. Si elimina el rol en la cuenta de administrador y crea uno nuevo para sustituirlo, debe configurar las relaciones de confianza de la cuenta de destino con el nuevo rol de cuenta de administrador, representada por *id\$1cuenta\$1admin* en el ejemplo anterior.

------

## Configuración de opciones de permisos avanzados para operaciones con StackSet
<a name="stacksets-prereqs-advanced-perms"></a>

Si necesita un control más preciso de los StackSets que los usuarios y grupos crean a través de una única cuenta de administrador, puede utilizar roles de IAM para especificar lo siguiente:
+ Qué usuarios y grupos pueden llevar a cabo operaciones con StackSets en qué cuentas de destino.
+ Qué recursos pueden incluir los usuarios y grupos en sus StackSets.
+ Qué operaciones con StackSets pueden llevar a cabo usuarios y grupos concretos.

### Control de los usuarios que pueden llevar a cabo operaciones con StackSets en cuentas de destino específicas
<a name="stacksets-prereqs-multiadmin"></a>

Utilice roles de administración personalizados para controlar qué usuarios y grupos pueden llevar a cabo operaciones con StackSets y en qué cuentas de destino. Podría desear controlar qué usuarios de la cuenta de administrador pueden llevar a cabo operaciones con StackSets y en qué cuentas de destino. Para ello, debe crear una relación de confianza entre cada cuenta de destino y un rol de administración personalizado específico, en lugar de crear el rol de servicio **AWSCloudFormationStackSetAdministrationRole** en la propia cuenta de administrador. A continuación, active usuarios y grupos específicos para utilizar el rol de administración personalizado al llevar a cabo operaciones con StackSets en una cuenta de destino concreta.

Por ejemplo, puede crear la Función A y la Función B en su cuenta de administrador. Puede dar a la Función A permisos para obtener acceso de la cuenta de destino 1 a la cuenta 8. Puede dar a la Función B permisos para obtener acceso de la cuenta de destino 9 a la cuenta 16.

![\[Una relación de confianza entre un rol de administrador personalizado y las cuentas de destino que permita a los usuarios crear un StackSet.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/stacksets_perms_admin_target.png)


La configuración de los permisos necesarios implica definir un rol de administración personalizado, crear un rol de servicio para la cuenta de destino y conceder a los usuarios permiso para transferir el rol de administración personalizado al llevar a cabo operaciones con StackSets.

En general, así es cómo funciona una vez que dispone de los permisos necesarios: al crear un StackSet, el usuario debe especificar un rol de administración personalizado. El usuario debe tener permiso para transferir el rol a CloudFormation. Además, el rol de administración personalizado debe tener una relación de confianza con las cuentas de destino especificadas para el StackSet. CloudFormation crea el StackSet y le asocia el rol de administración personalizado. Al actualizar un StackSet, el usuario debe especificar explícitamente un rol de administración personalizado, aunque sea el mismo que se utilizó con este StackSet anteriormente. CloudFormation utiliza ese rol para actualizar la pila, siempre que se cumplan los requisitos anteriores.

------
#### [ Administrator account ]

**Example Ejemplo de política de permisos**  
Para cada StackSet, cree un rol de administración personalizado con permisos para asumir el rol de ejecución de las cuentas de destino.   
El nombre del rol de ejecución de las cuentas de destino debe ser el mismo en todas las cuentas de destino. Si el nombre del rol es **AWSCloudFormationStackSetExecutionRole**, StackSets lo usa automáticamente al crear un StackSet. Si especifica un nombre de rol personalizado, los usuarios deben proporcionar el nombre del rol de ejecución al crear un StackSet.  
Cree un [rol de servicio de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) con un nombre personalizado y la siguiente política de permisos. En los ejemplos siguientes, *custom\$1execution\$1role* hace referencia al rol de ejecución en las cuentas de destino.     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:role/custom_execution_role"
            ],
            "Effect": "Allow"
        }
    ]
}
```
Para especificar varias cuentas en una única instrucción, sepárelas con comas.  

```
"Resource": [
  "arn:aws:iam::target_account_id_1:role/custom_execution_role", 
  "arn:aws:iam::target_account_id_2:role/custom_execution_role"
]
```
Puede especificar todas las cuentas de destino utilizando un comodín (\$1) en lugar de un ID de cuenta.  

```
"Resource": [
  "arn:aws:iam::*:role/custom_execution_role"
]
```

**Example Política de confianza de ejemplo 1**  
Debe proporcionar una política de confianza para el rol de servicio a fin de definir qué entidades principales de IAM pueden asumir el rol.    
****  

```
{ 
  "Version":"2012-10-17",		 	 	  
  "Statement": [ 
    { 
      "Effect": "Allow", 
      "Principal": { 
        "Service": "cloudformation.amazonaws.com" 
      }, 
      "Action": "sts:AssumeRole" 
    } 
  ] 
}
```

**Example Política de confianza de ejemplo 2**  
Para implementar instancias de pila en una cuenta de destino que resida en una región deshabilitada de forma predeterminada, también tendrá que incluir la entidad principal de servicio regional para esa región. Cada región que esté deshabilitada de forma predeterminada tendrá su propia entidad principal de servicio regional.  
En el siguiente ejemplo, la política de confianza otorga al servicio permiso para utilizar el rol de administración en la región Asia-Pacífico (Hong Kong) (`ap-east-1`), una región que está deshabilitada de forma predeterminada.     
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
            "cloudformation.amazonaws.com",
            "cloudformation.ap-east-1.amazonaws.com"
         ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```
Para obtener más información, consulte [Preparación para llevar a cabo operaciones con StackSets en Regiones de AWS que están deshabilitadas de forma predeterminada](stacksets-opt-in-regions.md). Para obtener una lista de códigos de región, consulte [Regional endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) en la *Guía de referencia general de AWS*.

**Example Ejemplo de política de transferencia de roles**  
También necesita una política de permisos de IAM para los usuarios de IAM que les permita transferir el rol de administración personalizado al llevar a cabo operaciones con StackSets. Para obtener más información, consulte [Concesión de permisos a un usuario para transferir un rol a un servicio de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html).  
En el ejemplo siguiente, *customized\$1admin\$1role* hace referencia al rol de administración que tiene que transferir el usuario.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iam:GetRole",
        "iam:PassRole"
      ],
      "Resource": "arn:aws:iam::*:role/customized_admin_role"
    }
  ]
}
```

------
#### [ Target accounts ]

En cada cuenta de destino, cree un rol de servicio que confíe en el rol de administración personalizado que desee utilizar con esta cuenta. 

El rol de la cuenta de destino requiere permisos para realizar las operaciones especificadas en la plantilla de CloudFormation. Por ejemplo, si su plantilla está creando un bucket de S3, necesita permisos para crear nuevos objetos en S3. Su cuenta de destino siempre necesita permisos de CloudFormation completos, que incluyen permisos para crear, actualizar, eliminar y describir pilas.

El nombre del rol de las cuentas de destino debe ser el mismo en todas las cuentas de destino. Si el nombre del rol es **AWSCloudFormationStackSetExecutionRole**, StackSets lo usa automáticamente al crear un StackSet. Si especifica un nombre de rol personalizado, los usuarios deben proporcionar el nombre del rol de ejecución al crear un StackSet.

**Example Ejemplo de política de permisos**  
El siguiente ejemplo muestra la declaración de política con los permisos *mínimos* para que StackSets funcione. Para crear pilas en las cuentas de destino que utilicen los recursos de servicios que no sean CloudFormation, debe agregar las acciones del servicio y los recursos a la política de permisos.    
****  

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

**Example Política de confianza de ejemplo**  
Debe proporcionar la siguiente política de confianza a la hora de crear el rol para definir la relación de confianza.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/customized_admin_role"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

### Control de los recursos que los usuarios pueden incluir en StackSets específicos
<a name="stacksets-prereqs-executionrole"></a>

Utilice roles de ejecución personalizados para controlar qué recursos de pila podrán incluir los usuarios y grupos en sus StackSets. Por ejemplo, podría ser interesante configurar un grupo que solo pueda incluir recursos relacionados con Amazon S3 en los StackSets que crean, mientras que otro equipo solo pueda incluir recursos de DynamoDB. Para ello, debe crear una relación de confianza entre el rol de administración personalizado para cada grupo y un rol de ejecución personalizado para cada conjunto de recursos. El rol de ejecución personalizado define qué recursos de pila se pueden incluir en los StackSets. El rol de administración personalizado reside en la cuenta de administrador, mientras que el rol de ejecución personalizado reside en cada cuenta de destino en la que desea crear StackSets utilizando los recursos definidos. A continuación, se activan usuarios y grupos específicos para que utilicen el rol de administración personalizado al llevar a cabo operaciones con StackSets.

Por ejemplo, puede crear los roles de administración personalizados A, B y C en la cuenta de administrador. Los usuarios y grupos con permiso para usar el rol A podrán crear StackSets que contienen los recursos de pila enumerados expresamente en el rol de ejecución personalizado X, pero no los enumerados en los roles Y o Z ni tampoco ningún recurso que no se incluya en ningún rol de ejecución.

![\[Configure una relación de confianza entre un rol de administrador personalizado y un rol de ejecución personalizado en las cuentas de destino, lo que permite a los usuarios crear un StackSet.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/stacksets_perms_admin_execution.png)


Al actualizar un StackSet, el usuario debe especificar explícitamente un rol de administración personalizado, aunque sea el mismo que se utilizó con este StackSet anteriormente. CloudFormation lleva a cabo la actualización mediante el rol de administración personalizado especificado, siempre y cuando el usuario tenga permisos para llevar a cabo operaciones en ese StackSet.

Del mismo modo, el usuario también puede especificar una función de ejecución personalizada. Si especifica un rol de ejecución personalizado, CloudFormation utiliza dicho rol para actualizar la pila, siempre que se cumplan los requisitos anteriores. Si el usuario no especifica un rol de ejecución personalizado, CloudFormation lleva a cabo la actualización mediante el rol de ejecución personalizado asociado anteriormente al StackSet, siempre y cuando el usuario tenga permisos para llevar a cabo operaciones en ese StackSet.

------
#### [ Administrator account ]

Cree un rol de administración personalizado en su cuenta de administrador, tal y como se detalla en [Control de los usuarios que pueden llevar a cabo operaciones con StackSets en cuentas de destino específicas](#stacksets-prereqs-multiadmin). Incluya una relación de confianza entre el rol de administración personalizado y los roles de ejecución personalizados que deba utilizar.

**Example Ejemplo de política de permisos**  
El siguiente ejemplo es una política de permisos para **AWSCloudFormationStackSetExecutionRole** que se define para la cuenta de destino, además de un rol de ejecución personalizado.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Sid": "Stmt1487980684000",
      "Effect": "Allow",
      "Action": [
        "sts:AssumeRole" 
      ],
      "Resource": [ 
        "arn:aws:iam::*:role/AWSCloudFormationStackSetExecutionRole",
        "arn:aws:iam::*:role/custom_execution_role" 
      ]
    } 
  ]
}
```

------
#### [ Target accounts ]

En las cuentas de destino en las que desee crear sus StackSets, cree un rol de ejecución personalizado que conceda permisos a aquellos servicios y recursos que los usuarios y grupos deban poder incluir en los StackSets.

**Example Ejemplo de política de permisos**  
En el siguiente ejemplo, se proporcionan los permisos mínimos para los StackSets, junto con el permiso para crear tablas de Amazon DynamoDB.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudformation:*"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "dynamoDb:createTable"
      ],
      "Resource": "*"
    }
  ]
}
```

**Example Política de confianza de ejemplo**  
Debe proporcionar la siguiente política de confianza a la hora de crear el rol para definir la relación de confianza.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/customized_admin_role"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

### Configuración de permisos para operaciones con StackSets concretas
<a name="stacksets-prereqs-iam-actions"></a>

Además, puede configurar los permisos relativos a qué usuarios y grupos pueden llevar a cabo operaciones con StackSets concretas; por ejemplo, crear, actualizar o eliminar StackSets o instancias de las pilas. Para obtener más información, consulte [Acciones, recursos y claves de condición de CloudFormation](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html) en la *Referencia de autorizaciones de servicio*.

## Configuración de claves globales para mitigar problemas de adjuntos confusos
<a name="confused-deputy-mitigation"></a>

El problema de la sustitución confusa es un problema de seguridad en el que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. En AWS, la suplantación entre servicios puede dar lugar al problema de la sustitución confusa. La suplantación entre servicios puede producirse cuando un servicio (el *servicio que lleva a cabo las llamadas*) llama a otro servicio (el *servicio al que se llama*). El servicio que lleva a cabo las llamadas se puede manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente de una manera en la que no debe tener permiso para acceder. Para evitarlo, AWS proporciona herramientas que le ayudan a proteger sus datos para todos los servicios con entidades principales de servicio a las que se les ha dado acceso a los recursos de su cuenta.

Se recomienda utilizar las claves de contexto de condición global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) y [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) en las políticas de recursos para limitar los permisos que CloudFormation StackSets concede a otro servicio para el recurso. Si se utilizan ambas claves contextuales de condición global, el valor `aws:SourceAccount` y la cuenta del valor `aws:SourceArn` deben utilizar el mismo ID de cuenta cuando se utilicen en la misma declaración de política.

La forma más eficaz de protegerse contra el problema de la sustitución confusa es utilizar la clave de contexto de condición global de `aws:SourceArn` con el ARN completo del recurso. Si no conoce el ARN completo del recurso o si especifica varios recursos, utiliza la clave de condición de contexto global `aws:SourceArn` con comodines (`*`) para las partes desconocidas del ARN. Por ejemplo, `arn:aws:cloudformation::123456789012:*`. Siempre que sea posible, use `aws:SourceArn`, que es más específico. Use `aws:SourceAccount` solo cuando no se pueda determinar el patrón del ARN o el ARN correcto.

Cuando StackSets asume el rol **Administration** (Administración) en su cuenta de **administrador**, StackSets rellena su ID de cuenta de **administrador** y el nombre de recurso de Amazon (ARN) de StackSets. Por lo tanto, puede definir las condiciones de [claves globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) `aws:SourceAccount` y `aws:SourceArn` en las relaciones de confianza para evitar [problemas del suplente confuso](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html). En el siguiente ejemplo, se muestra cómo se pueden utilizar las claves contextuales de condición global `aws:SourceArn` y `aws:SourceAccount` para evitar el problema del adjunto confundido.

------
#### [ Administrator account ]

**Example Claves globales de `aws:SourceAccount` y `aws:SourceArn`**  
Al usar StackSets, defina las claves globales `aws:SourceAccount` y `aws:SourceArn` en su política de confianza **AWSCloudFormationStackSetAdministrationRole** para evitar problemas de suplente confuso.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudformation.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "111122223333"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:cloudformation:*:111122223333:stackset/*"
        }
      }
    }
  ]
}
```

**Example ARN de StackSets**  
Especifica sus ARN de StackSets asociados para un control más preciso.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudformation.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333",
                    "aws:SourceArn": [
                        "arn:aws:cloudformation:STACKSETS-REGION:111122223333:stackset/STACK-SET-ID-1",
                        "arn:aws:cloudformation:STACKSETS-REGION:111122223333:stackset/STACK-SET-ID-2"
                    ]
                }
            }
        }
    ]
}
```

------

# Activación del acceso de confianza para StackSets con AWS Organizations
<a name="stacksets-orgs-activate-trusted-access"></a>

En este tema se proporcionan instrucciones sobre cómo activar el acceso de confianza con AWS Organizations, que los StackSets requieren para implementarse en todas las cuentas y Regiones de AWS mediante los permisos *administrados por servicios*. Para usar permisos *autoadministrados*, consulte en su lugar [Concesión de permisos autoadministrados](stacksets-prereqs-self-managed.md).

Antes de crear un StackSet con permisos administrados por servicios, primero debe completar las siguientes tareas:
+ [Habilite todas las características](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html) en AWS Organizations. Solo con las características de facturación unificada habilitadas, no puede crear un StackSet con permisos administrados por servicios.
+ Active el acceso de confianza con AWS Organizations. Esta acción permite que CloudFormation cree un rol vinculado al servicio en la cuenta de administración. Una vez activado el acceso de confianza, cuando crea un StackSet con permisos administrados por el servicio, CloudFormation crea tanto el rol vinculado al servicio necesario como un rol de servicio llamado `stacksets-exec-*` en las cuentas de destino (miembro).

  Con el acceso de confianza activado, la cuenta de administración y las cuentas de administrador delegado pueden crear y administrar StackSets administrados por servicios para su organización.

Para activar el acceso de confianza, debe ser un usuario administrador en la cuenta de administración. Un *usuario administrador* es un usuario con permisos completos de su Cuenta de AWS. Para obtener más información, consulte [Crear un usuario administrador](https://docs.aws.amazon.com/accounts/latest/reference/getting-started-step4.html) en la *Guía de referencia de AWS Account Management*. Para obtener recomendaciones a fin de proteger la seguridad de la cuenta de administración, consulte [Prácticas recomendadas para la cuenta de administración](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_best-practices_mgmt-acct.html) en la *Guía del usuario de AWS Organizations*.

**Para activar el acceso de confianza**

1. Inicie sesión en AWS como administrador de la cuenta de administración y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation).

1. En el panel de navegación, seleccione **StackSets (Conjuntos de pilas)**. Si el acceso de confianza está desactivado, aparece un banner que le pide que active el acceso de confianza.  
![\[Activar banner de acceso de confianza.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/console-stacksets-enable-trusted-access-from-stacksets-list-new.png)

1. Seleccione **Activar el acceso de confianza**.

   El acceso de confianza se activa correctamente cuando aparece el siguiente banner.  
![\[Banner de acceso de confianza activado correctamente.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/console-stackset-trusted-access-enabled-banner-new.png)
**nota**  
Activar el acceso a organizaciones es lo mismo que habilitar el acceso a organizaciones y desactivar el acceso a organizaciones es lo mismo que deshabilitar el acceso a organizaciones. Estos términos se actualizaron en función de las directrices de marketing. 

**Para desactivar el acceso de confianza**  
Consulte [Conceptos de StackSets de CloudFormation y AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-cloudformation.html) en la *Guía del usuario de AWS Organizations*.

Antes de desactivar el acceso de confianza con AWS Organizations, debe anular el registro de todos los administradores delegados. Para obtener más información, consulte [Registrar un administrador delegado](stacksets-orgs-delegated-admin.md).

**nota**  
Para obtener información sobre el uso de operaciones de API en lugar de la consola para activar o desactivar el acceso de confianza, consulte:  
[https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateOrganizationsAccess.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_ActivateOrganizationsAccess.html)
[https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeactivateOrganizationsAccess.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeactivateOrganizationsAccess.html)
[https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeOrganizationsAccess.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeOrganizationsAccess.html)

## Roles vinculados a servicios
<a name="stacksets-orgs-service-linked-roles"></a>

La cuenta de administración usa el rol vinculado al servicio **AWSServiceRoleForCloudFormationStackSetsOrgAdmin**. Puede modificar o eliminar este rol solo si el acceso de confianza con AWS Organizations está desactivado. 

Cada cuenta de destino usa un rol vinculado al servicio **AWSServiceRoleForCloudFormationStackSetsOrgMember**. Puede modificar o eliminar este rol solo bajo dos condiciones: si el acceso de confianza con AWS Organizations está desactivado o si la cuenta se ha eliminado de la organización o unidad organizativa (OU) de destino.

Para obtener más información, consulte [CloudFormation StackSets y AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-cloudformation.html) en la *Guía del usuario de AWS Organizations*.

# Registro de una cuenta miembro como administrador delegado
<a name="stacksets-orgs-delegated-admin"></a>

Además de la cuenta de administración de su organización, las cuentas de miembro con permisos de administrador delegado pueden crear y administrar StackSets con permisos administrados por servicios para la organización. Los StackSets con permisos administrados por servicios se crean en la cuenta de administración, incluidos los StackSets creados por administradores delegados. Para registrarse como administrador delegado de la organización, la cuenta de miembro debe estar en ella. Para obtener más información acerca de cómo unirse a una organización, consulte [Invitación de una Cuenta de AWS a unirse a la organización](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_invites.html).

La organización puede tener hasta cinco administradores delegados registrados a la vez. Los administradores delegados pueden optar por implementar en todas las cuentas de la organización o en unidades de organización específicas. El acceso de confianza con AWS Organizations debe activarse antes de que los administradores delegados puedan implementar en cuentas administradas por Organizations. Para obtener más información, consulte [Activación del acceso de confianza para StackSets con AWS Organizations](stacksets-orgs-activate-trusted-access.md).

**importante**  
Tenga en cuenta lo siguiente:  
Los administradores delegados tienen permisos completos para implementar en cuentas de la organización. La cuenta de administración no puede limitar los permisos del administrador delegado para la implementación en UO específicas ni para llevar a cabo operaciones específicas con StackSets.
Asegúrese de que los administradores delegados tengan permisos `organizations:ListDelegatedAdministrators` para evitar posibles errores.

Puede registrar administradores delegados para la organización en las siguientes regiones: Este de EE. UU. (Ohio), Este de EE. UU. (Norte de Virginia), Oeste de EE. UU. (Norte de California), Oeste de EE. UU. (Oregón), Asia-Pacífico (Bombay), Asia Pacífico (Seúl), Asia Pacífico (Singapur), Asia Pacífico (Sídney), Asia Pacífico (Tokio), Canadá (centro), Europa (Fráncfort), Europa (Irlanda), Europa (Londres), Europa (París), Europa (Estocolmo), Israel (Tel Aviv), América del Sur (São Paulo), AWS GovCloud (Este de EE. UU.) y AWS GovCloud (Oeste de EE. UU.).

Puede registrar y anular el registro de administradores delegados mediante la [CloudFormation consola ](https://console.aws.amazon.com/cloudformation/), [AWS CLI](https://aws.amazon.com/cli/) o [los Kits de desarrollo de software (Software Development Kit, SDK) de AWS](https://aws.amazon.com/developer/tools/).

## Para agregar un administrador delegado (consola)
<a name="stacksets-orgs-register-delegated-admin-console"></a>

1. Inicie sesión en AWS como administrador de la cuenta de administración y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation/](https://console.aws.amazon.com/cloudformation/).

1. En el panel de navegación, seleccione **StackSets (Conjuntos de pilas)**.

1. En **Administradores delegados**, elija **Registrar administrador delegado**.

1. En el cuadro de diálogo **Registrar administrador delegado** , elija **Registrar administrador delegado**.

   El mensaje de operación satisfactoria indica que la cuenta de miembro se ha registrado correctamente como administrador delegado.

## Para anular el registro de un administrador delegado (consola)
<a name="stacksets-orgs-deregister-delegated-admin-console"></a>

1. Inicie sesión en AWS como administrador de la cuenta de administración y abra la consola de CloudFormation en [https://console.aws.amazon.com/](https://console.aws.amazon.com/).

1. En el panel de navegación, seleccione **StackSets (Conjuntos de pilas)**.

1. En **Administradores delegados**, seleccione la cuenta que desea anular del registro y, a continuación, elija **Anular registro**.

   El mensaje de operación satisfactoria indica que la cuenta de miembro se ha anulado correctamente como administrador delegado.

   Puede volver a registrar esta cuenta en cualquier momento.

## Para registrar un administrador delegado (AWS CLI)
<a name="stacksets-orgs-register-delegated-admin-cli"></a>

1. Abra la AWS CLI.

1. Ejecute el comando `register-delegated-administrator`.

   ```
   $ aws organizations register-delegated-administrator \
     --service-principal=member.org.stacksets.cloudformation.amazonaws.com \
     --account-id="memberAccountId"
   ```

1. Ejecute el `list-delegated-administrators` comando para comprobar que la cuenta de miembro especificada se registra correctamente como administrador delegado.

   ```
   $ aws organizations list-delegated-administrators \
     --service-principal=member.org.stacksets.cloudformation.amazonaws.com
   ```

## Para anular el registro de un administrador delegado (AWS CLI)
<a name="stacksets-orgs-deregister-delegated-admin-cli"></a>

1. Abra la AWS CLI.

1. Ejecute el comando `deregister-delegated-administrator`.

   ```
   $ aws organizations deregister-delegated-administrator \
     --service-principal=member.org.stacksets.cloudformation.amazonaws.com \
     --account-id="memberAccountId"
   ```

1. Ejecute el `list-delegated-administrators` comando para comprobar que la cuenta de miembro especificada se anula correctamente como administrador delegado.

   ```
   $ aws organizations list-delegated-administrators \
     --service-principal=member.org.stacksets.cloudformation.amazonaws.com
   ```

   Puede volver a registrar esta cuenta en cualquier momento.

# Introducción a los StackSets con una plantilla de ejemplo
<a name="stacksets-getting-started"></a>

Este tutorial lo ayudará a familiarizarse con los StackSets con la Consola de administración de AWS. Se explica cómo crear un StackSet con una plantilla de ejemplo. Obtendrá información sobre cómo implementar pilas en varias regiones, supervisar las operaciones con StackSets y ver los resultados.

En este tutorial, creará un StackSet que habilite AWS Config en su Cuenta de AWS en la región Oeste de EE. UU. (Oregón) (`us-west-2`) y la región Este de EE. UU. (Norte de Virginia) (`us-east-1`). Con los StackSets, puede crear, actualizar o eliminar pilas en varias cuentas y regiones con una sola operación, lo que lo convierte en una solución ideal para administrar la infraestructura a escala. Aunque en este tutorial se usa una sola cuenta por motivos de simplicidad, se demuestra de manera efectiva las capacidades multirregionales de los StackSets. 

La plantilla de ejemplo está disponible en el siguiente bucket de S3: [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfig.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfig.yml).

**nota**  
Los StackSets son gratuitos, pero se le cobrarán los recursos de AWS que cree con ellos, como AWS Config en este tutorial. Para más información, consulte [Precios de AWS Config](https://aws.amazon.com/config/pricing/).

**Topics**
+ [Requisitos previos](#stacksets-tutorial-prerequisites)
+ [Creación de un StackSet con una plantilla de ejemplo desde la consola](#stacksets-tutorial-create-stackset)
+ [Supervisión de la creación de un StackSet](#stacksets-tutorial-monitor-creation)
+ [Visualización de los resultados del StackSet](#stacksets-tutorial-view-results)
+ [Actualización del StackSet](#stacksets-tutorial-update-stackset)
+ [Cómo agregar pilas al StackSet](#stacksets-tutorial-add-stacks)
+ [Limpieza](#stacksets-tutorial-clean-up)
+ [Siguientes pasos](#stacksets-tutorial-next-steps)

## Requisitos previos
<a name="stacksets-tutorial-prerequisites"></a>

Antes de iniciar este tutorial, asegúrese de que cumple los siguientes requisitos previos:
+ Debe haber configurado los roles de IAM necesarios para los permisos autoadministrados. Para crear un StackSet e implementar pilas en una sola cuenta, necesita los siguientes roles en su cuenta:
  + `AWSCloudFormationStackSetAdministrationRole`
  + `AWSCloudFormationStackSetExecutionRole`

  Para obtener instrucciones detalladas sobre cómo configurar estos roles, consulte [Concesión de permisos autoadministrados](stacksets-prereqs-self-managed.md).

## Creación de un StackSet con una plantilla de ejemplo desde la consola
<a name="stacksets-tutorial-create-stackset"></a>

**Creación de un StackSet que habilite AWS Config**

1. Abra la [consola de CloudFormation](https://console.aws.amazon.com/cloudformation/).

1. En la barra de navegación de la parte superior de la pantalla, elija la Región de AWS desde la cual desea administrar el StackSet.

   Puede elegir cualquier región que admita StackSets. La región que seleccione no afecta a las regiones en las que puede llevar a cabo implementaciones con su StackSet.

1. En el panel de navegación, seleccione **StackSets (Conjuntos de pilas)**.

1. En la parte superior de la página **Conjuntos de pilas**, seleccione **Crear conjunto de pilas**.

1. En **Permisos**, elija **Permisos de autoservicio** y los roles de IAM que ha creado en los requisitos previos.
   + Para el rol de administrador de IAM, elija **AWSCloudFormationStackSetAdministrationRole**.
   + Para el nombre del rol de ejecución de IAM, elija **AWSCloudFormationStackSetExecutionRole**. 

1. En **Prerequisite - Prepare template (Requisito previo: preparar plantilla)**, elija **Use a sample template (Usar una plantilla de ejemplo)**.

1. En **Seleccionar una plantilla de muestra**, elija la plantilla **Habilitar AWS Config**. A continuación, elija **Siguiente**.

   Esta plantilla crea los recursos necesarios para habilitar AWS Config en su cuenta, incluidos un registro de configuración y un canal de entrega.

1. En la página **Especificar detalles del StackSet**, en **Nombre del StackSet**, ingrese **my-awsconfig-stackset**.

1. En **Descripción del StackSet**, ingrese **A StackSet that enables Config across multiple Regions**.

1. En **Parámetros**, defina la configuración de AWS Config de la siguiente manera:

   1. En **Admitir todo tipo de recursos**, mantenga el valor predeterminado, **correcto**, para registrar todos los tipos de recursos admitidos.

   1. En **Incluir tipos de recursos globales**, mantenga el valor predeterminado, **incorrecto**, para excluir los recursos globales, como los roles de IAM.

   1. Deje **Lista de tipos de recursos si no son todos compatibles** establecida en **<Todos>**.

   1. En **La región que contiene el recurso de rol vinculado al servicio Config**, sustituya **<DeployToAnyRegion>** por **us-west-2**.

      Esto significa que el rol vinculado al servicio denominado `AWSServiceRoleForConfig` solo se creará si se implementa una pila en la región Oeste de EE. UU (Oregón). Elegirá las regiones de implementación más adelante en este procedimiento.

   1. En **Configuration recorder recording frequency**, elija el registro **DAILY**.

1. Elija **Siguiente** para continuar.

1. En la página **Configurar las opciones del StackSet**, elija **Agregar etiqueta nueva** y especifique un par de clave y valor para agregar una etiqueta:

   1. En **Clave**, escriba **Stage**.

   1. En **Valor**, introduzca **Test**.

   Las etiquetas que se aplican a los StackSets se aplican a los recursos creados por las pilas.

1. En **Configuración de ejecución**, elija **Activo** para habilitar la gestión optimizada de las operaciones de CloudFormation:
   + Las operaciones sin conflictos se ejecutan simultáneamente para acelerar los tiempos de implementación.
   + Las operaciones en conflicto se ponen en cola y se procesan automáticamente en el orden en que se solicitaron.

   Mientras las operaciones se estén ejecutando o estén en cola, CloudFormation pone en cola todas las operaciones entrantes (incluso si no están en conflicto). No puede cambiar la configuración de ejecución durante este tiempo.

1. Elija **Siguiente**.

1. En la página **Establecer opciones de implementación**, en **Agregar pilas al StackSet**, elija **Implementar pilas nuevas**.

1. Para **Accounts (Cuentas)**, seleccione **Deploy stacks in accounts (Implementar pilas en cuentas)**.

1. En el cuadro de texto, ingrese el ID de su Cuenta de AWS.

1. En **Especificar regiones**, seleccione las siguientes regiones en este orden:

   1. Región Oeste de EE. UU (Oregón) (`us-west-2`)

   1. Región Este de EE. UU. (Norte de Virginia) (`us-east-1`)

   Use la flecha hacia arriba que aparece junto a la región Oeste de EE. UU. (Oregón) para moverla a la primera posición de la lista si es necesario. El orden de las regiones determina su orden de implementación.

1. En **Opciones de implementación**, defina la siguiente configuración:

   1. En **Maximum concurrent accounts** (Máximo de cuentas simultáneas), mantenga los valores predeterminados de **Number** (Número) y **1**.

      En el caso de las implementaciones en varias cuentas, esta configuración significa que CloudFormation implementa la pila en solo una cuenta a la vez.

   1. Para **Tolerancia a errores**, mantenga los valores predeterminados de **Número** y **0**.

      Esto significa que puede fallar un máximo de cero implementaciones de la pila en una de las regiones especificadas antes de que CloudFormation detenga la implementación en la región actual y cancele la implementación en las regiones restantes.

   1. En **Concurrencia de región**, elija **Secuencial** (valor predeterminado).

      Esta configuración garantiza que CloudFormation complete las implementaciones en una región antes de pasar a la siguiente.

   1. En **Modo de simultaneidad**, mantenga el valor predeterminado de **Tolerancia a errores estricta**.

      En el caso de las implementaciones en varias cuentas, esto reduce el nivel de simultaneidad de cuentas cuando se producen errores, manteniéndose dentro de **Tolerancia a errores** \$11.

1. Elija **Siguiente**.

1. En la página **Review (Revisar)**, revise las opciones seleccionadas. Para realizar cambios, elija **Editar** en la sección correspondiente.

1. Cuando lo tenga todo listo para crear su StackSet, elija **Enviar**.

## Supervisión de la creación de un StackSet
<a name="stacksets-tutorial-monitor-creation"></a>

Al elegir **Enviar**, CloudFormation comienza a crear su StackSet y a implementar las pilas en las regiones especificadas de su cuenta. La página de detalles del StackSet se abre automáticamente, donde puede supervisar el progreso de la operación.

**Supervisión de la creación del StackSet**

1. En la página de detalles del StackSet, se muestra la pestaña **Operaciones** de forma predeterminada, en la que aparece la operación actual en curso.

1. El estado de la operación debe ser `RUNNING` inicialmente. CloudFormation crea pilas en las regiones que especificó de acuerdo con las opciones de implementación que configuró.

1. Para ver más detalles acerca de la operación, seleccione el ID de la operación en la lista.

1. En la página de detalles de la operación, puede ver el estado de las instancias de pila que se están creando en cada región.

1. Espere a que el estado de la operación cambie a `SUCCEEDED`, lo que indica que el StackSet y todas sus instancias de pila se crearon correctamente.

## Visualización de los resultados del StackSet
<a name="stacksets-tutorial-view-results"></a>

Una vez completada la creación del StackSet, puede ver las instancias de pila implementadas y comprobar que AWS Config se ha habilitado en su cuenta en las regiones especificadas.

**Visualización de los resultados del StackSet**

1. En la página de detalles del StackSet, elija la pestaña **Instancias de pila**.

1. Debería ver una lista de las instancias de pila que se crearon en su cuenta en las regiones especificadas. Cada instancia de pila debe tener el estado `SUCCEEDED`, lo que indica que se implementó correctamente.

1. Para comprobar si AWS Config se habilitó en su cuenta, puede consultar la consola de AWS Config en cada una de las regiones implementadas.

## Actualización del StackSet
<a name="stacksets-tutorial-update-stackset"></a>

Después de crear el StackSet, es posible que desee actualizarlo para modificar los valores de los parámetros o agregar más regiones. En esta sección se indica cómo actualizar el parámetro de frecuencia de registro de AWS Config.

**Actualización del StackSet**

1. En la página **StackSets**, seleccione su **my-awsconfig-stackset**.

1. Con el StackSet seleccionado, elija **Editar detalles de StackSet** en el menú **Acciones**.

1. En la página **Elegir una plantilla**, en **Requisito previo: preparar la plantilla**, elija **Utilizar la plantilla actual**.

1. Elija **Siguiente**.

1. En la página **Especificar detalles del StackSet**, en **Parámetros**, busque **Configuration recorder recording frequency** y cambie el valor de **DAILY** a **CONTINUOUS**.

1. Elija **Siguiente**.

1. En la página **Configurar las opciones del StackSet**, deje la configuración tal como está y elija **Siguiente**.

1. En la página **Establecer opciones de implementación**, especifique el ID de su cuenta y las mismas regiones que utilizó al crear el StackSet.

1. En **Opciones de implementación**, mantenga la misma configuración que antes.

1. Elija **Siguiente**.

1. En la página **Revisar**, revise los cambios y seleccione **Enviar**.

1. CloudFormation empieza a actualizar el StackSet. Puede supervisar el progreso en la pestaña **Operaciones** de la página de detalles del StackSet.

## Cómo agregar pilas al StackSet
<a name="stacksets-tutorial-add-stacks"></a>

Puede agregar más pilas a su StackSet implementándolas en otras regiones. En esta sección se muestra cómo agregar pilas a una nueva región.

**Cómo agregar pilas al StackSet**

1. En la página **StackSets**, seleccione su **my-awsconfig-stackset**.

1. Con el StackSet seleccionado, elija **Agregar pilas al StackSet** en el menú **Acciones**.

1. En la página **Establecer opciones de implementación**, en **Agregar pilas al StackSet**, elija **Implementar pilas nuevas**.

1. En **Cuentas**, elija **Implementar pilas en cuentas** e ingrese el ID de su cuenta.

1. En **Especificar regiones**, seleccione una nueva región, como **Europa (Irlanda)** (`eu-west-1`).

1. En **Opciones de implementación**, mantenga la misma configuración que antes.

1. Elija **Siguiente**.

1. En la página **Especificar anulaciones**, deje los valores de las propiedades tal y como se especifican y elija **Siguiente**.

1. En la página **Review (Revisar)**, revise las opciones y seleccione **Submit (Enviar)**.

1. CloudFormation comienza a crear nuevas pilas en la región especificada. Puede supervisar el progreso en la pestaña **Operaciones** de la página de detalles del StackSet.

## Limpieza
<a name="stacksets-tutorial-clean-up"></a>

Para evitar que se generen cargos por recursos de AWS Config no deseados, debe llevar a cabo una limpieza; para ello, elimine las pilas de su StackSet, el propio StackSet y los roles de IAM que creó para este tutorial. Como todos los recursos están implementados en su cuenta, la limpieza es sencilla.

**Eliminación de pilas del StackSet**

1. En la página **StackSets**, seleccione su **my-awsconfig-stackset**.

1. Una vez seleccionado el StackSet, elija **Eliminar pilas de StackSet** en el menú **Acciones**.

1. En la página **Establecer opciones de implementación**, en **Cuentas**, elija **Implementar pilas en cuentas** e ingrese el ID de su cuenta.

1. En **Especificar regiones**, seleccione todas las regiones en las que ha implementado pilas.

1. En **Opciones de implementación**, mantenga la configuración predeterminada.

1. Asegúrese de que la opción **Retener pilas** *no* esté activada para que las pilas y sus recursos se eliminen.

1. Elija **Siguiente**.

1. En la página **Review (Revisar)**, revise las opciones y seleccione **Submit (Enviar)**.

1. CloudFormation comienza a eliminar las pilas de su StackSet. Puede supervisar el progreso en la pestaña **Operaciones** de la página de detalles del StackSet.

**Eliminación del StackSet**

1. Una vez eliminadas todas las pilas, en la página **StackSets**, seleccione su **my-awsconfig-stackset**.

1. Con el StackSet seleccionado, elija **Eliminar StackSet** en el menú **Acciones**.

1. Cuando se le pida confirmación, elija **Eliminar**.

**Eliminación de los roles de servicio de IAM**

Como solo llevó a cabo la implementación en su cuenta, solo tiene que eliminar los roles de IAM de esta única cuenta, lo que simplifica mucho más la limpieza en comparación con las implementaciones en varias cuentas.

1. Abra la [consola de IAM](https://console.aws.amazon.com/iam/).

1. En el panel de navegación, elija **Roles**.

1. En el cuadro de búsqueda, escriba **AWSCloudFormationStackSet** para buscar los roles que creó para este tutorial.

1. Seleccione la casilla de verificación que hay junto a **AWSCloudFormationStackSetAdministrationRole**.

1. Elija **Eliminar** en la parte superior de la página.

1. En el cuadro de diálogo de confirmación, escriba **delete** y elija **Eliminar**.

1. Repita el mismo proceso para eliminar **AWSCloudFormationStackSetExecutionRole**.

Después de eliminar el StackSet, quedará un bucket de Amazon S3 en cada Región de AWS debido al atributo `DeletionPolicy` del recurso `AWS::S3::Bucket`. Esto preserva los datos del historial de AWS Config. Si ya no necesita estos datos, puede eliminar el bucket de forma manual y segura. Para eliminar un bucket, primero debe vaciarlo. Al vaciar un bucket, se eliminan todos los objetos que incluye.

**Vaciado y eliminación de buckets de Amazon S3**

1. Abra la [consola de Amazon S3](https://console.aws.amazon.com/s3/).

1. En el panel de navegación del lado izquierdo de la consola, elija **Buckets (Buckets)**.

1. En la lista **Buckets**, verá los buckets creados para este StackSet en cada región en la que llevó a cabo la implementación. Seleccione la opción situada junto al nombre del bucket creado para este StackSet y, a continuación, elija **Empty**.

1. En la página **Vaciar bucket**, confirme que desea vaciar el bucket escribiendo **permanently delete** en el campo de texto y, a continuación, elija **Vaciar**.

1. Supervise el progreso del proceso de vaciado del bucket en la página **Vaciado del bucket: estado**. 

1. Para volver a la lista de buckets, seleccione **Salir**.

1. Seleccione la opción situada junto al nombre del bucket y, a continuación, seleccione **Eliminar**.

1. Cuando se le pida la confirmación, escriba el nombre del bucket y, a continuación, seleccione **Eliminar bucket**.

1. Supervise el progreso del proceso de eliminación del bucket en la lista **Buckets**. Cuando Amazon S3 completa la eliminación del bucket, lo elimina de la lista.

1. Repita este proceso para cada bucket creado por el StackSet en las diferentes regiones.

## Siguientes pasos
<a name="stacksets-tutorial-next-steps"></a>

¡Enhorabuena\$1 Ha creado correctamente un StackSet con una plantilla de ejemplo, ha implementado pilas en varias regiones de su cuenta, ha actualizado el StackSet, ha agregado más pilas y ha limpiado sus recursos. Al centrarse en la implementación en una sola cuenta, ha simplificado el proceso de limpieza y, al mismo tiempo, ha aprendido las capacidades multirregionales principales de los StackSets.

Para obtener más información sobre los StackSets, consulte los siguientes temas:
+ [Anulación de los valores de los parámetros en pilas en el StackSet de CloudFormation](stackinstances-override.md): obtenga información sobre cómo anular los valores de los parámetros para cuentas y regiones específicas.
+ [Creación de StackSets de CloudFormation con permisos administrados por servicios](stacksets-orgs-associate-stackset-with-org.md): explore la creación de StackSets para implementaciones en varias cuentas con AWS Organizations.

# Creación de StackSets de CloudFormation con permisos autoadministrados
<a name="stacksets-getting-started-create-self-managed"></a>

En este tema se describe cómo crear StackSets con permisos *autoadministrados* para implementar pilas en todas las regiones y Cuentas de AWS. 

**nota**  
Antes de continuar, cree los roles de servicio de IAM que los StackSets necesitan para establecer una relación de confianza entre la cuenta desde la que está administrando el StackSet y la cuenta en la que está implementando pilas. Para obtener más información, consulte [Concesión de permisos autoadministrados](stacksets-prereqs-self-managed.md).

**Topics**
+ [Creación de un StackSet con permisos autoadministrados (consola)](#stacksets-getting-started-create-self-managed-console)
+ [Creación de un StackSet con permisos autoadministrados (AWS CLI)](#stacksets-getting-started-self-managed-cli)

## Creación de un StackSet con permisos autoadministrados (consola)
<a name="stacksets-getting-started-create-self-managed-console"></a>

**Creación de un StackSet**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la barra de navegación de la parte superior de la pantalla, elija la Región de AWS desde la cual desea administrar el StackSet.

1. En el panel de navegación, seleccione **StackSets (Conjuntos de pilas)**.

1. En la parte superior de la página **Conjuntos de pilas**, seleccione **Crear conjunto de pilas**.

1. En **Permisos**, elija **Permisos de autoservicio** y los roles de IAM que ha creado.

1. En **Requisito previo - Preparación de la plantilla**, seleccione **Template is ready** (La plantilla está lista).

1. En **Especificar plantilla**, elija especificar la dirección URL del bucket de S3 que contiene la plantilla de pila o cargar un archivo de plantilla de pila. A continuación, elija **Siguiente**.

1. En la página **Especificar detalles del StackSet**, proporcione un nombre para el StackSet, especifique los parámetros y, a continuación, elija **Siguiente**.

1. Elija **Siguiente** para continuar.

1. En la página **Configurar opciones de StackSet**, en **Etiquetas**, especifique las etiquetas que se aplicarán a los recursos de la pila. Para obtener más información acerca del uso de etiquetas en AWS, consulte [Organización y rastreo de costos mediante las etiquetas de asignación de costos de AWS](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) en la *Guía del usuario de Administración de facturación y costos de AWS*.

1. En **Configuración de ejecución**, elija **Activo** para habilitar la gestión optimizada de las operaciones de CloudFormation:
   + Las operaciones sin conflictos se ejecutan simultáneamente para acelerar los tiempos de implementación.
   + Las operaciones en conflicto se ponen en cola y se procesan automáticamente en el orden en que se solicitaron.

   Mientras las operaciones se estén ejecutando o estén en cola, CloudFormation pone en cola todas las operaciones entrantes (incluso si no están en conflicto). No puede cambiar la configuración de ejecución durante este tiempo.

1. Si la plantilla contiene recursos de IAM, en **Capacidades** elija **Confirmo que esta plantilla pueda crear recursos de IAM** para especificar que desea utilizar recursos de IAM en la plantilla. Para obtener más información, consulte [Reconocimiento de recursos de IAM en plantillas de CloudFormation](control-access-with-iam.md#using-iam-capabilities).

1. Elija **Siguiente**.

1. En la página **Establecer opciones de implementación**, en **Agregar pilas al StackSet**, elija **Implementar pilas nuevas**.

1. Para **Accounts (Cuentas)**, seleccione **Deploy stacks in accounts (Implementar pilas en cuentas)**. Pegue sus números de Cuenta de AWS de destino en el cuadro de texto, separando los distintos números con comas.
**nota**  
Puede incluir el ID de su cuenta de administrador si también desea implementar pilas en esa cuenta.

1. En **Especificar regiones**, elija las regiones de las que desea eliminar pilas.

1. Para **Opciones de implementación**, haga lo siguiente:
   + Para **Número máximo de cuentas simultáneas**, especifique cuántas cuentas se procesan simultáneamente.
   + En **Tolerancia a errores**, especifique el número máximo de errores de cuenta permitidos por región. La operación se detendrá y no continuará en otras regiones cuando se alcance este límite.
   + Para **Concurrencia de regiones**, elija cómo procesar las regiones: **Secuencial** (una región a la vez) o **Paralelo** (varias regiones simultáneamente).
   + Para el **Modo de concurrencia**, elija cómo se comporta la concurrencia durante la ejecución de la operación.
     + **Tolerancia a errores estricta**: reduce el nivel de simultaneidad de la cuenta cuando se producen errores, manteniéndose dentro de **Tolerancia a errores** \$11.
     + **Tolerancia flexible a errores**: mantiene el nivel de concurrencia especificado (el valor de **Número máximo de cuentas simultáneas**) independientemente de los errores. 

1. Elija **Siguiente**.

1. En la página **Review (Revisar)**, revise las opciones seleccionadas. Para realizar cambios, elija **Editar** en la sección correspondiente.

1. Cuando lo tenga todo listo para crear su StackSet, elija **Enviar**.

   CloudFormation inicia la creación del StackSet. Vea el progreso y el estado de la creación de las pilas del StackSet en la página de detalles del StackSet que se abre al elegir **Enviar**.

## Creación de un StackSet con permisos autoadministrados (AWS CLI)
<a name="stacksets-getting-started-self-managed-cli"></a>

Siga los pasos de esta sección para utilizar la AWS CLI a fin de hacer lo siguiente:
+ Crear el contenedor del StackSet.
+ Implementar las instancias de pila.

**Creación de un StackSet**

1. Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-set.html) para crear un nuevo StackSet llamado `my-stackset`. En el siguiente ejemplo se utiliza una plantilla almacenada en un bucket de S3 y se incluye un parámetro que establece un `KeyPairName` con el valor `TestKey`. 

   ```
   aws cloudformation create-stack-set \
     --stack-set-name my-stackset \
     --template-url https://s3.region-code.amazonaws.com/amzn-s3-demo-bucket/MyApp.template \
     --parameters ParameterKey=KeyPairName,ParameterValue=TestKey
   ```

1. Una vez finalizado el comando **create-stack-set**, ejecute el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-sets.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-sets.html) para ver que se ha creado el StackSet. Debería ver el nuevo StackSet en los resultados.

   ```
   aws cloudformation list-stack-sets
   ```

1. Use el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-instances.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-instances.html) para implementar pilas en su StackSet. En el siguiente ejemplo se implementan pilas en dos Cuentas de AWS (`account_ID_1` y `account_ID_2`) en dos regiones (`us-west-2` y `us-east-1`). 

   Defina el procesamiento simultáneo de cuentas y otras preferencias de implementación con la opción `--operation-preferences`. Este ejemplo utiliza una configuración basada en el recuento. Considere que `MaxConcurrentCount` no debe superar `FailureToleranceCount` \$1 1. Para ajustes basados en porcentajes, utilice `FailureTolerancePercentage` o `MaxConcurrentPercentage` en su lugar. 

   ```
   aws cloudformation create-stack-instances \
     --stack-set-name my-stackset \
     --accounts account_ID_1 account_ID_2 \
     --regions us-west-2 us-east-1 \
     --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
   ```

   Para obtener más información, consulte [CreateStackInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackInstances.html) en la *Referencia de la API de AWS CloudFormation*.

1. Use el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html) para verificar que las pilas se hayan creado correctamente. Para la opción `--operation-id`, especifique el ID de operación que se devolvió como parte de la salida de **create-stack-instances**.

   ```
   aws cloudformation describe-stack-set-operation \
     --stack-set-name my-stackset \
     --operation-id operation_ID
   ```

# Creación de StackSets de CloudFormation con permisos administrados por servicios
<a name="stacksets-orgs-associate-stackset-with-org"></a>

Con los permisos *administrados por servicios* puede implementar pilas en cuentas administradas por AWS Organizations en regiones específicas. Con este modelo, no es necesario crear roles de IAM en cada cuenta de destino y Región de AWS. CloudFormation crea los roles de IAM en su nombre. Para obtener más información, consulte [Activación del acceso de confianza](stacksets-orgs-activate-trusted-access.md).

**Topics**
+ [Consideraciones](#stacksets-orgs-considerations)
+ [Creación de un StackSet con permisos administrados por servicios (consola)](#stacksets-orgs-associate-stackset-with-org-console)
+ [Creación de un StackSet con permisos administrados por servicios (AWS CLI)](#stacksets-orgs-associate-stackset-with-org-cli)

## Consideraciones
<a name="stacksets-orgs-considerations"></a>

Antes de crear un StackSet con permisos administrados por servicios, tenga en cuenta lo siguiente:
+ Los StackSets con permisos administrados por servicios se pueden iniciar desde la cuenta de administración de su organización o desde cuentas de administrador delegado, pero todas las operaciones se realizan desde la cuenta de administración.
+ CloudFormation no implementa pilas en la cuenta de administración, incluso si esa cuenta es parte de su organización o pertenece a una unidad organizativa (UO).
+ El StackSet puede dirigirse a toda la organización (incluye todas las cuentas) o a UO especificadas. Cuando un StackSet se dirige a una UO principal, incluye automáticamente cualquier UO secundaria. Cuando el StackSet se dirige a UO específicas, todas las cuentas de esas UO se incluyen de forma predeterminada. Sin embargo, puede dirigirse a cuentas específicas mediante las opciones de filtros de cuentas.
+ Varios StackSets pueden dirigirse a la misma organización o unidad organizativa.
+ No puede dirigir el StackSet a cuentas de fuera de la organización.
+ Los permisos asignados a la entidad principal de IAM (usuario, rol o grupo) que utiliza para iniciar sesión en la cuenta de administración determinan si está autorizado para la implementación con StackSets. Para ver un ejemplo de una política de IAM que concede permiso de implementación en una organización, consulte [Restringir las operaciones de conjuntos de pilas según la región y los tipos de recursos](security_iam_id-based-policy-examples.md#resource-level-permissions-service-managed-stack-set).
+ Los administradores delegados tienen permisos completos para implementar en cuentas de la organización. La cuenta de administración no puede limitar los permisos del administrador delegado para la implementación en UO u operaciones StackSets específicas.
+ La configuración de implementación automática se aplican en el nivel de StackSet. No puede ajustar las implementaciones automáticas selectivamente para unidades organizativas, cuentas o regiones.
+ Los StackSets que utilizan permisos administrados por el servicio no admiten pilas anidadas ni plantillas que contengan macros o transformaciones.

## Creación de un StackSet con permisos administrados por servicios (consola)
<a name="stacksets-orgs-associate-stackset-with-org-console"></a>

**Creación de un StackSet**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la barra de navegación de la parte superior de la pantalla, elija la Región de AWS desde la cual desea administrar el StackSet.

1. En el panel de navegación, seleccione **StackSets (Conjuntos de pilas)**.

1. En la parte superior de la página **Conjuntos de pilas**, seleccione **Crear conjunto de pilas**.

1. En **Permisos**, seleccione **Permisos administrados por servicios**.
**nota**  
Si el acceso de confianza con AWS Organizations está deshabilitado, aparecerá un banner. Se requiere acceso de confianza para crear o actualizar un StackSet con permisos administrados por servicios. Solo el administrador de la cuenta de administración de la organización tiene permisos para [Activación del acceso de confianza para StackSets con AWS Organizations](stacksets-orgs-activate-trusted-access.md).

1. En **Requisito previo - Preparación de la plantilla**, seleccione **Template is ready** (La plantilla está lista).

1. En **Especificar plantilla**, elija especificar la dirección URL del bucket de S3 que contiene la plantilla de pila o cargar un archivo de plantilla de pila. A continuación, elija **Siguiente**.

1. En la página **Especificar detalles del StackSet**, proporcione un nombre para el StackSet, especifique los parámetros y, a continuación, elija **Siguiente**.

1. En la página **Configurar opciones de StackSet**, en **Etiquetas**, especifique las etiquetas que se aplicarán a los recursos de la pila. Para obtener más información acerca del uso de etiquetas en AWS, consulte [Organización y rastreo de costos mediante las etiquetas de asignación de costos de AWS](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) en la *Guía del usuario de Administración de facturación y costos de AWS*.

1. En **Configuración de ejecución**, elija **Activo** para habilitar la gestión optimizada de las operaciones de CloudFormation:
   + Las operaciones sin conflictos se ejecutan simultáneamente para acelerar los tiempos de implementación.
   + Las operaciones en conflicto se ponen en cola y se procesan automáticamente en el orden en que se solicitaron.

   Mientras las operaciones se estén ejecutando o estén en cola, CloudFormation pone en cola todas las operaciones entrantes (incluso si no están en conflicto). No puede cambiar la configuración de ejecución durante este tiempo.

1. Si la plantilla contiene recursos de IAM, en **Capacidades** elija **Confirmo que esta plantilla pueda crear recursos de IAM** para especificar que desea utilizar recursos de IAM en la plantilla. Para obtener más información, consulte [Reconocimiento de recursos de IAM en plantillas de CloudFormation](control-access-with-iam.md#using-iam-capabilities).

1. Seleccione **Siguiente** para continuar y activar el acceso de confianza si aún no está activado.

1. En la página **Definir opciones de implementación**, en **Objetivos de implementación**, realice una de las siguientes acciones:
   + Para realizar la implementación en todas las cuentas de la organización, elija **Implementar en la organización**. 
   + Para realizar la implementación en todas las cuentas de unidades organizativas específicas, elija **Implementar en unidades organizativas (OU)**. Elija **Añadir una unidad organizativa**, y, a continuación, pegue el ID de unidad organizativa de destino en el cuadro de texto. Repita para cada nueva unidad organizativa de destino.

   Si selecciona **Implementar en unidades organizativas (UO)**, para **Tipo de filtro de cuentas**, puede configurar sus objetivos de implementación para que sean cuentas individuales específicas al seleccionar una de las siguientes opciones y proporcionar los números de cuenta.
   + **Ninguno** (predeterminado): implementa las pilas en todas las cuentas en las UO especificadas.
   + **Intersección**: implementa las pilas solo en cuentas individuales específicas dentro de las UO seleccionadas.
   + **Diferencia**: implementa las pilas en todas las cuentas de las UO seleccionadas, excepto en cuentas específicas.
   + **Unión**: implementa las pilas en las UO especificadas y en cuentas individuales adicionales.

1. En **Implementación automática**, elija si llevar a cabo la implementación automáticamente en cuentas que se agregan a la organización o UO de destino en el futuro. Para obtener más información, consulte [Habilitar o deshabilitar las implementaciones automáticas para StackSets en AWS Organizations](stacksets-orgs-manage-auto-deployment.md).

1. Si ha habilitado la implementación automática, en **Comportamiento de eliminación de cuentas**, elija si los recursos de pila se conservan o eliminan cuando se quita una cuenta de una organización u unidad organizativa de destino.
**nota**  
Con la opción **Retener pilas** seleccionada, las pilas se eliminan del StackSet, pero las pilas y sus recursos asociados se retienen. Los recursos permanecen en su estado actual, pero ya no formarán parte del StackSet.

1. En **Especificar regiones**, elija las regiones de las que desea eliminar pilas.

1. Para **Opciones de implementación**, haga lo siguiente:
   + Para **Número máximo de cuentas simultáneas**, especifique cuántas cuentas se procesan simultáneamente.
   + En **Tolerancia a errores**, especifique el número máximo de errores de cuenta permitidos por región. La operación se detendrá y no continuará en otras regiones cuando se alcance este límite.
   + Para **Concurrencia de regiones**, elija cómo procesar las regiones: **Secuencial** (una región a la vez) o **Paralelo** (varias regiones simultáneamente).
   + Para el **Modo de concurrencia**, elija cómo se comporta la concurrencia durante la ejecución de la operación.
     + **Tolerancia a errores estricta**: reduce el nivel de simultaneidad de la cuenta cuando se producen errores, manteniéndose dentro de **Tolerancia a errores** \$11.
     + **Tolerancia flexible a errores**: mantiene el nivel de concurrencia especificado (el valor de **Número máximo de cuentas simultáneas**) independientemente de los errores. 
   + Para las **dependencias** de StackSet, añada los ARN de StackSet dependientes, manteniéndose dentro de un máximo de 10 dependencias. Para obtener más información, consulte [Habilitar o deshabilitar las implementaciones automáticas para StackSets en AWS Organizations](stacksets-orgs-manage-auto-deployment.md).

1. Elija **Siguiente** para continuar.

1. En la página **Revisar**, compruebe que el StackSet se implemente en las cuentas correctas de las regiones adecuadas y, a continuación, elija **Crear StackSet**.

   Se abrirá la página **Detalles de StackSet details**. Puede ver el progreso y el estado de la creación de las pilas de su StackSet.

## Creación de un StackSet con permisos administrados por servicios (AWS CLI)
<a name="stacksets-orgs-associate-stackset-with-org-cli"></a>

Siga los pasos de esta sección para utilizar la AWS CLI a fin de hacer lo siguiente:
+ Crear el contenedor del StackSet.
+ Implementar las instancias de pila.

**nota**  
Al actuar como administrador delegado, debe incluir `--call-as DELEGATED_ADMIN` en el comando.

------
#### [ Deploy to your organization ]

**Creación de un StackSet**

1. Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-set.html) para crear un nuevo StackSet llamado `my-stackset`. En el siguiente ejemplo se utiliza una plantilla almacenada en un bucket de S3, se habilitan las implementaciones automáticas y se conservan las pilas cuando se eliminan las cuentas. Para obtener más información, consulte [Habilitar o deshabilitar las implementaciones automáticas para StackSets en AWS Organizations](stacksets-orgs-manage-auto-deployment.md).

   ```
   aws cloudformation create-stack-set \
     --stack-set-name my-stackset \
     --template-url https://s3.region-code.amazonaws.com/amzn-s3-demo-bucket/MyApp.template \
     --permission-model SERVICE_MANAGED \
     --auto-deployment Enabled=true,RetainStacksOnAccountRemoval=true,DependsOn=ARN1,ARN2
   ```

1. Use el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-sets.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-sets.html) para confirmar que se creó el StackSet. El nuevo StackSet aparece en los resultados.

   ```
   aws cloudformation list-stack-sets
   ```
   + Si establece la opción `--call-as` a `DELEGATED_ADMIN` mientras ha iniciado sesión en su cuenta de miembro, **list-stack-sets** devuelve todos los StackSets con permisos administrados por servicios en la organización cuenta de administración.
   + Si establece la opción `--call-as` a `SELF` mientras mantiene una sesión iniciada en Cuenta de AWS, **list-stack-sets** devuelve todos los StackSets autoadministrados de su Cuenta de AWS.
   + Si establece la opción `--call-as` a `SELF` mientras ha iniciado sesión en la organización cuenta de administración, **list-stack-sets** devuelve todos los StackSets de la organización cuenta de administración.

1. Use el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-instances.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-instances.html) para agregar pilas al StackSet. Para la opción `--deployment-targets`, especifique el ID raíz de la organización que se va a implementar en todas las cuentas de la organización. 

   Defina el procesamiento simultáneo de cuentas y otras preferencias de implementación con la opción `--operation-preferences`. Este ejemplo utiliza una configuración basada en el recuento. Considere que `MaxConcurrentCount` no debe superar `FailureToleranceCount` \$1 1. Para ajustes basados en porcentajes, utilice `FailureTolerancePercentage` o `MaxConcurrentPercentage` en su lugar. 

   ```
   aws cloudformation create-stack-instances --stack-set-name my-stackset \
     --deployment-targets OrganizationalUnitIds=r-a1b2c3d4e5 \
     --regions us-west-2 us-east-1 \
     --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
   ```

   Para obtener más información, consulte [CreateStackInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackInstances.html) en la *Referencia de la API de AWS CloudFormation*.

1. Mediante el `operation-id` que se ha devuelto como parte de la salida de **create-stack-instances**, use el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html) para comprobar que las pilas se han creado correctamente.

   ```
   aws cloudformation describe-stack-set-operation \
     --stack-set-name my-stackset \
     --operation-id operation_ID
   ```

------
#### [ Deploy to organizational units (OUs) ]

**Creación de un StackSet**

1. Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-set.html) para crear un nuevo StackSet llamado `my-stackset`. En el siguiente ejemplo se utiliza una plantilla almacenada en un bucket de S3 e incluye un parámetro que establece un `KeyPairName` con el valor `TestKey`.

   ```
   aws cloudformation create-stack-set \
     --stack-set-name my-stackset \
     --template-url https://s3.region-code.amazonaws.com/amzn-s3-demo-bucket/MyApp.template \
     --permission-model SERVICE_MANAGED \
     --parameters ParameterKey=KeyPairName,ParameterValue=TestKey
   ```

1. Use el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-sets.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-sets.html) para confirmar que se creó el StackSet. El nuevo StackSet aparece en los resultados.

   ```
   aws cloudformation list-stack-sets
   ```
   + Si establece la opción `--call-as` a `DELEGATED_ADMIN` mientras ha iniciado sesión en su cuenta de miembro, **list-stack-sets** devuelve todos los StackSets con permisos administrados por servicios en la organización cuenta de administración.
   + Si establece la opción `--call-as` a `SELF` mientras mantiene una sesión iniciada en Cuenta de AWS, **list-stack-sets** devuelve todos los StackSets autoadministrados de su Cuenta de AWS.
   + Si establece la opción `--call-as` a `SELF` mientras ha iniciado sesión en la organización cuenta de administración, **list-stack-sets** devuelve todos los StackSets de la organización cuenta de administración.

1. Use el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-instances.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-instances.html) para agregar pilas al StackSet. Para la opción `--deployment-targets`, especifique los ID de las UO en los que se va a llevar a cabo la implementación.

   Defina el procesamiento simultáneo de cuentas y otras preferencias de implementación con la opción `--operation-preferences`. Este ejemplo utiliza una configuración basada en el recuento. Considere que `MaxConcurrentCount` no debe superar `FailureToleranceCount` \$1 1. Para ajustes basados en porcentajes, utilice `FailureTolerancePercentage` o `MaxConcurrentPercentage` en su lugar. 

   ```
   aws cloudformation create-stack-instances --stack-set-name my-stackset \
     --deployment-targets OrganizationalUnitIds=ou-rcuk-1x5j1lwo,ou-rcuk-slr5lh0a \
     --regions us-west-2 us-east-1 \
     --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
   ```

   Para obtener más información, consulte [CreateStackInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackInstances.html) en la *Referencia de la API de AWS CloudFormation*.

1. Mediante el `operation-id` que se ha devuelto como parte de la salida de **create-stack-instances**, use el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html) para comprobar que las pilas se han creado correctamente.

   ```
   aws cloudformation describe-stack-set-operation \
     --stack-set-name my-stackset \
     --operation-id operation_ID
   ```

------
#### [ Deploy to specific accounts in OUs ]

Puede dirigirse a unidades organizativas (UO) específicas y utilizar el filtrado de cuentas para controlar con precisión qué cuentas reciben implementaciones de pila. De forma predeterminada, las pilas se implementan en todas las cuentas de las UO especificadas si no se especifica ningún filtrado de cuentas.

En la AWS CLI, especifique el filtrado de cuentas con la opción `--deployment-targets`. Para obtener más información, consulte [DeploymentTargets](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeploymentTargets.html).

Después de crear el contenedor del StackSet con el comando **create-stack-set**, use uno de los siguientes ejemplos para implementar pilas en cuentas específicas.

**Cómo dirigirse a cuentas específicas de una UO**  
En el siguiente ejemplo se implementan pilas solo en las cuentas A1 y A2 de OU1.

```
aws cloudformation create-stack-instances --stack-set-name my-stackset \
  --deployment-targets OrganizationalUnitIds=OU1,Accounts=A1,A2,AccountFilterType=INTERSECTION \
  --regions us-west-2 us-east-1
```

**Exclusión de cuentas de una UO**  
En el siguiente ejemplo se implementan pilas en todas las cuentas de OU1, excepto en las cuentas A1 y A2.

```
aws cloudformation create-stack-instances --stack-set-name my-stackset \
  --deployment-targets OrganizationalUnitIds=OU1,Accounts=A1,A2,AccountFilterType=DIFFERENCE \
  --regions us-west-2 us-east-1
```

------

# Habilitar o deshabilitar las implementaciones automáticas para StackSets en AWS Organizations
<a name="stacksets-orgs-manage-auto-deployment"></a>

CloudFormation puede implementar automáticamente pilas adicionales en las nuevas cuentas de AWS Organizations cuando se agregan a la organización o unidades organizativas (UO) de destino. Puede habilitar las implementaciones automáticas y elegir si desea eliminar o conservar las pilas y sus recursos asociados cuando se eliminen las cuentas de las UO de destino. Esta configuración se puede modificar en cualquier momento para los StackSets con permisos administrados por servicios.

## Cómo funcionan las implementaciones automáticas
<a name="stacksets-orgs-auto-deployment-example"></a>

Cuando las implementaciones automáticas están habilitadas, se activarán cuando se agreguen las cuentas a una organización u unidad organizativa de destino, se eliminen de ellas o se muevan entre unidades organizativas de destino.

Por ejemplo, consideremos que `StackSet1` apunta a `OU1` en la región `us-east-1`, y que `StackSet2` apunta a `OU2` en la región `us-east-1`. `OU1` contiene `AccountA`. 

Si pasa `AccountA` de `OU1` a `OU2` con implementaciones automáticas habilitadas, CloudFormation ejecuta automáticamente una operación de eliminación para eliminar la pila `StackSet1` de `AccountA` y pone en cola una operación de creación que agrega la pila `StackSet2` a `AccountA`.

## Consideraciones
<a name="stacksets-orgs-auto-deployment-considerations"></a>

A continuación, se detallan consideraciones que se deben tener en cuenta cuando se utilizan implementaciones automáticas:
+ La característica de implementación automática se habilita en el nivel de StackSet. No puede ajustar las implementaciones automáticas selectivamente para unidades organizativas, cuentas o regiones.
+ Los valores de parámetro sustituidos solo se aplican a las cuentas que están actualmente en las unidades organizativas de destino y a sus unidades organizativas secundarias. Las cuentas agregadas a las UO de destino y sus UO secundarias en el futuro utilizarán los valores predeterminados del StackSet y no los valores anulados.
+ Las implementaciones automáticas no tienen en cuenta los filtros de segmentación a nivel de cuenta. Si se dirige a cuentas específicas y habilita implementaciones automáticas, su StackSet continuará las implementaciones en las cuentas añadidas recientemente en la organización implementada. Para evitar las implementaciones en las cuentas recién agregadas, desactive las implementaciones automáticas. 
+ Administración de dependencias: defina hasta 10 dependencias por StackSet, con hasta 100 dependencias por cuenta. Por ejemplo, si tiene cinco StackSets con cinco dependencias cada uno, tiene 25 dependencias que cuentan para el límite de 100 dependencias. Puede solicitar un aumento del límite a través de la [consola de Service Quotas](https://console.aws.amazon.com/servicequotas/home). Las dependencias se eliminan cuando se eliminan los StackSets o se desactivan las organizaciones.
+ Se recomienda habilitar la ejecución administrada cuando se utilizan implementaciones automáticas. La ejecución administrada permitirá que las operaciones de implementación automática en varias cuentas de destino se ejecuten simultáneamente dentro de un StackSet, lo que aumentará la velocidad de procesamiento, especialmente en el caso de las organizaciones más grandes.

## Habilitar o deshabilitar implementaciones automáticas (consola)
<a name="stacksets-orgs-manage-auto-deployment-console"></a>

**Habilitación o deshabilitación de implementaciones automáticas**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la barra de navegación de la parte superior de la pantalla, elija la Región de AWS en la que creó el StackSet.

1. En el panel de navegación, seleccione **StackSets (Conjuntos de pilas)**.

1. En la página **StackSets**, seleccione la opción situada junto al nombre del StackSet que desee actualizar.

1. Elija **Editar implementación automática** en el menú **Acciones** en la esquina superior derecha. 

1. En el cuadro de diálogo que se abre, haga lo siguiente:

   1. En **Implementación automática**, elija **Activado** o **Desactivado**.

   1. En **Comportamiento deliminación de cuentas**, seleccione **Eliminar pilas** o **Retener pilas**. Los recursos retenidos permanecen en su estado actual, pero ya no formarán parte del StackSet.

   1. Para las **dependencias** de StackSet, añada los ARN de StackSet dependientes, manteniéndose dentro de un máximo de 10 dependencias.

1. Seleccione **Save**.

## Habilitar o deshabilitar implementaciones automáticas (AWS CLI)
<a name="stacksets-orgs-manage-auto-deployment-cli"></a>

**Habilitación o deshabilitación de implementaciones automáticas**

1. Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-set.html) con la opción `--auto-deployment`.

   El siguiente comando habilita las implementaciones automáticas.

   ```
   aws cloudformation update-stack-set --stack-set-name my-stackset \
     --use-previous-template --auto-deployment Enabled=true,RetainStacksOnAccountRemoval=true,DependsOn=ARN1,ARN2
   ```

   Como alternativa, para deshabilitar las implementaciones automáticas, especifique `Enabled=false` como el valor de la opción `--auto-deployment`, como en el siguiente ejemplo. 

   ```
   aws cloudformation update-stack-set --stack-set-name my-stackset \
     --use-previous-template --auto-deployment Enabled=false
   ```

1. Mediante el ID de la operación que se ha devuelto como parte de la salida de **update-stack-set**, ejecute [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html) para comprobar que el StackSet se haya actualizado correctamente.

   ```
   aws cloudformation describe-stack-set-operation --operation-id operation_ID
   ```

# Actualización de StackSets de CloudFormation
<a name="stacksets-update"></a>

Puede actualizar el StackSet mediante la consola de CloudFormation o la AWS CLI. 

Para agregar y eliminar cuentas y regiones de un StackSet, consulte [Adición de pilas a StackSets](stackinstances-create.md) y [Eliminar pilas de los StackSets](stackinstances-delete.md). Para anular los valores de los parámetros para una pila, consulte [Anulación de parámetros en pilas](stackinstances-override.md). 

**Topics**
+ [Actualización del StackSet (consola)](#stacksets-update-console)
+ [Actualización del StackSet (AWS CLI)](#stacksets-update-cli)

## Actualización del StackSet (consola)
<a name="stacksets-update-console"></a>

**Actualización de un StackSet**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la barra de navegación de la parte superior de la pantalla, elija la Región de AWS en la que creó el StackSet.

1. En el panel de navegación, seleccione **StackSets (Conjuntos de pilas)**.

1. En la página **StackSet**, seleccione el StackSet que desea actualizar.

1. Con el StackSet seleccionado, elija **Editar detalles de StackSet** en el menú **Acciones**.

1. En la página **Elegir una plantilla**, actualice la sección **Permisos** según sea necesario o pase al siguiente paso.

1. En **Requisito previo: preparar plantilla**, elija **Usar plantilla actual** para usar la plantilla actual o **Reemplazar plantilla actual** para especificar una URL de S3 a otra plantilla o cargar una nueva plantilla.

1. Elija **Siguiente**.

1. En la página **Especificar detalles del StackSet**, en **Descripción del StackSet**, actualice la descripción del StackSet según sea necesario.

1. En **Parámetros**, actualice los valores de los parámetros según sea necesario.

1. Elija **Siguiente**.

1. En la página **Configurar opciones del conjunto de pilas**, en **Etiquetas**, modifique etiquetas según sea necesario. Puede añadir, actualizar o eliminar etiquetas. Para obtener más información acerca del uso de etiquetas en AWS, consulte [Organización y rastreo de costos mediante las etiquetas de asignación de costos de AWS](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) en la *Guía del usuario de Administración de facturación y costos de AWS*.

1. Para la **configuración de ejecución**, puede actualizar la configuración de ejecución según sea necesario. 
**nota**  
Recuerde que no puede cambiar la configuración de ejecución cuando las operaciones están en ejecución o en cola.

1. Si la plantilla contiene recursos de IAM, en **Capacidades** elija **Confirmo que esta plantilla pueda crear recursos de IAM** para especificar que desea utilizar recursos de IAM en la plantilla. Para obtener más información, consulte [Reconocimiento de recursos de IAM en plantillas de CloudFormation](control-access-with-iam.md#using-iam-capabilities).

1. Elija **Siguiente**.

1. En la página **Establecer opciones de implementación**, proporcione las cuentas y regiones para la actualización.

   CloudFormation implementará actualizaciones de pilas en las cuentas especificadas en la primera región, a continuación pasará a la siguiente, y así sucesivamente, mientras los fallos de implementación de una región no superen la tolerancia de fallos especificada.

   1. [Permisos autoadministrados] En **Cuentas**, **Ubicaciones de implementación**, elija **Implementar pilas en cuentas**. Pegue los ID de las cuentas de destino que ha utilizado para crear el StackSet en el cuadro de texto, separando varios números mediante comas. 

      [Permisos administrados por el servicio] Realice una de las siguientes acciones:
      + Elija **Implementar en unidades organizativas (OU)**. Ingrese las UO de destino que haya utilizado para crear el StackSet.
      + Elija **Implementar en cuentas**. Pegue los ID de las UO o las cuentas de destino que haya utilizado para crear el StackSet.

   1. En **Especificar regiones**, especifique el orden en el que desea que CloudFormation implemente las actualizaciones.

   1. Para **Opciones de implementación**, haga lo siguiente:
      + Para **Número máximo de cuentas simultáneas**, especifique cuántas cuentas se procesan simultáneamente.
      + En **Tolerancia a errores**, especifique el número máximo de errores de cuenta permitidos por región. La operación se detendrá y no continuará en otras regiones cuando se alcance este límite.
      + Para **Concurrencia de regiones**, elija cómo procesar las regiones: **Secuencial** (una región a la vez) o **Paralelo** (varias regiones simultáneamente).
      + Para el **Modo de concurrencia**, elija cómo se comporta la concurrencia durante la ejecución de la operación.
        + **Tolerancia a errores estricta**: reduce el nivel de simultaneidad de la cuenta cuando se producen errores, manteniéndose dentro de **Tolerancia a errores** \$11.
        + **Tolerancia flexible a errores**: mantiene el nivel de concurrencia especificado (el valor de **Número máximo de cuentas simultáneas**) independientemente de los errores. 
      + [Permisos administrados por el servicio] Para las **dependencias** de StackSet, añada los ARN de StackSet dependientes, manteniéndose dentro de un máximo de 10 dependencias. Para obtener más información, consulte [Habilitar o deshabilitar las implementaciones automáticas para StackSets en AWS Organizations](stacksets-orgs-manage-auto-deployment.md).

   1. Elija **Siguiente** para continuar.

1. En la página **Review (Revisar)**, revise las opciones seleccionadas. Para realizar cambios, elija **Editar** en la sección correspondiente.

1. Cuando esté listo para continuar, elija **Enviar**.

   CloudFormation comienza a aplicar las actualizaciones en el StackSet y muestra la pestaña **Operaciones** de la página de detalles del StackSet. Puede ver el progreso y el estado de las operaciones de actualización en la pestaña **Operations (Operaciones)**.

## Actualización del StackSet (AWS CLI)
<a name="stacksets-update-cli"></a>

**nota**  
Al actuar como administrador delegado, debe incluir `--call-as DELEGATED_ADMIN` en el comando. 

1. 

**Actualización de un StackSet**

   Ejecute el comando de [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-set.html) para hacer cambios en el StackSet.

   En los siguientes ejemplos, actualizamos el StackSet mediante la opción `--parameters`. Específicamente, modificamos la frecuencia de entrega de instantánea predeterminada para la configuración del canal de entrega de `TwentyFour_Hours` a `Twelve_Hours`. Dado que seguimos utilizando la plantilla actual, añadimos la opción `--use-previous-template`.

   Defina el procesamiento simultáneo de cuentas y otras preferencias de implementación con la opción `--operation-preferences`. Estos ejemplos utilizan una configuración basada en el recuento. Considere que `MaxConcurrentCount` no debe superar `FailureToleranceCount` \$1 1. Para ajustes basados en porcentajes, utilice `FailureTolerancePercentage` o `MaxConcurrentPercentage` en su lugar. 

   [Permisos autoadministrados] Para la opción `--accounts`, proporcione los ID de cuenta a los que desea que se dirija la actualización.

   ```
   aws cloudformation update-stack-set --stack-set-name my-stackset \
     --use-previous-template \
     --parameters ParameterKey=MaximumExecutionFrequency,ParameterValue=Twelve_Hours \
     --accounts account_ID_1 account_ID_2 \
     --regions us-west-2 us-east-1 \
     --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
   ```

   [Permisos administrados por el servicio] Para la opción `--deployment-targets`, proporcione el ID de raíz de la organización o los ID de unidad organizativa (UO) a los que desea que se dirija la actualización.

   ```
   aws cloudformation update-stack-set --stack-set-name my-stackset \
     --use-previous-template \
     --parameters ParameterKey=MaximumExecutionFrequency,ParameterValue=Twelve_Hours \
     --deployment-targets OrganizationalUnitIds=ou-rcuk-1x5j1lwo,ou-rcuk-slr5lh0a \
     --regions us-west-2 us-east-1 \
     --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
   ```

   Para obtener más información, consulte [UpdateStackSet](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html) en la *Referencia de la API de AWS CloudFormation*.

1. Compruebe que el StackSet se haya actualizado correctamente al ejecutar el comando **describe-stack-set-operation** para mostrar el estado y los resultados de la operación de actualización. Para `--operation-id`, utilice el ID de operación devuelto con el comando **update-stack-set**.

   ```
   aws cloudformation describe-stack-set-operation \
     --operation-id operation_ID
   ```

# Adición pilas a CloudFormation StackSets
<a name="stackinstances-create"></a>

Al crear un StackSet, puede crear las pilas de ese StackSet. CloudFormation también le permite agregar más pilas para otras cuentas y regiones en cualquier momento después de crear el StackSet. Puede añadir pilas con la consola de CloudFormation o con la AWS CLI.

**Topics**
+ [Cómo agregar pilas a un StackSet (consola)](#stackinstances-create-console)
+ [Cómo agregar pilas a un StackSet (AWS CLI)](#stackinstances-create-cli)

## Cómo agregar pilas a un StackSet (consola)
<a name="stackinstances-create-console"></a>

**Cómo agregar pilas a un StackSet**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la barra de navegación de la parte superior de la pantalla, elija la Región de AWS en la que creó el StackSet.

1. En el panel de navegación, seleccione **StackSets (Conjuntos de pilas)**. En la página StackSet, seleccione el StackSet que creó.

1. Con el StackSet seleccionado, elija **Agregar pilas al StackSet** en el menú **Acciones**.

1. En la página **Establecer opciones de implementación**, realice las siguientes acciones:

   1. En **Agregar pilas al StackSet**, seleccione **Implementar pilas nuevas**.

   1. A continuación, lleve a cabo las siguientes acciones en función de la configuración de los permisos del StackSet:
      + [Permisos autoadministrados] En **Cuentas**, **Ubicaciones de implementación**, elija **Implementar pilas en cuentas**. Pegue sus números de cuenta de destino en el cuadro de texto, separando los distintos números con comas..
      + [Permisos administrados por el servicio] Para los **Objetivos de implementación**, realice una de las siguientes acciones:
        + Elija **Implementar en la organización** para realizar la implementación en todas las cuentas de la organización.
        + Elija **Implementar en unidades organizativas (OU)** para implementarlas en todas las cuentas de unidades organizativas específicas. Elija **Añadir otra unidad organizativa**, y, a continuación, pegue el ID de unidad organizativa de destino en el cuadro de texto. Repita para cada nueva unidad organizativa de destino. CloudFormation también se dirige a cualquier UO secundaria de los destinos seleccionados.
**nota**  
Si agrega una UO a la que ya se dirige el StackSet, CloudFormation crea nuevas pilas en cualquier cuenta de la UO que aún no tenga pilas del StackSet (por ejemplo, cuentas que se agregaron a la UO después de crear el StackSet y con implementaciones automáticas deshabilitadas).

   1. En **Especificar regiones**, especifique en qué cuentas de destino Regiones de AWS desea realizar el despliegue en las cuentas de destino que especificó en el paso anterior. De forma predeterminada, CloudFormation implementará pilas en las cuentas especificadas en la primera región, a continuación pasará a la siguiente, y así sucesivamente, mientras los fallos de implementación de una región no superen la tolerancia de fallos especificada.

   1. Para **Opciones de implementación**, haga lo siguiente:
      + Para **Número máximo de cuentas simultáneas**, especifique cuántas cuentas se procesan simultáneamente.
      + En **Tolerancia a errores**, especifique el número máximo de errores de cuenta permitidos por región. La operación se detendrá y no continuará en otras regiones cuando se alcance este límite.
      + Para **Concurrencia de regiones**, elija cómo procesar las regiones: **Secuencial** (una región a la vez) o **Paralelo** (varias regiones simultáneamente).
      + Para el **Modo de concurrencia**, elija cómo se comporta la concurrencia durante la ejecución de la operación.
        + **Tolerancia a errores estricta**: reduce el nivel de simultaneidad de la cuenta cuando se producen errores, manteniéndose dentro de **Tolerancia a errores** \$11.
        + **Tolerancia flexible a errores**: mantiene el nivel de concurrencia especificado (el valor de **Número máximo de cuentas simultáneas**) independientemente de los errores. 

   1. Elija **Siguiente**.

1. En la página **Specify Overrides (Especificar anulaciones)**, deje los valores de la propiedad tal y como aparecen. No anulará ningún valor de propiedad de las pilas que va a crear. Elija **Siguiente**.

1. En la página **Review (Revisar)**, revise las opciones seleccionadas. Para realizar cambios, elija **Editar** en la sección correspondiente.

1. Cuando esté listo para continuar, elija **Enviar**.

   CloudFormation inicia la creación de las pilas. Vea el progreso y el estado de la creación de las pilas del StackSet en la página de detalles del StackSet que se abre al elegir **Enviar**. Cuando haya finalizado, sus nuevas pilas deberían aparecer en la pestaña **Stack instances (Instancias de pila)**.

## Cómo agregar pilas a un StackSet (AWS CLI)
<a name="stackinstances-create-cli"></a>

**nota**  
Al actuar como administrador delegado, debe incluir `--call-as DELEGATED_ADMIN` en el comando. 

**Cómo agregar pilas a un StackSet con permisos autoadministrados**  
Utilice el comando CLI **create-stack-instances**. Para la opción `--accounts`, proporcione los ID de cuentas para los que desee crear pilas.

```
aws cloudformation create-stack-instances --stack-set-name my-stackset \
  --accounts account_id --regions eu-west-1 us-west-2
```

**Cómo agregar pilas a un StackSet con permisos administrados por servicios**  
Utilice el comando CLI **create-stack-instances**. Para la opción `--deployment-targets`, proporcione el ID de organización (raíz) o los ID de UO para los que desee crear pilas. Para ver ejemplos de comandos que se dirigen a cuentas específicas, consulte [Creación de un StackSet con permisos administrados por servicios (AWS CLI)](stacksets-orgs-associate-stackset-with-org.md#stacksets-orgs-associate-stackset-with-org-cli).

```
aws cloudformation create-stack-instances --stack-set-name my-stackset \
  --deployment-targets OrganizationalUnitIds=ou-rcuk-r1qi0wl7 --regions eu-west-1 us-west-2
```

**nota**  
Si agrega una UO a la que ya se dirige el StackSet, CloudFormation crea nuevas pilas en cualquier cuenta de la UO que aún no tenga pilas del StackSet (por ejemplo, cuentas que se agregaron a la UO después de crear el StackSet y con implementaciones automáticas deshabilitadas).

# Anulación de los valores de los parámetros en pilas en el StackSet de CloudFormation
<a name="stackinstances-override"></a>

En algunos casos, es posible que desee que pilas en determinadas regiones o cuentas tengan diferentes valores de propiedad que los especificados en el propio StackSet. Por ejemplo, es posible que desee especificar un valor diferente para un parámetro determinado en función de si una cuenta se utiliza para el desarrollo o la producción. En estas situaciones, CloudFormation permite anular los valores de los parámetros en pilas por cuenta y región. Puede anular los valores de los parámetros de plantilla al crear las pilas y puede anular los valores de parámetros de las pilas existentes. Solo puede establecer los parámetros que anuló previamente en las pilas con los valores originales especificados en el StackSet.

Las anulaciones de los valores de parámetros se aplican a las pilas de las cuentas y regiones que seleccione. Durante las actualizaciones del StackSet, no se actualiza ningún valor de parámetro anulado para una pila, sino que se retiene su valor anulado.

Solo puede anular *valores* de parámetros que se han especificado en el StackSet; para agregar o eliminar un parámetro, debe actualizar la plantilla del StackSet. Si agrega un parámetro a una plantilla de StackSet, para poder anular el valor de ese parámetro en una pila, primero debe actualizar todas las pilas con el nuevo parámetro y valor especificados en el StackSet. Una vez que todas las pilas se han actualizado con el nuevo parámetro, puede anular el valor del parámetro en pilas individuales como desee.

Para obtener información sobre cómo anular valores de parámetros de StackSets al crear pilas, consulte [Adición de pilas a StackSets](stackinstances-create.md).

**Topics**
+ [Anulación de parámetros en pilas (consola)](#stackinstances-override-console)
+ [Anulación de parámetros en pilas (AWS CLI)](#stackinstances-override-cli)

## Anulación de parámetros en pilas (consola)
<a name="stackinstances-override-console"></a>

**Anulación de parámetros de pilas específicas**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la barra de navegación de la parte superior de la pantalla, elija la Región de AWS en la que creó el StackSet.

1. En el panel de navegación, seleccione **StackSets (Conjuntos de pilas)**. En la página StackSets, seleccione el StackSet.

1. Con el StackSet seleccionado, elija **Anulación de parámetros de StackSet** en el menú **Acciones**.

1. En la página **Establecer opciones de implementación**, proporcione las cuentas y las regiones para las pilas para las que creará anulaciones.

   De forma predeterminada, CloudFormation implementará pilas en las cuentas especificadas en la primera región, luego pasará a la siguiente, y así sucesivamente, mientras las fallas de implementación de una región no superen la tolerancia de fallos especificada.

   1. [Permisos autoadministrados] En **Destinos de implementación**, elija **Implementar pilas en cuentas**. Pegue algunos o todos los ID de cuenta de destino que utilizó para crear el StackSet.

      [Permisos administrados por el servicio] Realice una de las siguientes acciones:
      + Elija **Implementar en unidades organizativas (OU)**. Ingrese una o más de las UO de destino que utilizó para crear el StackSet. Los valores de parámetro sustituidos solo se aplican a las cuentas que están actualmente en las unidades organizativas de destino y a sus unidades organizativas secundarias. Las cuentas agregadas a las UO de destino y sus UO secundarias en el futuro utilizarán los valores predeterminados del StackSet y no los valores anulados.
      + Elija **Implementar en cuentas**. Pegue algunos o todos los ID de UO o de cuenta de destino que utilizó para crear el StackSet.

   1. En **Especificar regiones**, agregue una o varias de las regiones en las que implementó las pilas para este StackSet.

      Si añade varias regiones, el orden de las regiones bajo **Especificar regiones** determina su orden de implementación.

   1. Para **Opciones de implementación**, haga lo siguiente:
      + Para **Número máximo de cuentas simultáneas**, especifique cuántas cuentas se procesan simultáneamente.
      + En **Tolerancia a errores**, especifique el número máximo de errores de cuenta permitidos por región. La operación se detendrá y no continuará en otras regiones cuando se alcance este límite.
      + Para **Concurrencia de regiones**, elija cómo procesar las regiones: **Secuencial** (una región a la vez) o **Paralelo** (varias regiones simultáneamente).
      + Para el **Modo de concurrencia**, elija cómo se comporta la concurrencia durante la ejecución de la operación.
        + **Tolerancia a errores estricta**: reduce el nivel de simultaneidad de la cuenta cuando se producen errores, manteniéndose dentro de **Tolerancia a errores** \$11.
        + **Tolerancia flexible a errores**: mantiene el nivel de concurrencia especificado (el valor de **Número máximo de cuentas simultáneas**) independientemente de los errores. 

   1. Elija **Siguiente**.

1. En la página **Especificar anulaciones**, seleccione las casillas para los parámetros que desea anular, y luego elija **Anular valor del conjunto de pilas** en el menú **Editar valor de anulación**.

1. En la página **Anular los valores de los parámetros del conjunto de pilas**, realice los cambios y, a continuación, seleccione **Guardar cambios**.
**nota**  
Para reestablecer los parámetros anulados al valor original especificado en el StackSet, compruebe todos los parámetros y elija **Establecer en el valor del StackSet** del menú **Editar valor de anulación**. De esta forma, se eliminan todos los valores anulados cuando se actualizan las pilas.

1. En la página **Review (Revisar)**, revise las opciones seleccionadas. Para realizar cambios, elija **Editar** en la sección correspondiente.

1. Cuando esté listo para continuar, elija **Enviar**.

   CloudFormation empieza a actualizar las pilas. Vea el progreso y el estado de las pilas en la página de detalles del StackSet que se abre al elegir **Enviar**.

## Anulación de parámetros en pilas (AWS CLI)
<a name="stackinstances-override-cli"></a>

**nota**  
Al actuar como administrador delegado, debe incluir `--call-as DELEGATED_ADMIN` en el comando. 

**Anulación de parámetros de pilas específicas**

1. Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-instances.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-instances.html) de la AWS CLI y especifique la opción `--parameter-overrides`.

   [Permisos autoadministrados] Para la opción `--accounts`, proporcione los ID de cuentas para los que desee anular valores de parámetros en pilas.

   ```
   aws cloudformation update-stack-instances --stack-set-name my-stackset \
     --parameter-overrides ParameterKey=Subnets,ParameterValue=subnet-1baa3351\\,subnet-27b86940 \
     --accounts account_id --regions us-east-1
   ```

   [Permisos administrados por servicios] Para la opción `--deployment-targets`, proporcione el ID raíz de organización, los ID de unidad organizativa o los ID de cuenta de AWS Organizations para los que desee anular los parámetros de las pilas. En este ejemplo, anulamos los valores de parámetros para las pilas en todas las cuentas de la UO con el ID `ou-rcuk-1x5j1lwo`.

   Los valores de parámetro reemplazados solo se aplican a las cuentas que están actualmente en la unidad organizativa de destino y a sus unidades organizativas secundarias. Las cuentas agregadas a la UO de destino y sus UO secundarias en el futuro utilizarán los valores predeterminados del StackSet y no los valores reemplazados.

   ```
   aws cloudformation update-stack-instances --stack-set-name my-stackset \
     --parameter-overrides ParameterKey=Subnets,ParameterValue=subnet-1baa3351\\,subnet-27b86940 \
     --deployment-targets OrganizationalUnitIds=ou-rcuk-1x5j1lwo \
     --regions us-east-1
   ```

1. Compruebe que los valores de los parámetros se reemplazaron correctamente en las pilas ejecutando el comando **describe-stack-set-operation** para mostrar el estado y los resultados de la operación de actualización. Para `--operation-id`, utilice el ID de operación devuelto con el comando **update-stack-instances**.

   ```
   aws cloudformation describe-stack-set-operation --operation-id operation_ID
   ```

# Eliminación de pilas de CloudFormation StackSets
<a name="stackinstances-delete"></a>

Puede eliminar las pilas de un StackSets mediante la consola de CloudFormation o la AWS CLI. 

**Topics**
+ [Eliminación de pilas del StackSet (consola)](#stackinstances-delete-console)
+ [Eliminación de pilas del StackSet (AWS CLI)](#stackinstances-delete-cli)

**nota**  
Al eliminar pilas de una unidad organizativa (UO) de nivel superior, se elimina esa UO como objetivo del StackSet.

## Eliminación de pilas del StackSet (consola)
<a name="stackinstances-delete-console"></a>

**Para eliminar pilas**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la barra de navegación de la parte superior de la pantalla, elija la Región de AWS en la que creó el StackSet.

1. En el panel de navegación, seleccione **StackSets (Conjuntos de pilas)**. En la página StackSets, seleccione el StackSet.

1. Una vez seleccionado su StackSet, elija **Eliminar pilas de StackSet** en el menú **Acciones**.

1. En la página **Establecer opciones de implementación**, seleccione primero las cuentas y regiones en las que desea eliminar las pilas.

   1. [Permisos autoadministrados] En **Cuentas**, seleccione **Implementar pilas en cuentas**, o **Implementar pilas en unidades organizaciones**.

      Si elige **Implementar pilas en cuentas**, pegue sus números de cuenta de destino en el cuadro de texto **Números de cuenta**, separe los números con coma.

      Si elige **Implementar pilas en unidades organizativas**, pegue un ID de UO de destino en el cuadro de texto **Números de organización** para seleccionar todas las cuentas que forman parte de la organización especificada.

   1. [Permisos administrados por el servicio] En el caso de **las unidades organizativas (OU)**, especifique los ID de las OU de destino. 
**importante**  
CloudFormation eliminará las pilas tanto de las unidades organizativas de destino especificadas como de sus unidades organizativas secundarias.

      Para **Tipo de filtro de cuentas**, para definir qué cuentas tendrán pilas eliminadas elija una de las siguientes opciones y proporcione números de cuenta. 
      + **Ninguno** (predeterminado): elimina las pilas de todas las cuentas en las UO especificadas.
      + **Intersección**: elimina las pilas solo de cuentas individuales específicas dentro de las UO seleccionadas.
      + **Diferencia**: elimina las pilas de todas las cuentas de las UO seleccionadas, excepto de cuentas específicas.
      + **Unión**: elimina las pilas de las UO especificadas y de las cuentas individuales adicionales.

   1. En **Especificar regiones**, elija las regiones de las cuentas objetivo de las que desea eliminar pilas.

1. Para **Opciones de implementación**, haga lo siguiente:
   + Para **Número máximo de cuentas simultáneas**, especifique cuántas cuentas se procesan simultáneamente.
   + En **Tolerancia a errores**, especifique el número máximo de errores de cuenta permitidos por región. La operación se detendrá y no continuará en otras regiones cuando se alcance este límite.
   + En **Retener pilas**, habilite esta opción para guardar las pilas y sus recursos asociados al eliminarlos de su StackSet. Los recursos permanecerán en su estado actual, pero ya no formarán parte del StackSet.
   + Para **Concurrencia de regiones**, elija cómo procesar las regiones: **Secuencial** (una región a la vez) o **Paralelo** (varias regiones simultáneamente).
   + Para el **Modo de concurrencia**, elija cómo se comporta la concurrencia durante la ejecución de la operación.
     + **Tolerancia a errores estricta**: reduce el nivel de simultaneidad de la cuenta cuando se producen errores, manteniéndose dentro de **Tolerancia a errores** \$11.
     + **Tolerancia flexible a errores**: mantiene el nivel de concurrencia especificado (el valor de **Número máximo de cuentas simultáneas**) independientemente de los errores. 

1. Elija **Siguiente**.

1. En la página **Review (Revisar)**, revise las opciones seleccionadas. Para realizar cambios, elija **Editar** en la sección correspondiente.

1. Cuando lo tenga todo listo para eliminar las pilas del StackSet, elija **Enviar**.

   Después de eliminar las pilas, puede comprobar si se han eliminado las pilas del StackSet en la página de detalles del StackSet, en la pestaña **Instancias de pila**.

## Eliminación de pilas del StackSet (AWS CLI)
<a name="stackinstances-delete-cli"></a>

**nota**  
Al actuar como administrador delegado, debe incluir `--call-as DELEGATED_ADMIN` en el comando. 

Use el comando **delete-stack-instances** con el nombre de su StackSet.

En estos ejemplos, usamos la opción `--no-retain-stacks`, porque no retenemos ninguna pila. Utilice `--retain-stacks` en vez de `--no-retain-stacks` si quiere conservar las pilas y sus recursos. 

Para `--regions`, especifique las Regiones de AWS de las que desea eliminar pilas, por ejemplo, `us-west-2` y `us-east-1`.

Defina el procesamiento simultáneo de cuentas y otras preferencias con la opción `--operation-preferences`. Estos ejemplos utilizan una configuración basada en el recuento. Considere que `MaxConcurrentCount` no debe superar `FailureToleranceCount` \$1 1. Para ajustes basados en porcentajes, utilice `FailureTolerancePercentage` o `MaxConcurrentPercentage` en su lugar. 

**Eliminación de pilas (permisos autoadministrados)**  
Para la opción `--accounts`, especifique los ID de las cuentas de las que desee eliminar pilas.

```
aws cloudformation delete-stack-instances --stack-set-name my-stackset \
  --accounts account_ID_1 account_ID_2 \
  --regions us-west-2 us-east-1 \
  --no-retain-stacks \
  --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
```

**Eliminación de pilas (permisos administrados por servicios)**  
Para `--deployment-targets`, especifique el ID de la organización raíz o los ID de unidad organizativa (UO) de los que desee eliminar pilas.

**importante**  
CloudFormation eliminará las pilas tanto de las unidades organizativas de destino especificadas como de sus unidades organizativas secundarias.

```
aws cloudformation delete-stack-instances --stack-set-name my-stackset \
  --deployment-targets OrganizationalUnitIds=ou-rcuk-1x5jlwo,ou-rcuk-slr5lh0a \ 
  --regions us-west-2 us-east-1 \
  --no-retain-stacks \
  --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0
```

Para más información, consulte [DeleteStackInstances](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DeleteStackInstances.html) en la *Referencia de la APIAWS CloudFormation*.

Opcionalmente, una vez que haya terminado la eliminación de pilas, compruebe que las pilas se hayan eliminado del StackSet ejecutando el comando **describe-stack-set-operation** para mostrar el estado y los resultados de la operación de eliminación de pilas. Para `--operation-id`, utilice el ID de operación devuelto con el comando **delete-stack-instances**.

```
aws cloudformation describe-stack-set-operation --stack-set-name my-stackset \
  --operation-id ddf16f54-ad62-4d9b-b0ab-3ed8e9example
```

# Eliminación de StackSets de CloudFormation
<a name="stacksets-delete"></a>

Para eliminar un StackSet, primero debe eliminar todas las pilas del StackSet. Para obtener información sobre cómo eliminar todas las pilas, consulte [Eliminar pilas de los StackSets](stackinstances-delete.md).

**Topics**
+ [Eliminación de un StackSet (consola)](#stacksets-delete-set)
+ [Eliminación de un StackSet (AWS CLI)](#stacksets-delete-set-cli)
+ [Eliminar roles de servicio (opcional)](#stacksets-delete-roles)

## Eliminación de un StackSet (consola)
<a name="stacksets-delete-set"></a>

**Eliminación de un StackSet**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la barra de navegación de la parte superior de la pantalla, elija la Región de AWS en la que creó el StackSet.

1. En la página **StackSets**, seleccione el StackSet.

1. Con el StackSet seleccionado, elija **Eliminar StackSet** en el menú **Acciones**.

1. Cuando se le pida que confirme que desea eliminar el StackSet, seleccione **Eliminar StackSet**.

## Eliminación de un StackSet (AWS CLI)
<a name="stacksets-delete-set-cli"></a>

**nota**  
Al actuar como administrador delegado, debe incluir `--call-as DELEGATED_ADMIN` en el comando. 

**Eliminación de un StackSet**

1. Use el siguiente comando **delete-stack-set**. Cuando se le solicite confirmación, escriba **y** y, a continuación, pulse **Intro**.

   ```
   aws cloudformation delete-stack-set --stack-set-name my-stackset
   ```

1. Para comprobar que el StackSet se haya eliminado, ejecute el comando **list-stack-sets**. Los resultados del comando list-stack-sets deberían mostrar la pila con un estado de `DELETED`.

   ```
   aws cloudformation list-stack-sets
   ```

## Eliminar roles de servicio (opcional)
<a name="stacksets-delete-roles"></a>

Si ya no necesita los roles de servicio de IAM que CloudFormation requiere para llevar a cabo operaciones con StackSets, le recomendamos que los elimine.

*En el caso de los StackSets autogestionados*, los roles que creó. Para obtener más información sobre estos roles, consulte [Concesión de permisos autoadministrados](stacksets-prereqs-self-managed.md).

*En el caso de los StackSets administrados por servicios*, los roles que se crearon automáticamente para StackSets tiene el sufijo `CloudFormationStackSetsOrgAdmin` en la cuenta de administración de la organización y `CloudFormationStackSetsOrgMember` en cada cuenta de destino. Para obtener más información, consulte [Roles vinculados a servicios](stacksets-orgs-activate-trusted-access.md#stacksets-orgs-service-linked-roles).

**Eliminación de un rol de servicio (consola)**

1. Inicie sesión en Consola de administración de AWS y abra la consola IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación, elija **Roles** y, a continuación, marque la casilla de verificación junto al rol que desea eliminar.

1. En el menú **Role actions (Acciones de rol)** en la parte superior de la página, elija **Delete role (Eliminar rol)**.

1. En el cuadro de diálogo de confirmación, elija **Yes, Delete (Sí, eliminar)**. Si está seguro, puede continuar con la eliminación, aunque los datos del último acceso al servicio sigan cargándose.

**Eliminación de un rol de servicio (AWS CLI)**
+ Use el siguiente comando **delete-role**. Cuando se le pida confirmación, escriba **y** y, a continuación, pulse Enter.

  ```
  aws iam delete-role --role-name role name
  ```

Para obtener más información sobre la eliminación de roles, consulte [Eliminación de roles o perfiles de instancia](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html) en la *Guía de usuario de IAM*.

# Cómo evitar las implementaciones fallidas de StackSets mediante puertas de cuentas de destino
<a name="stacksets-account-gating"></a>

Una puerta de cuenta es una característica opcional que lo ayuda a verificar que una cuenta de destino cumpla determinados requisitos antes de que CloudFormation inicie las operaciones con StackSets en dicha cuenta. Esta verificación se lleva a cabo a través de una función de AWS Lambda que actúa como una comprobación previa.

Un ejemplo común de una puerta de cuenta es verificar que no haya alarmas de CloudWatch activas o sin resolver en la cuenta de destino. CloudFormation invoca la función de Lambda cada vez que inicie operaciones de pila en la cuenta de destino y solo continúa si la función devuelve el código `SUCCEEDED`. Si la función de Lambda devuelve el estado `FAILED`, CloudFormation no continúa con la operación solicitada. Si no tiene configurada una función de Lambda de puertas de cuentas, CloudFormation omite la comprobación y continúa con su operación.

Si su cuenta de destino falla una comprobación de puerta de cuenta, el número de operaciones fallidas se incrementa en el número o porcentaje de tolerancia de fallos de pilas. Para obtener más información acerca de las tolerancias ante fallos, consulte [Opciones de operaciones con StackSets](stacksets-concepts.md#stackset-ops-options).

La regulación de cuenta solo está disponible para operaciones de StackSets. Esta característica no está disponible para otras operaciones de CloudFormation más allá de StackSets.

## Requisitos
<a name="stacksets-accountgating_reqs"></a>

Para las puertas de cuentas, se deben cumplir los siguientes requisitos:
+ Su función de Lambda debe llamarse `AWSCloudFormationStackSetAccountGate` para utilizar esta característica.
+ **AWSCloudFormationStackSetExecutionRole** debe tener permisos para invocar su función de Lambda. Sin estos permisos, CloudFormation omitirá la comprobación de puertas de cuentas y continuará con las operaciones de la pila.
+ El permiso `InvokeFunction` de Lambda debe añadirse a las cuentas de destino para que funcione la regulación de la cuenta. La política de confianza de la cuenta de destino no tiene una relación de confianza con la cuenta del administrador. El siguiente es un ejemplo de declaración de política que otorga permisos `InvokeFunction` de Lambda.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "lambda:InvokeFunction"
              ],
              "Resource": "*"
          }
      ]
  }
  ```

------

## Plantillas de CloudFormation para crear funciones de Lambda
<a name="stacksets-sample-accountgate"></a>

Utilice las siguientes plantillas de ejemplo para crear funciones `AWSCloudFormationStackSetAccountGate` de Lambda. Para crear una nueva pila con una de estas plantillas, consulte [Creación de una pila en la consola de CloudFormation](cfn-console-create-stack.md).


|  Ubicación de plantilla  |  Descripción  | 
| --- | --- | 
|  [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AccountGateSucceeded.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AccountGateSucceeded.yml)  |  Crea una pila que implementa una función de puerta de cuenta de Lambda que devolverá un estado de `SUCCEEDED`.  | 
|  [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AccountGateFailed.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/AccountGateFailed.yml)  |  Crea una pila que implementa una función de puerta de cuenta de Lambda que devolverá un estado de `FAILED`.  | 

# Elección del modo de simultaneidad para CloudFormation StackSets
<a name="concurrency-mode"></a>

El **modo de simultaneidad** es un parámetro de [https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_StackSetOperationPreferences.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_StackSetOperationPreferences.html) que permite elegir cómo se comporta el nivel de simultaneidad durante las operaciones con StackSets. Puede elegir entre los siguientes modos:
+ **Tolerancia estricta a errores**: esta opción reduce de forma dinámica el nivel de simultaneidad para garantizar que el número de cuentas fallidas nunca supere el valor de **Tolerancia a errores** \$1 1. La simultaneidad real inicial se establece en el valor más bajo entre el valor de **Número máximo de cuentas simultáneas** o el valor de **Tolerancia a errores** \$1 1. A continuación, la simultaneidad real se reduce proporcionalmente en función del número de errores. Este es el comportamiento predeterminado.
+ **Tolerancia ligera a errores**: esta opción desacopla **Tolerancia a errores** de la simultaneidad real. Esto permite que las operaciones con StackSets se ejecuten en el nivel de simultaneidad establecido por el valor de **Número máximo de cuentas simultáneas**, independientemente del número de errores.

**Tolerancia a errores estricta** reduce la velocidad de implementación a medida que se producen errores en las operaciones con StackSets, ya que la simultaneidad disminuye en cada error. **Tolerancia a errores suave** prioriza la velocidad de implementación y, al mismo tiempo, aprovecha las capacidades de seguridad de CloudFormation. Esto le permite revisar y abordar los errores de las operaciones con StackSets para detectar problemas comunes, como los relacionados con los recursos existentes, las cuotas de servicio y los permisos.

Para obtener más información sobre los errores en las operaciones de pila de StackSets, consulte [Motivos comunes para el fallo en una operación de la pila](stacksets-troubleshooting.md#common-reasons-for-stack-operation-failure).

Para obtener más información sobre **Número máximo de cuentas simultáneas** y **Tolerancia a errores**, consulte [Opciones de operaciones con StackSets](stacksets-concepts.md#stackset-ops-options).

## Cómo funciona cada modo de simultaneidad
<a name="concurrency-mode-example"></a>

Las siguientes imágenes proporcionan una representación visual de cómo funciona cada **modo de simultaneidad** durante una operación con StackSets. La cadena de nodos representa una implementación en una Región de AWS y cada nodo es una Cuenta de AWS objetivo.

**Tolerancia estricta a errores**  
Cuando una operación con StackSets que utiliza **Tolerancia a errores estricta** tiene el valor de **Tolerancia a errores** establecido en 5 y el valor de **Número máximo de cuentas simultáneas** en 10, la simultaneidad real es 6. La simultaneidad real es 6 porque el valor de **Tolerancia a errores** de 5 \$1 1 es inferior al valor de **Número máximo de cuentas simultáneas**.  
En la siguiente imagen se muestra el impacto que el valor de **Tolerancia a errores** tiene en el valor de **Número máximo de cuentas simultáneas** y el impacto que ambos tienen en la simultaneidad real de la operación con StackSets:  

![\[Una operación con StackSets con tolerancia a errores estricta. La tolerancia a errores es 5, el número máximo de cuentas simultáneas es 10 y la simultaneidad es de 6.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/concurrency-strict-failure-tolerance-1.png)

Cuando comienza la implementación y hay instancias de pila fallidas, la simultaneidad real se reduce para ofrecer una experiencia de implementación segura. La simultaneidad real se reduce de 6 a 5 cuando StackSets no logra implementar una instancia de pila.  

![\[La operación con StackSets que utiliza una tolerancia a errores estricta tiene 2 implementaciones correctas y 1 fallida.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/concurrency-strict-failure-tolerance-2.png)


![\[La operación con StackSets que utiliza tolerancia a errores estricta ha reducido la simultaneidad real a 5 ahora que se ha producido un error.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/concurrency-strict-failure-tolerance-3.png)

El modo **Tolerancia estricta a errores** reduce la simultaneidad real proporcionalmente al número de instancias de pila fallidas. En el siguiente ejemplo, la simultaneidad real se reduce de 5 a 3 cuando StackSets no logra implementar 2 instancias de pila más, lo que eleva el total de instancias de pila con errores a 3.  

![\[La operación con StackSets que utiliza la tolerancia a errores estricta ahora tiene 3 implementaciones fallidas. La simultaneidad se ha reducido a 3.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/concurrency-strict-failure-tolerance-4.png)

StackSets no puede completar la operación con StackSets cuando el número de instancias de pila con errores es igual al valor definido de **Tolerancia a errores** \$1 1. En el siguiente ejemplo, StackSets no realiza la operación cuando hay 6 instancias de pila con errores y el valor de **Tolerancia a errores** es 5.  

![\[La operación con StackSets que utiliza la tolerancia a errores estricta ahora tiene 6 implementaciones fallidas. Se produce un error en la operación con StackSets.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/concurrency-strict-failure-tolerance-5.png)

En este ejemplo, CloudFormation implementó 9 instancias de pila (3 correctas y 6 con errores) antes de detener la operación con StackSets.

**Tolerancia ligera a errores**  
Cuando una operación con StackSets que utiliza **Tolerancia a errores suave** tiene el valor de **Tolerancia a errores** establecido en 5 y el valor de **Número máximo de cuentas simultáneas** en 10, la simultaneidad real es 10.  

![\[Una operación con StackSets con tolerancia a errores suave. La tolerancia a errores es 5, el número máximo de cuentas simultáneas y la simultaneidad real es de 10.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/concurrency-soft-failure-tolerance-1.png)

Cuando comienza la implementación y hay instancias de pila con errores la simultaneidad real no cambia. En el siguiente ejemplo, se produjo un error en una operación de pila, pero la simultaneidad real se mantiene en 10.  

![\[La operación con StackSets con tolerancia a errores suave detecta el primer error. La simultaneidad real se mantiene en 10.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/concurrency-soft-failure-tolerance-2.png)

La simultaneidad real se mantiene en 10 incluso después de que se produzcan 2 errores más en las instancias de pila.  

![\[La operación con StackSets con tolerancia a errores suave ahora tiene 2 éxitos y 3 fracasos, pero la simultaneidad real sigue siendo de 10.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/concurrency-soft-failure-tolerance-3.png)

StackSets no puede completar la operación con StackSets cuando el número de instancias de pila con errores supera el valor de **Tolerancia a errores**. En el siguiente ejemplo, StackSets no realiza la operación cuando hay 6 instancias de pila con errores y el recuento de **Tolerancia a errores** es 5. Sin embargo, la operación no finalizará hasta que se completen las operaciones restantes de la cola de simultaneidad.  

![\[La operación con StackSets con tolerancia a errores suave llega a 6 errores, pero debe finalizar lo que queda en la cola de simultaneidad.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/concurrency-soft-failure-tolerance-4.png)

StackSets sigue implementando instancias de pila que ya están en la cola de simultaneidad. Esto significa que la cantidad de instancias de pila con errores puede ser superior al valor de **Tolerancia a errores.** En el siguiente ejemplo, hay 8 instancias de pila con errores porque a la cola de simultaneidad aún le quedaban 7 operaciones por completar, a pesar de que la operación con StackSets había alcanzado el valor de **Tolerancia a errores** de 5.  

![\[La operación con StackSets tiene un total de 8 errores porque le quedaban 7 implementaciones en la cola tras alcanzar el umbral de error.\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/concurrency-soft-failure-tolerance-5.png)

En este ejemplo, StackSets implementó 15 instancias de pila (7 correctas y 8 con errores) antes de detener la operación de pila.

## Elección entre Tolerancia estricta a errores y Tolerancia ligera a errores en función de la velocidad de implementación
<a name="concurrency-mode-comparison"></a>

La elección entre los modos **Tolerancia a errores estricta** y **Tolerancia a errores suave** depende de la velocidad preferida de implementación del StackSet y del número permitido de errores de implementación.

En las siguientes tablas, se muestra cómo gestiona cada modo de simultaneidad una operación con StackSets con errores al intentar implementar un total de 1000 instancias de pila. En cada escenario, el valor de **Tolerancia a errores** se establece en 100 instancias de pila y el valor de **Número máximo de cuentas simultáneas** se establece en 250 instancias de pila.

Si bien StackSets en realidad pone en cola las cuentas como una ventana deslizante (consulte [Cómo funciona cada modo de simultaneidad](#concurrency-mode-example)), este ejemplo muestra la operación en lotes para demostrar la velocidad de cada modo.

### Tolerancia estricta a errores
<a name="concurrency-mode-comparison-strict"></a>

En este ejemplo, en el que se utiliza el modo **Tolerancia estricta a errores**, se reduce la simultaneidad real en relación con el número de errores que se producen en cada lote anterior. Cada lote tiene 20 instancias con errores, lo que reduce en 20 la simultaneidad real del lote siguiente hasta que la operación con StackSets alcance el valor de **Tolerancia a errores** de 100.

En la siguiente tabla, la simultaneidad real inicial del primer lote es de 101 instancias de pila. La simultaneidad real es 101 porque es el valor más bajo de **Número máximo de cuentas simultáneas** (250) o **Tolerancia a errores** (100) \$1 1. Cada lote contiene 20 implementaciones de instancias de pila con errores, lo que reduce la simultaneidad real de cada lote siguiente en 20 instancias de pila.


| **Tolerancia estricta a errores** | **Lote 1** | **Lote 2** | **Lote 3** | **Lote 4** | **Lote 5** | **Lote 6** | 
| --- | --- | --- | --- | --- | --- | --- | 
| Recuento de simultaneidad real | 101 | 81 | 61 | 41 | 21 | - | 
| Recuento de instancias con errores | 20 | 20 | 20 | 20 | 20 | - | 
| Recuento de instancias de pila correctas  | 81 | 61 | 41 | 21 | 1 | - | 

La operación que utilizó **Tolerancia a errores estricta** completó 305 implementaciones de instancias de pila en 5 lotes cuando la operación con StackSets alcanzó el valor de **Tolerancia a errores** de 100 instancias de pila. La operación con StackSets implementa correctamente 205 instancias de pila antes de que se produzca un error.

### Tolerancia ligera a errores
<a name="concurrency-mode-comparison-soft"></a>

En este ejemplo, en el que se utiliza el modo **Tolerancia ligera a errores**, se mantiene el mismo recuento de simultaneidad real definido por el valor de **Número máximo de cuentas simultáneas** de 250 instancias de pila, independientemente del número de instancias con errores. Las operaciones con StackSets mantienen la misma simultaneidad real hasta que alcanzan el valor de **Tolerancia a errores** de 100 instancias.

En la siguiente tabla, la simultaneidad real inicial del primer lote es de 250 instancias de pila. La simultaneidad real es 250 porque el valor de **Número máximo de cuentas simultáneas** está establecido en 250 y el modo **Tolerancia ligera a errores** permite a StackSets utilizar este valor como la simultaneidad real, independientemente del número de errores. A pesar de que hay 50 errores en cada uno de los lotes de este ejemplo, la simultaneidad real no se ve afectada.


| **Tolerancia ligera a errores** | **Lote 1** | **Lote 2** | **Lote 3** | **Lote 4** | **Lote 5** | **Lote 6** | 
| --- | --- | --- | --- | --- | --- | --- | 
| Recuento de simultaneidad real | 250 | 250 | - | - | - | - | 
| Recuento de instancias con errores | 50 | 50 | - | - | - | - | 
| Recuento de instancias de pila correctas  | 200 | 200 | - | - | - | - | 

Con el mismo valor de **Número máximo de cuentas simultáneas** y de **Tolerancia a errores**, la operación que utilizó el modo **Tolerancia ligera a errores** completó 500 implementaciones de instancias de pila en 2 lotes. La operación con StackSets implementa correctamente 400 instancias de pila antes de que se produzca un error.

## Elegir el modo de simultaneidad (consola)
<a name="concurrency-mode-console"></a>

Al crear o actualizar un StackSet, en la página **Establecer opciones de implementación**, en **Modo de simultaneidad**, seleccione **Tolerancia a errores estricta** o **Tolerancia a errores suave**.

## Elegir el modo de simultaneidad (AWS CLI)
<a name="concurrency-mode-cli"></a>

Puede utilizar el parámetro `ConcurrencyMode` con los siguientes comandos de StackSets:
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-instances.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack-instances.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/delete-stack-instances.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/delete-stack-instances.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/detect-stack-set-drift.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/detect-stack-set-drift.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/import-stacks-to-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/import-stacks-to-stack-set.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-instances.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-instances.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack-set.html)

Estos comandos tienen un parámetro existente llamado `--operation-preferences` que puede usar la configuración `ConcurrencyMode`. `ConcurrencyMode` se puede establecer en uno de los siguientes valores:
+ `STRICT_FAILURE_TOLERANCE`
+ `SOFT_FAILURE_TOLERANCE`

En el siguiente ejemplo, se crea una instancia de pila utilizando el `STRICT_FAILURE_TOLERANCE` `ConcurrencyMode`, con el valor de `FailureToleranceCount` establecido en 10 y el valor de `MaxConcurrentCount` establecido en 5.

```
aws cloudformation create-stack-instances \
  --stack-set-name example-stackset \
  --accounts 123456789012 \
  --regions eu-west-1  \
  --operation-preferences ConcurrencyMode=STRICT_FAILURE_TOLERANCE,FailureToleranceCount=10,MaxConcurrentCount=5
```

**nota**  
Si desea conocer los procedimientos detallados para crear y actualizar un StackSet, consulte los temas siguientes:  
[Creación de StackSets (permisos autoadministrados)](stacksets-getting-started-create-self-managed.md)
[Creación de StackSets (permisos administrados por servicios)](stacksets-orgs-associate-stackset-with-org.md)
[Actualización de StackSets](stacksets-update.md)

# Detección de desviaciones en CloudFormation StackSets
<a name="stacksets-drift"></a>

Incluso aunque administre las pilas y los recursos que estas contienen a través de CloudFormation, los usuarios pueden cambiar esos recursos fuera de CloudFormation. Los usuarios pueden editar los recursos directamente usando el servicio subyacente que ha creado el recurso. Al llevar a cabo la detección de desviaciones en un StackSet, puede determinar si alguna de las instancias de pila pertenecientes a ese StackSet difiere, o se ha *desviado*, de su configuración esperada.

**Topics**
+ [Cómo lleva a cabo CloudFormation la detección de desviaciones en un StackSet](#stacksets-drift-how)
+ [Detección de la desviación en un StackSet (consola)](#stacksets-drift-console-procedure)
+ [Detección de la desviación en un StackSet (AWS CLI)](#stacksets-drift-cli-procedure)
+ [Detención de la detección de desviaciones en un StackSet](#stacksets-drift-stop)

## Cómo lleva a cabo CloudFormation la detección de desviaciones en un StackSet
<a name="stacksets-drift-how"></a>

Cuando CloudFormation lleva a cabo la detección de desviaciones en un StackSet, la lleva a cabo en la pila asociada a cada instancia de pila del StackSet. Para ello, CloudFormation compara el estado actual de cada recurso de la pila con el estado esperado de dicho recurso, tal como se define en la plantilla de la pila y en los parámetros de entrada especificados. Si el estado actual de un recurso varía con respecto a su estado esperado, se considera que ese recurso se ha desviado. Si uno o más recursos en una pila se han desviado, entonces se considera que la pila en sí misma se ha desviado, y se considera que las instancias de pila con las que está asociada la pila también se han desviado. Si una o más instancias de pila de un StackSet se han desviado, se considera que el StackSet se ha desviado.

La detección de desviaciones identifica los cambios no administrados; es decir, los cambios realizados en las pilas fuera de CloudFormation. Los cambios efectuados directamente en una pila a través de CloudFormation, en lugar de en el nivel del StackSet, no se consideran una desviación. Por ejemplo, supongamos que tiene una pila asociada a una instancia de pila de un StackSet. Si usa CloudFormation para actualizar esa pila para usar una plantilla diferente, eso no se considera desviación, aunque esa pila ahora tiene una plantilla diferente a cualquier otra pila perteneciente al StackSet. Esto se debe a que la pila todavía coincide con la plantilla y la configuración de parámetros esperados en CloudFormation.

Para obtener información detallada sobre cómo CloudFormation realiza la detección de desviaciones en una pila, consulte [Detectar cambios de configuración no administrados en pilas y recursos con detección de derivación](using-cfn-stack-drift.md).

Dado que CloudFormation realiza la detección de desviaciones en cada pila individualmente, tiene en cuenta cualquier valor de parámetro anulado al determinar si una pila se ha desviado. Para obtener más información sobre la anulación de parámetros de plantilla en instancias de pila, consulte [Anulación de los valores de los parámetros en pilas en el StackSet de CloudFormation](stackinstances-override.md).

Si realiza la detección de desviaciones [directamente en una pila](using-cfn-stack-drift.md) asociada a una instancia de pila, esos resultados de desviaciones no estarán disponibles en la página de consola de **StackSets**.

## Detección de la desviación en un StackSet (consola)
<a name="stacksets-drift-console-procedure"></a>

**Detección de la desviación en un StackSet**

1. Abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la página **StackSets**, seleccione el StackSet en el que desea llevar a cabo la detección de desviaciones.

1. En el menú **Actions (Acciones)** seleccione **Detect drifts (Detectar desviaciones)**.

   CloudFormation muestra una barra de información que indica que se ha iniciado la detección de desviaciones en el StackSet seleccionado.

1. Opcional: para monitorear el progreso de la operación de detección de desviaciones:

   1. Seleccione el nombre del StackSet para mostrar la página **Detalles de StackSet**.

   1. Seleccione la ficha **Operations (Operaciones)** seleccione la operación de detección de desviaciones y, a continuación, seleccione **View drift details (Ver detalles de desviación)**.

   CloudFormation muestra el cuadro de diálogo **Operation details (Detalles de la operación)**.

1. Espere hasta que CloudFormation complete la operación de detección de desviaciones. Cuando la operación de detección de desviaciones finaliza, CloudFormation actualiza los valores de **Estado de desviación** y **Hora de la última comprobación de desviaciones** del StackSet. Estos campos se muestran en la pestaña **Información general** de la página **Detalles de StackSet** para el StackSet seleccionado.

   La operación de detección de desviaciones puede tardar un poco, según del número de instancias de pila incluidas en el StackSet, así como del número de recursos incluidos en él. Solo puede ejecutar una única operación de detección de desviaciones en un StackSet determinado a la vez. CloudFormation continúa con la operación de detección de desviaciones incluso después de cerrar la barra de información.

1. Para revisar los resultados de la detección de desviaciones para las instancias de pila de un StackSet, seleccione la pestaña **Instancias de pila**.

   La columna **Stack name (Nombre de pila)** muestra el nombre de la pila asociado a cada instancia de pila, y la columna **Drift status (Estado de desviación)** muestra el estado de desviación de dicha pila. Se considera que una pila se ha desviado si uno o varios de sus recursos se han desviado.

1. Para revisar los resultados de la detección de desviaciones de la pila asociada a una instancia de pila específica:

   1. Seleccione la pestaña **Operaciones**.

   1. Seleccione la operación de desviación de la que quiere ver los resultados de la detección de desviación. Un panel dividido mostrará el estado de la instancia de pila y el motivo de la operación seleccionada. Para una operación de desviación, la columna de razón de estado muestra el estado de desviación de una instancia de pila.

   1. Seleccione la instancia de pila de la que quiere ver los detalles de desviación y elija **Ver desviaciones de recursos**. En la tabla **Estado de desviación de los recursos** de la página **Desviaciones de recursos**, se muestra cada recurso de la pila con su estado de desviación y la última vez que se inició la detección de desviaciones en el recurso. El ID lógico y el ID físico de cada recurso se muestra para ayudarle a identificarlos.

1. Puede ordenar los recursos en función de su estado mediante la columna **Drift status (Estado de desviación )**.

   Para ver los detalles de un recurso modificado:

   1. Con el recurso seleccionado, seleccione **Ver detalles de desviación**.

     CloudFormation muestra la página de detalles de desviación para ese recurso en particular. En esta página se detallan las diferencias del recurso. También muestra los valores de propiedades previstos y actuales del recurso.
**nota**  
Si la pila pertenece a una región y una cuenta diferentes a las que está conectado en ese momento, el botón **Detectar desviación** se deshabilitará y no podrá ver los detalles.

## Detección de la desviación en un StackSet (AWS CLI)
<a name="stacksets-drift-cli-procedure"></a>

Para detectar la desviación en una pila completa a través de la AWS CLI, utilice el siguiente procedimiento:

**Detección de la desviación en un StackSet**

1. Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/detect-stack-set-drift.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/detect-stack-set-drift.html) para detectar la desviación en un StackSet completo y sus instancias de pila asociadas.

   En el ejemplo siguiente se inicia la detección de desviación en el StackSet `stack-set-drift-example`.

   ```
   aws cloudformation detect-stack-set-drift \
       --stack-set-name stack-set-drift-example
   ```

   Salida:

   ```
   {
       "OperationId": "c36e44aa-3a83-411a-b503-cb611example"
   }
   ```

1. Debido a que las operaciones de detección de desviaciones del StackSet pueden ser operaciones de larga duración, utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set-operation.html) para supervisar el estado de la operación de desviaciones. Este comando toma el ID de operación del StackSet que el comando **detect-stack-set-drift** devuelve.

   En los ejemplos siguientes se utiliza el ID de operación del ejemplo anterior para devolver información sobre la operación de detección de desviación del StackSet. En este ejemplo, la operación todavía se está ejecutando. De las siete instancias de pila asociadas a este StackSet, ya se detectó la desviación de una instancia de pila, dos instancias están sincronizadas y la detección de desviaciones de las cuatro instancias de pila restantes aún está en curso. Dado que una instancia se ha desviado, el estado de desviación del StackSet en sí es ahora `DRIFTED`.

   ```
   aws cloudformation describe-stack-set-operation \
       --stack-set-name stack-set-drift-example \
       --operation-id c36e44aa-3a83-411a-b503-cb611example
   ```

   Salida:

   ```
   {
       "StackSetOperation": {
           "Status": "RUNNING",
           "AdministrationRoleARN": "arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole",
           "OperationPreferences": {
               "RegionOrder": []
           },
           "ExecutionRoleName": "AWSCloudFormationStackSetExecutionRole",
           "StackSetDriftDetectionDetails": {
               "DriftedStackInstancesCount": 1,
               "TotalStackInstancesCount": 7,
               "LastDriftCheckTimestamp": "2019-12-04T20:34:28.543Z",
               "InSyncStackInstancesCount": 2,
               "InProgressStackInstancesCount": 4,
               "DriftStatus": "DRIFTED",
               "FailedStackInstancesCount": 0
           },
           "Action": "DETECT_DRIFT",
           "CreationTimestamp": "2019-12-04T20:33:13.673Z",
           "StackSetId": "stack-set-drift-example:bd1f4017-d4f9-432e-a73f-8c22example",
           "OperationId": "c36e44aa-3a83-411a-b503-cb611example"
       }
   }
   ```

   Al ejecutar el mismo comando más adelante, este ejemplo muestra la información devuelta una vez completada la operación de detección de desviación. Dos de las siete instancias totales de pila asociadas a este StackSet se han desviado, lo que representa el estado de desviación del propio StackSet como `DRIFTED`.

   ```
   aws cloudformation describe-stack-set-operation \
       --stack-set-name stack-set-drift-example \
       --operation-id c36e44aa-3a83-411a-b503-cb611example
   ```

   Salida:

   ```
   {
       "StackSetOperation": {
           "Status": "SUCCEEDED",
           "AdministrationRoleARN": "arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole",
           "OperationPreferences": {
               "RegionOrder": []
           } 
           "ExecutionRoleName": "AWSCloudFormationStackSetExecutionRole",
           "EndTimestamp": "2019-12-04T20:37:32.829Z",
           "StackSetDriftDetectionDetails": {
               "DriftedStackInstancesCount": 2,
               "TotalStackInstancesCount": 7,
               "LastDriftCheckTimestamp": "2019-12-04T20:36:55.612Z",
               "InSyncStackInstancesCount": 5,
               "InProgressStackInstancesCount": 0,
               "DriftStatus": "DRIFTED",
               "FailedStackInstancesCount": 0
           },
           "Action": "DETECT_DRIFT",
           "CreationTimestamp": "2019-12-04T20:33:13.673Z",
           "StackSetId": "stack-set-drift-example:bd1f4017-d4f9-432e-a73f-8c22example",
           "OperationId": "c36e44aa-3a83-411a-b503-cb611example"
       }
   }
   ```

1. Una vez finalizada la operación de detección de desviaciones del StackSet, use los comandos **describe-stack-set**, **list-stack-instances**, **describe-stack-instance** y **list-stack-instance-resource-drifts** para revisar los resultados.

   El comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-set.html) incluye la misma información detallada de desviación devuelta por el comando **describe-stack-set-operation**.

   ```
   aws cloudformation describe-stack-set \
       --stack-set-name stack-set-drift-example
   ```

   Salida:

   ```
   {
       "StackSet": {
           "Status": "ACTIVE",
           "Description": "Demonstration of drift detection on stack sets.",
           "Parameters": [],
           "Tags": [
               {
                   "Value": "Drift detection",
                   "Key": "Feature"
               }
           ], 
           "ExecutionRoleName": "AWSCloudFormationStackSetExecutionRole",
           "Capabilities": [],
           "AdministrationRoleARN": "arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole",
           "StackSetDriftDetectionDetails": {
               "DriftedStackInstancesCount": 2,
               "TotalStackInstancesCount": 7,
               "LastDriftCheckTimestamp": "2019-12-04T20:36:55.612Z",
               "InProgressStackInstancesCount": 0,
               "DriftStatus": "DRIFTED",
               "DriftDetectionStatus": "COMPLETED",
               "InSyncStackInstancesCount": 5,
               "FailedStackInstancesCount": 0
           },
           "StackSetARN": "arn:aws:cloudformation:us-east-1:123456789012:stackset/stack-set-drift-example:bd1f4017-d4f9-432e-a73f-8c22example",
           "TemplateBody": [details omitted],
           "StackSetId": "stack-set-drift-example:bd1f4017-d4f9-432e-a73f-8c22ebexample",
           "StackSetName": "stack-set-drift-example"
       }
   }
   ```

   Puede utilizar el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-instances.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-instances.html) para devolver información de resumen sobre las instancias de pila asociadas a un StackSet, incluido el estado de desviación de cada instancia de pila.

   En este ejemplo, la ejecución de **list-stack-instances** en el StackSet de ejemplo con el filtro de estado de desviación establecido en `DRIFTED` permite identificar qué dos instancias de pila tienen el estado de desviación `DRIFTED`.

   ```
   aws cloudformation list-stack-instances \
       --stack-set-name stack-set-drift-example \
       --filters Name=DRIFT_STATUS,Values=DRIFTED
   ```

   Salida:

   ```
   {
   "Summaries": [
           {
   "StackId": "arn:aws:cloudformation:eu-west-1:123456789012:stack/StackSet-stack-set-drift-example-b0fb6083-60c0-4e39-af15-2f071e0db90c/0e4f0940-16d4-11ea-93d8-0641cexample",
               "Status": "CURRENT",
               "Account": "012345678910",
               "Region": "eu-west-1",
               "LastDriftCheckTimestamp": "2019-12-04T20:37:32.687Z",
               "DriftStatus": "DRIFTED",
               "StackSetId": "stack-set-drift-example:bd1f4017-d4f9-432e-a73f-8c22eexample",
               "LastOperationId": "c36e44aa-3a83-411a-b503-cb611example"
           },
           {
               "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/StackSet-stack-set-drift-example-b7fde68e-e541-44c2-b33d-ef2e2988071a/008e6030-16d4-11ea-8090-12f89example",
               "Status": "CURRENT",
               "Account": "123456789012",
               "Region": "us-east-1",
               "LastDriftCheckTimestamp": "2019-12-04T20:34:28.275Z",
               "DriftStatus": "DRIFTED",
               "StackSetId": "stack-set-drift-example:bd1f4017-d4f9-432e-a73f-8c22eexample",
               "LastOperationId": "c36e44aa-3a83-411a-b503-cb611example"
           },
           
           [additional stack instances omitted]
    
       ]
   }
   ```

   El comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-instance.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-instance.html) también devuelve esta información, pero para una sola instancia de pila, como en el ejemplo siguiente.

   ```
   aws cloudformation describe-stack-instance \
       --stack-set-name stack-set-drift-example \
       --stack-instance-account 012345678910 --stack-instance-region us-east-1
   ```

   Salida:

   ```
   {
       "StackInstance": {
           "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/StackSet-stack-set-drift-example-b7fde68e-e541-44c2-b33d-ef2e2988071a/008e6030-16d4-11ea-8090-12f89example",
           "Status": "CURRENT",
           "Account": "123456789012",
           "Region": "us-east-1",
           "ParameterOverrides": [],
           "DriftStatus": "DRIFTED",
           "LastDriftCheckTimestamp": "2019-12-04T20:34:28.275Z",
           "StackSetId": "stack-set-drift-example:bd1f4017-d4f9-432e-a73f-8c22eexample",
           "LastOperationId": "c36e44aa-3a83-411a-b503-cb611example"
       }
   }
   ```

1. Una vez que haya identificado qué instancias de pila se han desviado, puede utilizar la información sobre las instancias de pila devueltas por los comandos **list-stack-instances** o **describe-stack-instance** para ejecutar el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-instance-resource-drifts.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stack-instance-resource-drifts.html). Este comando devuelve información detallada sobre qué recursos de la pila se desviaron para una operación de desvío concreta.

   En el siguiente ejemplo se usa el parámetro `--stack-instance-resource-drift-statuses` para solicitar información de desviación de pila para los recursos que se modificaron o eliminaron en el ejemplo de operación de desviación anterior. La solicitud devuelve información sobre un recurso que se modificó, incluidos detalles sobre dos de sus propiedades y sus valores modificados. No se ha eliminado ningún recurso.

   ```
   aws cloudformation list-stack-instance-resource-drifts \
       --stack-set-name my-stack-set-with-resource-drift \
       --stack-instance-account 123456789012 \
       --stack-instance-region us-east-1 \
       --operation-id c36e44aa-3a83-411a-b503-cb611example \
       --stack-instance-resource-drift-statuses MODIFIED DELETED
   ```

   Salida:

   ```
   {
       "Summaries": [
           {
               "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/my-stack-set-with-resource-drift/489e5570-df85-11e7-a7d9-50example",
               "ResourceType": "AWS::SQS::Queue",
               "Timestamp": "2018-03-26T17:23:34.489Z",
               "PhysicalResourceId": "https://sqs.us-east-1.amazonaws.com/123456789012/my-stack-with-resource-drift-Queue-494PBHCO76H4",
               "StackResourceDriftStatus": "MODIFIED",
               "PropertyDifferences": [
                   {
                       "PropertyPath": "/DelaySeconds",
                       "ActualValue": "120",
                       "ExpectedValue": "20",
                       "DifferenceType": "NOT_EQUAL"
                   },
                   {
                       "PropertyPath": "/RedrivePolicy/maxReceiveCount",
                       "ActualValue": "12",
                       "ExpectedValue": "10",
                       "DifferenceType": "NOT_EQUAL"
                   }
               ],
               "LogicalResourceId": "Queue"
           }
       ]
   }
   ```

## Detención de la detección de desviaciones en un StackSet
<a name="stacksets-drift-stop"></a>

Dado que la detección de desviaciones en un StackSet puede ser una operación de larga duración, puede haber instancias en las que desee detener una operación de detección de desviaciones que se esté ejecutando en un StackSet.

**Detención de la detección de desviaciones en un StackSet (consola)**

1. Abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la página **StackSets**, seleccione el nombre del StackSet.

   CloudFormation muestra la página **Detalles de StackSet** para el StackSet seleccionado.

1. En la página **StackSets details (Detalles de conjuntos de pilas)** seleccione la ficha **Operations (Operaciones)** y, a continuación, seleccione la operación de detección de desviaciones.

1. Seleccione **Stop operation (Detener operación)**.

**Detención de la detección de desviaciones en un StackSet (AWS CLI)**
+ Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/stop-stack-set-operation.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/stop-stack-set-operation.html). Debe proporcionar tanto el nombre del StackSet como el ID de la operación del StackSet de detección de desviaciones.

  ```
  aws cloudformation stop-stack-set-operation \
      --stack-set-name stack-set-drift-example \
      --operation-id 624af370-311a-11e8-b6b7-500cexample
  ```

# Importación de pilas en CloudFormation StackSets
<a name="stacksets-import"></a>

Una operación de importación de pilas puede importar pilas existentes en StackSets nuevos o existentes, de modo que puede migrar las pilas existentes a un StackSet en una sola operación.

Para StackSets *autoadministrado*, la operación de importación puede importar pilas en la cuenta de administrador o en diferentes cuentas de destino y Regiones de AWS. Para los conjuntos de pilas *administradas por servicios*, la operación de importación puede importar cualquier pila en la misma AWS Organizations como una cuenta de administración. 

A continuación se presentan las consideraciones y limitaciones a la hora de importar pilas a StackSets:
+ La operación de importación puede importar hasta 10 pilas con los ID de pila en línea o hasta 200 pilas mediante un objeto de Amazon S3.
+  No se admite la propiedad `NoEcho`. Las pilas que contienen `NoEcho` no se importarán en los nuevos StackSets con la importación de StackSets.
+ Las pilas solo pueden pertenecer a un StackSet.
+ Puede implementar etiquetas de pila en el StackSet especificando etiquetas explícitamente como parámetros en la operación de importación de pilas.
+ Las anulaciones de parámetros personalizados de una pila no se ven afectadas durante la operación de importación.
+ Los parámetros de las instancias de pila importadas no se pueden actualizar con la opción **Editar detalles de StackSet**. Debe utilizar la opción **Anular parámetros de StackSet**. Para obtener más información sobre los parámetros de anulación, consulte [Anulación de parámetros en pilas](stackinstances-override.md).
+ Las cuotas del conjunto de pilas y las instancias de pilas se aplican al momento de importar las pilas. Para obtener más información sobre las cuotas, consulte [Comprensión de las cuotas de CloudFormation](cloudformation-limits.md).

**Topics**
+ [Importación de las pilas administradas automáticamente para conjuntos de pilas de CloudFormation](self-managed-import.md)
+ [Importación de las pilas administradas por servicios para conjuntos de pilas de CloudFormation](service-managed-import.md)
+ [Reversión de las importaciones de pilas a CloudFormation StackSets](revert-stackset-import.md)

# Importación de las pilas administradas automáticamente para conjuntos de pilas de CloudFormation
<a name="self-managed-import"></a>

La operación de importación de pilas de CloudFormation puede importar pilas existentes en StackSets nuevos o existentes, de modo que pueda migrar las pilas existentes a un StackSet en una sola operación. Al utilizar la importación de pilas, se evita el tiempo de inactividad y las interrupciones sin eliminar ni volver a crear esos recursos. Una vez que la pila se importe en un StackSet, la pila original se convertirá en una instancia de pila del conjunto de pila especificado.

**Consideraciones sobre las importaciones de pilas autoadministradas**
+ La operación de importación de pilas requiere una cuenta de administrador en la que se cree un StackSet y una cuenta de destino que contenga una pila.
+ La cuenta de destino debe tener permisos para utilizar la operación `GetTemplate` con la entrada de ID de pila o ARN. Por eso, su cuenta de administrador debe disponer de los permisos **AWSCloudFormationStackSetAdministrationRole** o **AWSCloudFormationStackSetsExectionRole**.

**Topics**
+ [Importación de una pila existente en un nuevo StackSet (consola)](#import-stacks-to-stack-set)
+ [Importación de una pila existente en un StackSet existente (consola)](#import-stack-to-existing-stackset)
+ [Importación de una pila en un StackSet (AWS CLI)](#importing-stack-to-stackset.cli)

## Importación de una pila existente en un nuevo StackSet (consola)
<a name="import-stacks-to-stack-set"></a>

Antes de empezar, identifique la pila que desee importar.

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En el panel de navegación, seleccione **StackSets (Conjuntos de pilas)**.

1. En la parte superior de la página **StackSets (Conjuntos de pilas)**, seleccione **Create StackSet (Crear conjunto de pilas)**.

1. En la página **Elegir una plantilla**, especifique una plantilla utilizando una de las siguientes opciones y seleccione **Siguiente**.
   + Elija **Amazon S3 URL** (URL de Amazon S3) y especifique la URL de la plantilla en el cuadro de texto.
   + Elija **Upload a template file** (Cargar un archivo de plantilla) y busque la plantilla.
   + Elija **From stack ID** (Desde el ID de la pila) e ingrese el ID de la pila.

1. En la página **Especificar detalles del StackSet**, ingrese el nombre del StackSet que desee crear y seleccione **Siguiente**.

   (Opcional) Ingrese una descripción del StackSet.

1. En la página **Configurar las opciones del StackSet**, revise las opciones y seleccione **Siguiente**.

1. En la página **Establecer opciones de implementación**, seleccione **Importar pilas al conjunto de pilas**.

1. Ingrese el ID de la pila que desea importar en el campo **Stacks to import** (Pilas para importar). Por ejemplo, `arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786`.

   (Opcional) Seleccione **Agregar otro ID de pila** e ingrese el ID de otra pila que desee importar. Puede agregar hasta 10 pilas por cada operación de importación de pilas.

1. Revise las opciones de implementación y seleccione **Siguiente**.

1. En la página **Revisar**, revise sus opciones y las propiedades del StackSet. Cuando lo tenga todo listo para importar la pila en su StackSet, seleccione **Enviar**.

**Resultados**: La pila importada ahora es una instancia de pila del StackSet especificado. Para obtener más información sobre el estado de importación de la pila, consulte [Códigos de estado de StackSets](stacksets-concepts.md#stackset-status-codes).

## Importación de una pila existente en un StackSet existente (consola)
<a name="import-stack-to-existing-stackset"></a>

Antes de empezar, identifique la pila que desee importar.

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En el panel de navegación, seleccione **StackSets (Conjuntos de pilas)**.

1. En la página **StackSets**, seleccione el StackSet en el que desee importar una pila.

1. Con el StackSet seleccionado, elija **Agregar pilas al StackSet** en el menú **Acciones**.

1. En la página **Establecer opciones de implementación**, seleccione **Importar pilas al conjunto de pilas** e ingrese el ID de la pila que desea importar en el campo **Pilas para importar**. Por ejemplo, `arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786`.

   (Opcional) Seleccione **Agregar otro ID de pila** e ingrese el ID de otra pila que desee importar. Puede agregar hasta 10 pilas por cada operación de importación de pilas.

1. Elija **Siguiente**.

1. En la página **Especificar anulaciones**, revise las opciones y seleccione **Siguiente**.

1. En la página **Revisar**, revise sus opciones y las propiedades del StackSet. Cuando lo tenga todo listo para crear su StackSet, elija **Enviar**.

**Resultados**: La pila importada ahora es una instancia de pila del StackSet especificado. Para obtener más información sobre el estado de importación de la pila, consulte [Códigos de estado de StackSets](stacksets-concepts.md#stackset-status-codes).

## Importación de una pila en un StackSet (AWS CLI)
<a name="importing-stack-to-stackset.cli"></a>

**Importación de una pila existente en un nuevo StackSet**  
El comando `create-stack-set` siguiente crea un StackSet e importa la pila especificada. La pila que desea importar se identifica mediante su ARN. Sustituya el texto del marcador de posición por su propia información.

```
aws cloudformation create-stack-set \
  --stack-set-name MyStackSet \
  --stack-id arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/466df9e0-0dff-08e3-8e2f-5088487c4896 \
  --administration-role-arn arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole \
  --execution-role-name AWSCloudFormationStackSetExecutionRole
```

**Importación de una pila existente en un StackSet existente**  
El comando `import-stacks-to-stack-sets` siguiente importa la pila especificada en el StackSet *MyStackSet*. La pila que desea importar se identifica mediante su ARN. Sustituya el texto del marcador de posición por su propia información.

```
aws cloudformation import-stacks-to-stack-set \
  --stack-set MyStackSet \
  --stack-ids arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786
```

Para especificar más de una pila, utilice el siguiente formato para el valor de la opción `--stack-ids`.

```
--stack-ids "arn_1" "arn_2"
```

**Para clonar la pila importada en otras regiones y cuentas**  
El comando `create-stack-instances` siguiente agrega instancias de pila al StackSet. Sustituya el texto del marcador de posición por su propia información.

```
aws cloudformation create-stack-instances \
  --stack-set-name MyStackSet \
  --accounts '["account_ID_1","account_ID_2"]' \
  --regions '["region_1","region_2"]'
```

# Importación de las pilas administradas por servicios para conjuntos de pilas de CloudFormation
<a name="service-managed-import"></a>

La operación de importación de pilas de CloudFormation puede importar pilas existentes en StackSets nuevos o existentes, de modo que pueda migrar las pilas existentes a un StackSet en una sola operación. StackSets amplía la funcionalidad de las pilas para que pueda crear, actualizar o eliminar pilas de varias cuentas y regiones con una sola operación.

**Consideraciones para la importación de pilas administradas por servicios**
+ La operación de importación de la pila requiere una cuenta de administración o una cuenta de administrador delegado en la que pueda administrar los AWS Organizations asociados; por ejemplo, para permitir el acceso de confianza con StackSets.
+ Las cuentas de destino deben ser miembros de la AWS Organizations administrada por la cuenta de administración o la cuenta de administrador delegado.
+ La pila de destino existe en una de las unidades organizativas de destino.
+ La cuenta de destino debe ser miembro de AWS Organizations.
+ El acceso a AWS Organizations debe tener el estado `ACTIVATED` para las organizaciones.
+ Las pilas que se van a importar deben estar presentes en cualquiera de las cuentas de los miembros y no en la cuenta de administración.

**Topics**
+ [Importación de una pila administrada por servicios en un nuevo StackSet (consola)](#import-service-managed-stack-to-new-stackset)
+ [Creación e importación de una pila administrada por servicios en un StackSet existente (consola)](#import-service-managed-stack-to-existing-stackset)
+ [Importación de una pila administrada por servicios en un StackSet existente (consola)](#import-service-managed-stack-to-existing-stackset-console)
+ [Importación de una pila administrada por servicios en un StackSet (AWS CLI)](#import-service-managed-stack-to-stackset.cli)

## Importación de una pila administrada por servicios en un nuevo StackSet (consola)
<a name="import-service-managed-stack-to-new-stackset"></a>

Importación de una pila en un nuevo StackSet mediante la Consola de administración de AWS

Para importar una pila nueva en un StackSet, identifique una pila que contenga el recurso que desee importar.

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En el panel de navegación, seleccione **StackSets (Conjuntos de pilas)**.

1. En la parte superior de la página **StackSets (Conjuntos de pilas)**, seleccione **Create StackSet (Crear conjunto de pilas)**.

1. En la página **Elegir una plantilla**, haga lo siguiente:

   1. En **StackSet permission model**, seleccione **Permisos administrados por servicios**.

   1. En **Requisito previo: preparar plantilla**, seleccione **La plantilla está lista** y elija la plantilla mediante una de las siguientes opciones:
      + En **URL de Amazon S3**, ingrese su URL de Amazon S3 en el campo **URL de Amazon S3**.
      + En **Cargar un archivo de plantilla**, seleccione una plantilla de CloudFormation de su equipo local.

   Acepte la configuración y elija **Next** (Siguiente).

1. En la página **Especificar detalles del StackSet**, haga lo siguiente:

   1. Ingrese un nombre de StackSet en el cuadro **Nombre del StackSet**.

   1. (Opcional) Ingrese una descripción en la sección **StackSet description** (Descripción de StackSet).

   En la página **Configurar las opciones del StackSet**, revise las opciones y seleccione **Siguiente**.

1. En la página **Establecer opciones de implementación**, realice las siguientes acciones:

   1. En **Agregar pilas al conjunto de pilas**, seleccione **Importar pilas al conjunto de pilas**.

   1. En **Stacks to import** (Pilas para importar), elija el método de importación de pila.

      1. En **Stack ID** (ID de la pila), ingrese el ID de la pila.

      1. En **URL de la pila** ingrese la URL de Amazon S3.

1. En **Asociar unidades organizativas**, haga lo siguiente:

   1. Seleccione **Asociar con la organización** para utilizar la unidad organizativa raíz.

   1. Seleccione **Asociar con unidades organizativas (OU)** para ingresar los ID de las unidades organizativas principales para las pilas que se van a importar. Por ejemplo, si `Stack 1` y `Stack 2` están debajo de `OU1`, y `Stack 3` está debajo de `OU2`, ingrese `OU1`y `OU2`.

   Acepte la configuración y elija **Next** (Siguiente).

1. Revise las opciones en la página **Review** (Revisar) y elija **Submit** (Enviar).

## Creación e importación de una pila administrada por servicios en un StackSet existente (consola)
<a name="import-service-managed-stack-to-existing-stackset"></a>

Para importar una pila existente en un nuevo StackSet, identifique una pila que contenga el recurso que desee importar.

**Creación de un StackSet e importación de una pila**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En el panel de navegación, seleccione **StackSets (Conjuntos de pilas)**.

1. En la parte superior de la página **StackSets (Conjuntos de pilas)**, seleccione **Create StackSet (Crear conjunto de pilas)**.

1. En la página **Elegir una plantilla**, haga lo siguiente:

   1. En **StackSet permission model**, seleccione **Permisos administrados por servicios**.

   1. En **Requisito previo: preparar plantilla**, seleccione **La plantilla está lista** y elija la plantilla mediante una de las siguientes opciones:
      + En **URL de Amazon S3**, ingrese su URL de Amazon S3 en el campo **URL de Amazon S3**.
      + En **Cargar un archivo de plantilla**, seleccione una plantilla de CloudFormation de su equipo local.

   Acepte la configuración y elija **Next** (Siguiente).

1. En la página **Especificar detalles del StackSet**, haga lo siguiente:

   1. Ingrese un nombre de StackSet en el cuadro **Nombre del StackSet**.

   1. (Opcional) Ingrese una descripción en la sección **StackSet description** (Descripción de StackSet).

   En la página **Configurar las opciones del StackSet**, revise las opciones y seleccione **Siguiente**.

1. En la página **Establecer opciones de implementación**, realice las siguientes acciones:

   1. En **Add stacks to stack set** (Agregar pilas al conjunto de pilas), seleccione **Deploy new stacks** (Implementar pilas nuevas).

1. En la sección **Asociar unidades organizativas**, haga lo siguiente:

   1. Seleccione **Asociar con la organización** para utilizar la unidad organizativa raíz.

   1. Seleccione **Asociar con unidades organizativas (OU)** para ingresar los ID de las unidades organizativas principales para las pilas que se van a importar. Por ejemplo, si `Stack 1` y `Stack 2` están debajo de `OU1`, y `Stack 3` está debajo de `OU2`, ingrese `OU1`y `OU2`.

1. En **Specify regions** (Especificar regiones) y **Deployment options** (Opciones de implementación), revise las opciones.

   Acepte la configuración y elija **Next** (Siguiente).

1. Revise las opciones en la página **Review** (Revisar) y elija **Submit** (Enviar).

## Importación de una pila administrada por servicios en un StackSet existente (consola)
<a name="import-service-managed-stack-to-existing-stackset-console"></a>

Seleccione su StackSet e identifique la pila que desee importar.

**Importación de una pila en un StackSet existente**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En el panel de navegación, seleccione **StackSets (Conjuntos de pilas)**.

1. Seleccione el StackSet en el que desee importar una pila y, a continuación, elija **Agregar pilas al StackSet** en el menú desplegable **Acciones**.

1. En la página **Establecer opciones de implementación**, realice las siguientes acciones:

   1. En **Agregar pilas al conjunto de pilas**, seleccione **Importar pilas al conjunto de pilas**.

   1. En **Pilas para importar**, haga lo siguiente

      1. En **Stack ID** (ID de la pila), ingrese el ID de la pila.

      1. En **URL de la pila**, ingrese la URL de Amazon S3.

   1. En **Asociar unidades organizativas**, haga lo siguiente:

      1. Seleccione **Asociar con la organización** para utilizar la unidad organizativa raíz.

      1. Seleccione **Asociar con unidades organizativas (OU)** para ingresar los ID de las unidades organizativas principales para las pilas que se van a importar. Por ejemplo, si `Stack 1` y `Stack 2` están debajo de `OU1`, y `Stack 3` está debajo de `OU2`, ingrese `OU1`y `OU2`.

      Acepte la configuración y elija **Next** (Siguiente).

1. Revise la página **Specify overrides** (Especificar anulaciones) y elija **Next** (Siguiente).

1. Confirme y revise la página **Review** (Revisar) y elija **Submit** (Enviar).

## Importación de una pila administrada por servicios en un StackSet (AWS CLI)
<a name="import-service-managed-stack-to-stackset.cli"></a>

Una vez creado el StackSet, puede importar las pilas si pasa el ID de las pilas que se van a importar. También puede pasar la lista de ID de unidades organizativas a las que desea asignar el conjunto.

CloudFormation importará las pilas proporcionadas por el usuario dentro de esas UO y utilizará dichas UO como destinos de implementación para el StackSet. Los ID de pila que se muestran en la entrada se asignarán internamente a la unidad organizativa más próxima en la lista de ID de unidades organizativas. Si una pila no pertenece a un ID de unidad organizativa existente en la lista de entrada, la AWS CLI devolverá el error `StackNotFoundException`.

La operación `import-stacks-to-stack-set` crea instancias de pila para las pilas en la entrada de ID de unidad organizativa. En los siguientes ejemplos de la AWS CLI, se utiliza la operación `import-stacks-to-stack-set` para importar una pila en un StackSet.
+ Para utilizar la operación `import-stacks-to-stack-sets`, especifique los `stack-ids` o `stack-ids-url` que desee importar a su conjunto de pilas.

  ```
  aws cloudformation import-stacks-to-stack-set \
    --stack-set-name ServiceMangedStackSet \
    --stack-ids "arn:123456789012:us-east-1:Stack1" \
    --organizational-unit-ids ou-examplerootid111-exampleouid111
  ```

  ```
  aws cloudformation import-stacks-to-stack-set \
    --stack-set-name ServiceMangedStackSet \
    --stack-ids-url https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/file-name.json \
    --organizational-unit-ids ou-examplerootid111-exampleouid111
  ```

**nota**  
La operación `import-stacks-to-stack-sets` requiere que especifique al menos un ID de unidad organizativa para que pueda asociar la pila que se va a importar a dicha unidad organizativa en particular. Esta operación no crea instancias de pila para otras cuentas de miembros en las unidades organizativas asociadas. Para actualizar las cuentas de miembros de las unidades organizativas asociadas, utilice `create-stack-instances` o `update-stack-instances`.

`create-stack-set` crea instancias de pila para todas las cuentas de las unidades organizativas con una plantilla brindada por el usuario, ya sea mediante carga directa o Amazon S3. En los siguientes ejemplos de la AWS CLI, se utiliza la operación `create-stack-set` para importar una pila en un nuevo StackSet.
+ Para utilizar la operación `create-stack-set`, especifique el nombre del StackSet e importe una pila en un StackSet recién creado.

  ```
  aws cloudformation create-stack-set \
    --template-url https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/file-name.json \
    --permission-model SERVICE_MANAGED \
    --auto-deployment Enabled=true
  ```

# Reversión de las importaciones de pilas a CloudFormation StackSets
<a name="revert-stackset-import"></a>

Si tiene cambios no deseados en su instancia de pila, puede revertir la importación de la instancia de pila.

Al revertir la importación de una instancia de pila, CloudFormation elimina la instancia de pila del StackSet, pero conserva los recursos de la pila.

Para revertir una operación de importación de pila, realice el siguiente procedimiento.

1. Especifique un atributo `DeletionPolicy` de `Retain` para cada recurso que desee conservar después de eliminar la instancia de la pila. Para obtener más información, consulte [Reversión de una operación de importación](resource-import-revert.md).

1. Elimine las instancias de pila del StackSet. Para obtener más información, consulte [Eliminación de pilas de CloudFormation StackSets](stackinstances-delete.md).

1. Elimine su StackSet. Para obtener más información, consulte [Eliminación de StackSets de CloudFormation](stacksets-delete.md).

# Prácticas recomendadas para utilizar CloudFormation StackSets
<a name="stacksets-bestpractices"></a>

En esta sección se describen las prácticas recomendadas para definir una plantilla de StackSet, crear o agregar pilas a un StackSet o actualizar un StackSet.

Si es la primera vez que usa CloudFormation, consulte el tema [Prácticas recomendadas de CloudFormation](best-practices.md) para ver más recomendaciones que pueden ayudarlo a usar CloudFormation de forma más eficaz y segura.

**Topics**
+ [Definición de la plantilla](#w2aac15c41b9)
+ [Cómo crear o agregar pilas al StackSet](#w2aac15c41c11)
+ [Actualización de pilas en un StackSet](#w2aac15c41c13)

## Definición de la plantilla
<a name="w2aac15c41b9"></a>
+ Defina la plantilla que desee estandarizar en varias cuentas, dentro de varias regiones.
+ Al crear la plantilla, asegúrese de que los recursos globales (como roles de IAM y buckets de Amazon S3) no tengan conflictos de nomenclatura al crearse en más de una región de la misma cuenta.
+ Un StackSet tiene una plantilla y un conjunto de parámetros únicos. La misma pila se crea en todas las cuentas que están asociadas a un StackSet. Al crear las plantillas, hágalas lo suficientemente granulares para permitir un buen equilibrio entre el control y la estandarización. 
+ Le recomendamos que almacene su plantilla en un bucket de Amazon S3.

## Cómo crear o agregar pilas al StackSet
<a name="w2aac15c41c11"></a>
+ Compruebe que la adición de las instancias de pila al StackSet inicial funcione antes de agregar un mayor número de instancias de pila al StackSet.
+ Elija las opciones de implementación (despliegue) que funcionen para su caso de uso.
  + Para obtener una implementación más conservadora, establezca **Maximum Concurrent Accounts (Número máximo de cuentas simultáneas)** en 1 y **Failure Tolerance (Tolerancia a errores)** en 0. Configure la región de menor impacto en primer lugar en la lista **Region Order (Orden de regiones)**. Comience con una región.
  + Para una implementación más rápida, aumente los valores de tolerancia a **Maximum Concurrent Accounts (Número máximo de cuentas simultáneas)** y **Failure Tolerance (Tolerancia a errores)** según sea necesario.
+ Las operaciones en StackSets dependen de la cantidad implicada de instancias de pila y puede tardar bastante tiempo.

## Actualización de pilas en un StackSet
<a name="w2aac15c41c13"></a>
+ De forma predeterminada, la actualización de un StackSet actualiza todas las instancias de pila. Si dispone de 20 cuentas en dos regiones, tendrá 40 instancias de pila y todas se actualizarán cuando actualice el StackSet.

  Para StackSets con un gran número de instancias de pila, le recomendamos que actualice selectivamente las instancias de pila en unas cuantas cuentas de prueba antes de actualizar todas las instancias de pila para probar la versión actualizada de una plantilla.
+ Para obtener un control más minucioso de la actualización de pilas individuales dentro del StackSet, considere la posibilidad de crear varios StackSets.
+ Actualizar un StackSet que contenga un gran número de pilas puede tardar bastante tiempo. En esta versión, solo se permite una operación a la vez en un StackSet. Planifique sus actualizaciones para que no se le impida llevar a cabo otras operaciones en el StackSet.

# Plantilla de ejemplo de CloudFormation StackSets
<a name="stacksets-sampletemplates"></a>

En esta sección se incluyen enlaces a algunas plantillas de CloudFormation de ejemplo que pueden ayudarlo a usar CloudFormation StackSets en su empresa. Las plantillas que figuran en esta sección habilitan [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) o [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) y las reglas en su interior.

**importante**  
Como práctica recomendada de seguridad a la hora de permitir el acceso de AWS Config a un bucket de Amazon S3, le recomendamos encarecidamente que restrinja el acceso a la política de bucket con la condición `AWS:SourceAccount`. Las plantillas nuevas se actualizan para tener `AWS:SourceAccount`. Si su política de bucket actual no sigue esta práctica recomendada de seguridad, le recomendamos encarecidamente que edite esa política de bucket para incluir esta protección. Esto garantiza que solo AWS Config reciba acceso en nombre de los usuarios esperados. 


| Descripción | Enlace de S3 | 
| --- | --- | 
| Habilitar AWS CloudTrail | [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSCloudtrail.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSCloudtrail.yml) | 
| Habilitar AWS Config | [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfig.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfig.yml) | 
| Habilitar AWS Config con registro central | [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfigForOrganizations.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfigForOrganizations.yml) | 
| Habilitar las políticas predeterminadas de Amazon Data Lifecycle Manager en toda una organización de AWS o en cuentas de AWS específicas |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/stacksets-sampletemplates.html) [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleEncryptedVolumes.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleEncryptedVolumes.yml) | 
| Configurar una regla de AWS Config para determinar la habilitación de CloudTrail | [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleCloudtrailEnabled.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleCloudtrailEnabled.yml) | 
| Configurar una regla de AWS Config para determinar la habilitación de FMA raíz | [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleRootAccountMFAEnabled.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleRootAccountMFAEnabled.yml) | 
| Configurar una regla de AWS Config para determinar si las EIP están conectadas | [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleEipAttached.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleEipAttached.yml) | 
| Configurar una regla de AWS Config para determinar si los volúmenes de EBS están cifrados | [https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleEncryptedVolumes.yml](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/ConfigRuleEncryptedVolumes.yml) | 

# Solución de problemas de CloudFormation StackSets
<a name="stacksets-troubleshooting"></a>

Este tema contiene algunos problemas habituales relacionados con StackSets y las soluciones sugeridas.

**Topics**
+ [Motivos comunes para el fallo en una operación de la pila](#common-reasons-for-stack-operation-failure)
+ [Reintento de operaciones fallidas de creación o actualización de pilas](#retrying-failed-stack-creation-or-update-operations)
+ [No se puede eliminar una instancia de pila a causa de un error](#stack-instance-delete-fails)
+ [Error en la operación de importación de pila](#stack-import-fails)
+ [Recuento de fallos de instancias de pila para las operaciones de StackSets](#stack-instance-failure-count-for-stackset-operations)

## Motivos comunes para el fallo en una operación de la pila
<a name="common-reasons-for-stack-operation-failure"></a>

**Problema:** se produjo un error en una operación de la pila, y el estado de la instancia de la pila es `OUTDATED`.

**Causa:** puede haber varias causas comunes para el error en la operación de la pila.
+ Permisos insuficientes en una cuenta de destino para la creación de recursos que se especifican en la plantilla.
+ La plantilla de CloudFormation podría tener errores. Valide la plantilla en CloudFormation y arregle los errores antes de intentar crear el StackSet.
+ La plantilla podría intentar crear recursos globales que debe ser únicos pero no lo son, como los buckets de S3.
+ Un número de cuenta de destino especificado no existe. Compruebe los números de cuenta de destino que ha especificado en la página **Set deployment options (Establecer opciones de implementación)** del asistente.
+ La cuenta de administrador no tiene una relación de confianza con la cuenta de destino.
+ El número máximo de un recurso que se especifica en la plantilla ya existe en su cuenta de destino. Por ejemplo, es posible que haya alcanzado el límite de roles de IAM permitidos en una cuenta de destino, pero la plantilla crea más roles de IAM.
+ Ha alcanzado el número máximo de pilas permitidas en un StackSet. Para ver el número máximo de pilas por StackSet, consulte [Comprensión de las cuotas de CloudFormation](cloudformation-limits.md).

**Solución:** Para obtener más información acerca de los permisos necesarios de las cuentas de administrador y de destino antes de poder crear StackSets, consulte [Concesión de permisos a todos los usuarios de la cuenta de administrador para administrar pilas en todas las cuentas de destino](stacksets-prereqs-self-managed.md#stacksets-prereqs-accountsetup).

## Reintento de operaciones fallidas de creación o actualización de pilas
<a name="retrying-failed-stack-creation-or-update-operations"></a>

**Problema:** se produjo un error al crear o actualizar una pila, y el estado de la instancia de la pila es `OUTDATED`. Para solucionar el error de creación o actualización de una pila, abra la consola de CloudFormation y vea los eventos de la pila, que tendrán el estado `DELETED` (para las operaciones de creación con errores) o `FAILED` (para las operaciones de actualización con errores). Examine los eventos de pila y busque la columna **Status reason (Motivo del estado)**. El valor de **Status reason (Motivo del estado)** explica por qué se produjo un error en la operación de la pila.

Una vez corregida la causa del fallo de creación de la pila, y cuando esté listo para reintentar la creación de la pila, siga estos pasos.

**Solución:** realice los siguientes pasos para reintentar la operación de la pila.

1. En la consola, seleccione el StackSet que contiene la pila en la que la operación ha fallado.

1. En el menú **Actions (Acciones)**, elija **Edit StackSet details (Editar detalles de StackSet)** para volver a intentar la creación o actualización de pilas.

1. En la página **Especificar plantilla**, para utilizar la misma plantilla de CloudFormation, mantenga la opción predeterminada (**Utilizar la plantilla actual**). Si la operación de la pila ha generado un error porque la plantilla requería cambios, y desea cargar una plantilla revisada, elija **Upload a template to Amazon S3 (Cargar una plantilla en Amazon S3)** en su lugar y, a continuación, elija **Browse (Explorar)** para seleccionar la plantilla actualizada. Cuando haya terminado de cargar la plantilla revisada, elija **Next (Siguiente)**.

1. En la página **Especificar los detalles de la pila**, si no va a cambiar ninguno de los parámetros que son específicos de la plantilla, elija **Siguiente**.

1. En la página **Set deployment options (Establecer opciones de implementación)**, cambie los valores predeterminados de **Maximum concurrent accounts (Número máximo de cuentas simultáneas)** y **Failure tolerance (Tolerancia a errores)**, si lo desea. Para obtener más información sobre estas opciones, consulte [Opciones de operaciones con StackSets](stacksets-concepts.md#stackset-ops-options).

1. En la página **Review (Revisar)**, revise la selección y marque la casilla para reconocer las capacidades de IAM. Elija **Enviar**.

1. Si la pila no se actualiza correctamente, repita este procedimiento, después de haber resuelto todos los problemas que impiden la creación de la pila.

## No se puede eliminar una instancia de pila a causa de un error
<a name="stack-instance-delete-fails"></a>

**Problema:** se produce un error que evita la eliminación de una instancia de pila.

**Causa:** ninguna pila con protección de terminación de pilas habilitada se podrá eliminar.

**Solución:** determine si se ha habilitado la protección de terminación en la pila. Si está habilitada, deshabilítela y, a continuación, intente realizar la operación de eliminación de la instancia de pila de nuevo.

## Error en la operación de importación de pila
<a name="stack-import-fails"></a>

**Problema:** Una operación de importación de pilas no permite importar pilas existentes en StackSets nuevos o existentes. El estado de la instancia de pila es `INOPERABLE`.

**Solución:** para restaurar la operación de importación de la pila, lleve a cabo las siguientes tareas.

1. Use la opción **Delete Stacks from StackSets** y habilite **RetainStacks** durante la configuración y, a continuación, proceda a eliminar las instancias de pila del StackSet. Para obtener más información, consulte [Eliminación de pilas de CloudFormation StackSets](stackinstances-delete.md).

1. Verá que la instancia de pila del StackSet se actualiza para eliminar la instancia de pila `INOPERABLE`.

1. Corrija las instancias de la pila según el error de importación y vuelva a intentar la operación de importación de la pila.

## Recuento de fallos de instancias de pila para las operaciones de StackSets
<a name="stack-instance-failure-count-for-stackset-operations"></a>

El recuento de fallos de las instancias de la pila notifica si las instancias de las pilas no se aprovisionan o actualizan. Estas instancias de pila no se implementaron por uno o más de los siguientes motivos:
+ Recursos existentes con una configuración similar
+ Falta de dependencias, como los roles de AWS Identity and Access Management (IAM)
+ Otros factores en conflicto

Si desea implementar con la máxima simultaneidad, el recuento máximo de simultaneidad es uno más que el recuento de tolerancia a fallos, como máximo. Por ejemplo, si el recuento de tolerancia a fallos es 9, el recuento máximo de simultaneidad no puede ser superior a 10. Esto hará que la operación devuelva `SUCCEEDED`, incluso si algunas instancias de la pila no se actualizan. El nuevo recuento de fallos de instancias de pila le permite determinar si la operación solo se realizó correctamente de forma condicional, ya que el recuento de tolerancia a fallos está configurado para permitir todos los fallos.

Puede utilizar la Consola de administración de AWS, el AWS SDK o la AWS CLI para obtener el recuento de fallos y filtrar las instancias de la pila para determinar qué instancias deben reimplementarse.

### Uso de la consola
<a name="stack-instance-failure-count-for-stackset-operations-console-examples"></a>

**Para visualizar la cantidad de instancias de pila fallidas:**

1. Abra la [consola de CloudFormation](https://console.aws.amazon.com/cloudformation) y seleccione **StackSets**.

1. Elija su StackSet y luego elija la pestaña **Operations** (Operaciones).

1. Elija un estado en la columna **Status** (Estado) para visualizar los detalles del estado. Encontrará la cantidad de instancias de pila fallidas para una operación particular en los detalles del estado.

**Para ver la cuenta, la región y el estado de las instancias de pila de la operación:**

1. En los detalles del estado, elija el recuento de instancias de pila fallidas. *Ejemplo:* **Instancias de pila: `<number of failed stack instances>`**.

1. Amplíe el panel lateral mediante la selección del encabezado del panel. Los resultados del panel lateral son los estados de las instancias de la pila después de completar la operación seleccionada.

**Para ver los detalles de la instancia de pila actual de una operación:**

1. Elija la pestaña **Stack Instances** (Instancias de la pila).

1. Filtre por **Last operation ID** (ID de última operación). Los resultados son los estados actuales y los motivos de estado de la última operación que modificó la instancia. Puede usar este filtro junto con **Cuenta de AWS**, **Región de AWS**, **Estado detallado** y **Estado de desviación** para refinar aún más los resultados de búsqueda.

### Uso de AWS CLI
<a name="stack-instance-failure-count-for-stackset-operations-cli-examples"></a>

Para obtener la cantidad de instancias de pila fallidas, haga una llamada a `describe-stack-set-operation` o `list-stack-set-operations` y consulte `StatusDetails`.

```
aws cloudformation describe-stack-set-operation --stack-set-name ss1 \
    --operation-id 5550e62f-c822-4331-88fa-21c1d7bafc60
```

```
{
    "StackSetOperation": {
        "OperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60",
        "StackSetId": "ss1:9101ca57-49fc-4a61-a5a6-4c97b8adb08f",
        "Action": "CREATE",
        "Status": "SUCCEEDED",
        "OperationPreferences": {
            "RegionOrder": [],
            "FailureToleranceCount": 10,
            "MaxConcurrentCount": 10
        },
        "AdministrationRoleARN": "arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole",
        "ExecutionRoleName": "AWSCloudFormationStackSetExecutionRole",
        "CreationTimestamp": "2022-10-26T17:18:53.947000+00:00",
        "EndTimestamp": "2022-10-26T17:19:35.304000+00:00",
        "StatusDetails": {
            "FailedStackInstancesCount": 3
        }
    }
}
```

```
aws cloudformation list-stack-set-operations --stack-set-name ss1
```

```
{
    "Summaries": [
        {
            "OperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60",
            "Action": "CREATE",
            "Status": "SUCCEEDED",
            "CreationTimestamp": "2022-10-26T17:18:53.947000+00:00",
            "EndTimestamp": "2022-10-26T17:19:35.304000+00:00",
            "StatusDetails": {
                "FailedStackInstancesCount": 3
            },
            "OperationPreferences": {
                "RegionOrder": [],
                "FailureToleranceCount": 10,
                "MaxConcurrentCount": 10
            }
        }
    ]
}
```

Para obtener una descripción general del historial de una operación en particular, utilice `list-stack-set-operation-results` para ver el estado y el motivo del estado de cada instancia de pila cuando la operación esté completada. Consulte el siguiente ejemplo para ver el `Status` y el `StatusReason`.

```
aws cloudformation list-stack-set-operation-results --stack-set-name ss1 \
  --operation-id 5550e62f-c822-4331-88fa-21c1d7bafc60 --filters Name=OPERATION_RESULT_STATUS,Values=FAILED
```

```
{
    "Summaries": [
        {
            "Account": "123456789012",
            "Region": "us-west-2",
            "Status": "FAILED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "AccountGateResult": {
                "Status": "SKIPPED",
                "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'."
            },
            "OrganizationalUnitId": ""
        },
        {
            "Account": "123456789012",
            "Region": "us-west-1",
            "Status": "FAILED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "AccountGateResult": {
                "Status": "SKIPPED",
                "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'."
            },
            "OrganizationalUnitId": ""
        },
        {
            "Account": "123456789012",
            "Region": "us-east-1",
            "Status": "FAILED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "AccountGateResult": {
                "Status": "SKIPPED",
                "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'."
            },
            "OrganizationalUnitId": ""
        }
    ]
}
```

Utilice `list-stack-instances` con los filtros `DETAILED_STATUS` y `LAST_OPERATION_ID` para obtener una lista de las instancias de pila que fallaron en la última operación que intentó implementar la instancia de pila. Observe la marca `--filters` en el ejemplo con `DETAILED_STATUS` y `LAST_OPERATION_ID`:

```
aws cloudformation list-stack-instances --stack-set-name ss1 \
  --filters Name=DETAILED_STATUS,Values=FAILED Name=LAST_OPERATION_ID,Values=5550e62f-c822-4331-88fa-21c1d7bafc60
```

```
{
    "Summaries": [
        {
            "StackSetId": "ss1:9101ca57-49fc-4a61-a5a6-4c97b8adb08f",
            "Region": "us-east-1",
            "Account": "123456789012",
            "Status": "OUTDATED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "StackInstanceStatus": {
                "DetailedStatus": "FAILED"
            },
            "OrganizationalUnitId": "",
            "DriftStatus": "NOT_CHECKED",
            "LastOperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60"
        },
        {
            "StackSetId": "ss1:9101ca57-49fc-4a61-a5a6-4c97b8adb08f",
            "Region": "us-west-1",
            "Account": "123456789012",
            "Status": "OUTDATED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "StackInstanceStatus": {
                "DetailedStatus": "FAILED"
            },
            "OrganizationalUnitId": "",
            "DriftStatus": "NOT_CHECKED",
            "LastOperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60"
        },
        {
            "StackSetId": "ss1:9101ca57-49fc-4a61-a5a6-4c97b8adb08f",
            "Region": "us-west-2",
            "Account": "123456789012",
            "Status": "OUTDATED",
            "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
            "StackInstanceStatus": {
                "DetailedStatus": "FAILED"
            },
            "OrganizationalUnitId": "",
            "DriftStatus": "NOT_CHECKED",
            "LastOperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60"
        }
    ]
}
```

A fin de encontrar el ID de la última operación para modificar una instancia de pila, use `list-stack-instances` o `describe-stack-instance` para obtener `LastOperationId`:

```
aws cloudformation describe-stack-instance --stack-set-name ss1 \
  --stack-instance-account 123456789012 --stack-instance-region us-east-2
```

```
{
    "StackInstance": {
        "StackSetId": "ss1:9101ca57-49fc-4a61-a5a6-4c97b8adb08f",
        "Region": "us-west-2",
        "Account": "123456789012",
        "ParameterOverrides": [],
        "Status": "OUTDATED",
        "StackInstanceStatus": {
            "DetailedStatus": "FAILED"
        },
        "StatusReason": "Account 123456789012 should have 'AWSCloudFormationStackSetExecutionRole' role with trust relationship to Role 'AWSCloudFormationStackSetAdministrationRole'.",
        "OrganizationalUnitId": "",
        "DriftStatus": "NOT_CHECKED",
        "LastOperationId": "5550e62f-c822-4331-88fa-21c1d7bafc60"
    }
}
```