Creación de StackSets de AWS CloudFormation con permisos autoadministrados - AWS CloudFormation

Creación de StackSets de AWS CloudFormation con permisos autoadministrados

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.

Creación de un StackSet con permisos autoadministrados (consola)

Creación de un StackSet
  1. Inicie sesión en la AWS Management Console y abra la consola de AWS CloudFormation en https://console.aws.amazon.com/cloudformation.

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

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

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

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

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

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

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

  9. Elija Siguiente para continuar.

  10. 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 en la Guía del usuario de Administración de facturación y costos de AWS.

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

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

  13. Elija Siguiente.

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

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

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

  17. 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 +1.

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

  18. Elija Siguiente.

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

  20. 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)

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 create-stack-set 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
  2. Una vez finalizado el comando create-stack-set, ejecute el comando list-stack-sets para ver que se ha creado el StackSet. Debería ver el nuevo StackSet en los resultados.

    aws cloudformation list-stack-sets
  3. Use el comando create-stack-instances 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. 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 en la Referencia de la API de AWS CloudFormation.

  4. Use el comando describe-stack-set-operation 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