

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