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

Creación de CloudFormation StackSets con permisos autoadministrados

Con los permisos self-managed, puede implementar instancias de pila en Cuentas de AWS específicas de regiones determinadas. Para ello, primero debe crear los roles de IAM necesarios para establecer una relación de confianza entre la cuenta desde la que está administrando el conjunto de pilas y la cuenta en la que está implementando instancias de pila. Para obtener más información, consulte Concesión de permisos autoadministrados.

nota

Antes de completar uno de los siguientes procedimientos, compruebe que los roles de IAM AWSCloudFormationStackSetExecutionRole y AWSCloudFormationStackSetAdministrationRole existen en su cuenta de administrador. Para lanzar pilas en cuentas distintas de la de administrador, compruebe que el rol de IAM AWSCloudFormationStackSetExecutionRole existe en las cuentas de destino.

La plantilla a la que se hace referencia en este tema habilita AWS Config en una cuenta de destino dentro de 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). La plantilla Habilitar AWS Config se encuentra en el siguiente bucket de S3: https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfig.yml. También puede elegir esta plantilla de muestra en la consola de StackSets.

Creación de un conjunto de pilas con permisos autoadministrados (consola)

  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 conjunto de pilas.

  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. Omita los Permisos para usar los roles de IAM nombrados AWSCloudFormationStackSetExecutionRole y AWSCloudFormationStackSetAdministrationRole que haya creado anteriormente.

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

  7. En la opción Seleccionar una plantilla de muestra del menú desplegable, seleccione la plantilla Habilitar AWS Config. A continuación, elija Siguiente.

  8. En la página Especificar los detalles del conjunto de pilas, en Nombre del conjunto de pilas, ingrese un nombre para el conjunto de pilas. Los nombres de conjuntos de pilas deben comenzar por un carácter alfabético, y solo pueden contener letras, números y guiones. En este tutorial, usamos el nombre my-awsconfig-stackset.

  9. Para la descripción del conjunto de pilas, proporcione una descripción del conjunto de pilas.

  10. En Parámetros, revise los parámetros de la plantilla que utiliza AWS Config.

    nota

    Para los fines de este tutorial, puede utilizar la configuración predeterminada en esta sección.

    1. Para la configuración de la grabadora, revise los valores predeterminados. Para obtener más información acerca de estos parámetros, consulte Configuración de AWS Config con la consola en la Guía para desarrolladores de AWS Config.

    2. (Opcional) Para la configuración del canal de entrega, revise los valores predeterminados del canal de entrega para ver las actualizaciones y notificaciones. Para obtener más información sobre el canal de entrega en AWS Config, consulte Administrar el canal de entrega en la Guía para desarrolladores de AWS Config.

    3. (Opcional) Para las notificaciones de entrega, revise la configuración predeterminada de las notificaciones de Amazon Simple Notification Service (SNS).

  11. Elija Siguiente para continuar.

  12. En la página Configure StackSet options (Configurar opciones del conjunto de pilas), añada una etiqueta especificando un par de clave y valor. En este tutorial, creamos una etiqueta denominada Stage (Fase), con un valor de Test (Prueba). Las etiquetas que se aplican a los conjuntos de pila se aplican a todos los recursos creados por las pilas. 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 AWS Billing and Cost Management.

  13. Para Execution configuration (Configuración de ejecución), elija Active (Activo) para que StackSets lleve a cabo operaciones sin conflictos simultáneamente y ponga en cola las operaciones en conflicto. Una vez finalizadas las operaciones en conflicto, StackSets inicia las operaciones en cola por orden de solicitud.

    nota

    Si ya hay operaciones en ejecución o en cola, StackSets pone en cola todas las operaciones entrantes aunque no entren en conflicto.

    No puede modificar la configuración de ejecución de su conjunto de pilas mientras haya operaciones en ejecución o en cola para ese conjunto de pilas.

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

  15. Elija Siguiente.

  16. En la página Configurar opciones de implementación, en Agregar pilas al conjunto de pilas, elija Implementar nuevas pilas.

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

  18. Para Specify regions (Especificar regiones), elija Región EE.UU. Este (Norte de Virginia). Repita el proceso para Región EE.UU. Oeste (Oregón). Seleccione la flecha hacia arriba que aparece junto a Región EE.UU. Oeste (Oregón) para moverla a la primera posición de la lista. El orden de las regiones en Especificar regiones determina su orden de implementación.

    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.

  19. Para Deployment options (Opciones de implementación):

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

      Esto significa que CloudFormation implementa la pila en tan solo una cuenta a la vez.

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

      Esto significa que puede fallar un máximo de una implementación de 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.

    • En la Concurrencia regional, seleccione Secuencial o Paralel) a fin de determinar el orden de implementación de los conjunto de pilas para las regiones especificadas. El orden Sequential (Secuencial) está seleccionado de forma predeterminada.

    • Para el Modo de concurrencia, actualice el Modo de concurrencia según sea necesario o vaya al paso siguiente.

  20. Elija Siguiente.

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

  22. Cuando lo tenga todo listo para crear su conjunto de pilas, elija Submit (Enviar).

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

Creación de un conjunto de pilas con permisos autoadministrados (AWS CLI)

Al crear conjuntos de pilas utilizando los comandos de AWS CLI, ejecute dos comandos separados: create-stack-set para cargar su plantilla y crear el contenedor del conjunto de pilas y create-stack-instances para crear las pilas dentro de un conjunto de pilas.

  1. Comience ejecutando el siguiente comando create-stack-set para cargar la plantilla de ejemplo que habilita AWS Config. Para la --template-url opción, proporcione la dirección URL del bucket de Amazon S3 donde se encuentra la plantilla. En este ejemplo, utilizamos my-awsconfig-stackset como valor de la opción --stack-set-name.

    aws cloudformation create-stack-set \ --stack-set-name my-awsconfig-stackset \ --template-url https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSConfig.yml
    nota

    Si ya hay operaciones en ejecución o en cola, StackSets pone en cola todas las operaciones entrantes aunque no entren en conflicto.

    No puede modificar la configuración de ejecución de su conjunto de pilas mientras haya operaciones en ejecución o en cola para ese conjunto de pilas.

  2. Una vez finalizado el comando create-stack-set, ejecute el comando list-stack-sets para ver el conjunto de pilas que se ha creado. Debería ver el nuevo conjunto de pilas en los resultados.

    aws cloudformation list-stack-sets
  3. Use el comando create-stack-instances para añadir instancias de pila al conjunto de pilas. En este tutorial, usamos us-west-2 y us-east-1 como los valores de la opción --regions.

    aws cloudformation create-stack-instances \ --stack-set-name my-awsconfig-stackset \ --accounts '["account_ID_1","account_ID_2"]' \ --regions '["us-west-2","us-east-1"]'

    Para especificar sus preferencias sobre la forma en que CloudFormation realiza esta operación de conjunto de pilas, especifique la opción --operation-preferences, como en el siguiente ejemplo. A efectos de este ejemplo, utilizamos el número, no el porcentaje. Para aplicar porcentajes en su lugar, utilice FailureTolerancePercentage o MaxConcurrentPercentage.

    --operation-preferences FailureToleranceCount=0,MaxConcurrentCount=1
    nota

    El valor MaxConcurrentCount depende del valor de FailureToleranceCount. MaxConcurrentCount será como máximo, uno más que FailureToleranceCount.

    importante

    Espere hasta que se complete una operación antes de iniciar otra. Puede ejecutar una sola operación a la vez.

  4. Mediante el operation-id que se ha devuelto como parte de la salida de create-stack-instances, use el comando describe-stack-set-operation para comprobar que las instancias de la pila se han creado correctamente.

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