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

Importación de pilas administradas por servicios para AWS CloudFormation StackSets

La operación de importación de pilas de AWS CloudFormation puede importar pilas existentes en conjuntos de pilas nuevos o existentes, de modo que pueda migrar las pilas existentes a un juego de pilas 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.

Requisitos de administración por servicios para la importación de pilas

Además de la sección Requisitos para la importación de pila, las importaciones de pilas administradas por servicios requieren lo siguiente.

  • 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 del AWS Organizations administrado 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 a un nuevo conjunto de pilas (consola)

Importación de una pila a un nuevo conjunto de pilas mediante la AWS Management Console

Para importar una pila nueva a un conjunto de pilas, identifique una pila que contenga el recurso que desea 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. Agregue la información siguiente a la página Choose a template (Elegir una plantilla).

    1. Para StackSet permission model (Modelo de permisos de StackSet), seleccione Service-managed permissions (Permisos administrados por servicios).

    2. En Prerequisite - Prepare template (Requisito previo: preparar la plantilla), seleccione Template is ready (La plantilla está lista).

      1. En URL de Amazon S3, ingrese su URL de Amazon S3 en el campo URL de Amazon S3.

      2. En Upload a template file (Cargar un archivo de plantilla), seleccione una plantilla de CloudFormation en su equipo local.

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

  5. Agregue la información siguiente en la página Specify StackSet details (Especificar detalles de StackSet).

    1. Ingrese un nombre de pila en el cuadro StackSet name (Nombre de StackSet).

    2. (Opcional) Ingrese una descripción en la sección StackSet description (Descripción de StackSet).

    En la página Configure StackSet options (Configurar las opciones del StackSet), revise las opciones y seleccione Next (Siguiente).

  6. Agregue la información siguiente a la página Set deployment options (Establecer opciones de implementación).

    1. Para Add stacks to stack set (Agregar pilas al conjunto de pilas), seleccione Import stacks to stack set (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 Stack URL (URL de la pila), ingrese la URL de Amazon S3.

  7. Agregue la información siguiente a la sección Associate organizational units (Asociar unidades organizativas).

    1. Seleccione Associate with organization (Asociar con la organización) para utilizar la unidad organizativa raíz.

    2. Seleccione Associate with organizational units (OUs) (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 a un conjunto de pilas existente (consola)

Para importar una pila existente a un nuevo conjunto de pilas, identifique una pila que contenga el recurso que desea importar.

Para crear un conjunto de pilas e importar 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. Agregue la información siguiente a la página Choose a template (Elegir una plantilla).

    1. Para StackSet permission model (Modelo de permisos de StackSet), seleccione Service-managed permissions (Permisos administrados por servicios).

    2. En Prerequisite - Prepare template (Requisito previo: preparar la plantilla), seleccione Template is ready (La plantilla está lista).

      1. En URL de Amazon S3, ingrese su URL de Amazon S3 en el campo URL de Amazon S3.

      2. En Upload a template file (Cargar un archivo de plantilla), seleccione una plantilla de CloudFormation en su equipo local.

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

  5. Agregue la información siguiente en la página Specify StackSet details (Especificar detalles de StackSet).

    1. Ingrese un nombre de pila en el cuadro StackSet name (Nombre de StackSet).

    2. (Opcional) Ingrese una descripción en la sección StackSet description (Descripción de StackSet).

    En la página Configure StackSet options (Configurar las opciones del StackSet), revise las opciones y seleccione Next (Siguiente).

  6. Agregue la información siguiente a la página Set deployment options (Establecer opciones de implementación).

    1. Para Add stacks to stack set (Agregar pilas al conjunto de pilas), seleccione Deploy new stacks (Implementar pilas nuevas).

  7. Agregue la información siguiente a la sección Associate organizational units (Asociar unidades organizativas).

    1. Seleccione Associate with organization (Asociar con la organización) para utilizar la unidad organizativa raíz.

    2. Seleccione Associate with organizational units (OUs) (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 a un conjunto de pilas existente (consola)

Seleccione su conjunto de pilas e identifique la pila que desea importar.

Para importar una pila a un conjunto de pilas 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 conjunto de pilas al que desea importar una pila y, a continuación, elija Add stacks to StackSet (Agregar pilas al StackSet) desde el menú desplegable Actions (Acciones).

  4. Agregue la información siguiente a la página Set deployment options (Establecer opciones de implementación).

    1. Para Add stacks to stack set (Agregar pilas al conjunto de pilas), seleccione Import stacks to stack set (Importar pilas al conjunto de pilas).

    2. Agregue la información siguiente a la sección Stacks to import (Pilas para importar).

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

      2. En Stack URL (URL de la pila) ingrese la URL de Amazon S3.

    3. Agregue la información siguiente a la sección Associate organizational units (Asociar unidades organizativas).

      1. Seleccione Associate with organization (Asociar con la organización) para utilizar la unidad organizativa raíz.

      2. Seleccione Associate with organizational units (OUs) (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 a un conjunto de pilas (AWS CLI)

Una vez creado el conjunto de pilas, puede importar las pilas si pasa el ID de pila 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.

StackSets importará las pilas proporcionadas por el usuario dentro de esas unidades organizativas y las utilizará como objetivos de implementación para los conjuntos de pilas. 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 AWS CLI, se utiliza la operación import-stacks-to-stack-set para importar una pila a un conjunto de pilas.

  • 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://DOC-EXAMPLE-BUCKET \ --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 proporcionada por el usuario, ya sea mediante carga directa o Amazon S3. En los siguientes ejemplos de AWS CLI, se utiliza la operación create-stack-set para importar una pila a un nuevo conjunto de pilas.

  • Para utilizar la operación create-stack-set, especifique el nombre del conjunto de pilas e importe una pila a un juego de pilas recién creado.

    aws cloudformation create-stack-set \ --template-url https://DOC-EXAMPLE-BUCKET \ --permission-model SERVICE_MANAGED \ --auto-deployment Enabled=true