Importación de las pilas administradas por servicios para conjuntos de pilas de AWS CloudFormation - AWS CloudFormation

Importación de las pilas administradas por servicios para conjuntos de pilas de AWS CloudFormation

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.

Importación de una pila administrada por servicios en un nuevo StackSet (consola)

Importación de una pila en un nuevo StackSet mediante la AWS Management Console

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

  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 el panel de navegación, seleccione StackSets (Conjuntos de pilas).

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

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

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

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

  5. En la página Especificar detalles del StackSet, haga lo siguiente:

    1. Ingrese un nombre de StackSet en el cuadro Nombre del StackSet.

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

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

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

      2. En URL de la pila ingrese la URL de Amazon S3.

  7. En Asociar unidades organizativas, haga lo siguiente:

    1. Seleccione Asociar con la organización para utilizar la unidad organizativa raíz.

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

    Acepte la configuración y elija Next (Siguiente).

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

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 AWS Management Console y abra la consola de AWS CloudFormation en https://console.aws.amazon.com/cloudformation.

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

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

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

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

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

  5. En la página Especificar detalles del StackSet, haga lo siguiente:

    1. Ingrese un nombre de StackSet en el cuadro Nombre del StackSet.

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

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

  7. En la sección Asociar unidades organizativas, haga lo siguiente:

    1. Seleccione Asociar con la organización para utilizar la unidad organizativa raíz.

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

  8. En Specify regions (Especificar regiones) y Deployment options (Opciones de implementación), revise las opciones.

    Acepte la configuración y elija Next (Siguiente).

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

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 AWS Management Console y abra la consola de AWS CloudFormation en https://console.aws.amazon.com/cloudformation.

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

  3. Seleccione el StackSet en el que desee importar una pila y, a continuación, elija Agregar pilas al StackSet en el menú desplegable Acciones.

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

    2. En Pilas para importar, haga lo siguiente

      1. En Stack ID (ID de la pila), ingrese el ID de la pila.

      2. En URL de la pila, ingrese la URL de Amazon S3.

    3. En Asociar unidades organizativas, haga lo siguiente:

      1. Seleccione Asociar con la organización para utilizar la unidad organizativa raíz.

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

      Acepte la configuración y elija Next (Siguiente).

  5. Revise la página Specify overrides (Especificar anulaciones) y elija Next (Siguiente).

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

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