Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
AWS CloudFormation StackSets implementar referencia de acción
CodePipeline ofrece la posibilidad de realizar AWS CloudFormation StackSets operaciones como parte de su proceso de CI/CD. Utiliza un conjunto de pilas para crear pilas en AWS las cuentas de todas las AWS regiones mediante una única plantilla. AWS CloudFormation Todos los recursos incluidos en cada pila se definen mediante la AWS CloudFormation plantilla del conjunto de pilas. Al crear el conjunto de pilas, debe especificar la plantilla que desea utilizar, así como todos los parámetros y capacidades que requiere la plantilla.
Para obtener más información sobre los conceptos de AWS CloudFormation StackSets, consulte StackSets los conceptos en la Guía del AWS CloudFormation usuario.
El proceso se integra AWS CloudFormation StackSets mediante dos tipos de acciones distintos que se utilizan de forma conjunta:
-
La acción
CloudFormationStackSet
crea o actualiza un conjunto de pilas o instancias de pilas a partir de la plantilla almacenada en la ubicación de origen de la canalización. Cada vez que se crea o actualiza un conjunto de pilas, se inicia una implementación de esos cambios en instancias específicas. En la consola, puedes elegir el proveedor de acciones de CloudFormation Stack Set al crear o editar tu canalización. -
La acción
CloudFormationStackInstances
implementa los cambios de la acciónCloudFormationStackSet
en instancias específicas, crea nuevas instancias de pila y define las anulaciones de parámetros en las instancias especificadas. En la consola, puedes elegir el proveedor de acciones de CloudFormation Stack Instances al editar una canalización existente.
Puedes usar estas acciones para implementarlas en las AWS cuentas de destino o en la unidad organizativa de Target AWS OrganizationsIDs.
nota
Para realizar la implementación en AWS las cuentas o unidades organizativas de Target Organizations IDs y utilizar el modelo de permisos gestionados por el servicio, debes habilitar el acceso de confianza entre y AWS CloudFormation StackSets Organizaciones AWS . Para obtener más información, consulta Cómo habilitar el acceso confiable con AWS CloudFormation Stacksets.
Temas
Cómo funcionan AWS CloudFormation StackSets las acciones
Una acción CloudFormationStackSet
crea o actualiza recursos en función de si la acción se ejecuta por primera vez.
La acción CloudFormationStackSet
crea o actualiza el conjunto de pilas e implementa esos cambios en instancias específicas.
nota
Si utiliza esta acción para realizar una actualización que incluya la adición de instancias de pila, las nuevas instancias se implementan primero y la actualización se completa en último lugar. Las nuevas instancias reciben primero la versión anterior y, a continuación, la actualización se aplica a todas las instancias.
-
Crear: cuando no se especifica ninguna instancia y el conjunto de pilas no existe, la CloudFormationStackSetacción crea el conjunto de pilas sin crear ninguna instancia.
-
Actualización: cuando la CloudFormationStackSetacción se ejecuta para un conjunto de pilas que ya se ha creado, la acción actualiza el conjunto de pilas. Si no se especifica ninguna instancia y el conjunto de pilas ya existe, se actualizan todas las instancias. Si esta acción se usa para actualizar instancias específicas, todas las instancias restantes pasan a un OUTDATED estado.
Puedes usar la CloudFormationStackSetacción para actualizar el conjunto de pilas de las siguientes maneras.
-
Actualice la plantilla en algunas o todas las instancias.
-
Actualice los parámetros en algunas o todas las instancias.
-
Actualice el rol de ejecución del conjunto de pilas (debe coincidir con el rol de ejecución especificado en el rol de administrador).
-
Cambie el modelo de permisos (solo si no se ha creado ninguna instancia).
-
Active o desactive
AutoDeployment
si el modelo de permisos del conjunto de pilas esService Managed
. -
Actúa como administrador delegado en una cuenta de miembro si el modelo de permisos del conjunto apilado lo es
Service Managed
. -
Actualice el rol de administrador.
-
Actualice la descripción del conjunto de pila.
-
Añada los objetivos de implementación a la actualización del conjunto de pilas para crear nuevas instancias de pila.
-
La acción CloudFormationStackInstances
crea nuevas instancias de pila o actualiza las instancias de pila obsoletas. Una instancia queda desactualizada cuando se actualiza un conjunto de pilas, pero no se actualizan todas las instancias que contiene.
-
Crear: si la pila ya existe, la acción
CloudFormationStackInstances
solo actualiza las instancias y no crea instancias de pila. -
Actualizar: una vez realizada la acción
CloudFormationStackSet
, si la plantilla o los parámetros se han actualizado solo en algunos casos, el resto se marcaráOUTDATED
. En fases posteriores de la canalización,CloudFormationStackInstances
actualiza el resto de las instancias del conjunto de pilas en oleadas para que todas las instancias queden marcadasCURRENT
. Esta acción también se puede utilizar para añadir instancias adicionales o anular los parámetros de las instancias nuevas o existentes.
Como parte de una actualización, las acciones CloudFormationStackSet
y CloudFormationStackInstances
pueden especificar nuevos objetivos de implementación, lo que crea nuevas instancias apiladas.
Como parte de una actualización, las acciones CloudFormationStackSet
y CloudFormationStackInstances
no eliminan conjuntos de pilas, instancias o recursos. Cuando la acción actualiza una pila pero no especifica todas las instancias que se van a actualizar, las instancias que no se especificaron para la actualización se eliminan de la actualización y se establecen en un estado de OUTDATED
.
Durante una implementación, las instancias de la pila también pueden mostrar un estado de OUTDATED
en el que se indica si la implementación en las instancias ha fallado.
¿Cómo estructurar StackSets las acciones en una canalización
Como práctica recomendada, debe construir su canalización de manera que el conjunto de pilas se cree y se implemente inicialmente en un subconjunto o en una sola instancia. Tras probar la implementación y ver el conjunto de pilas generado, añada la acción CloudFormationStackInstances
para crear y actualizar las instancias restantes.
Utilice la consola o la CLI para crear la estructura de canalización recomendada de la siguiente manera:
-
Cree una canalización con una acción de origen (obligatoria) y la acción
CloudFormationStackSet
como acción de implementación. Ejecute su canalización. -
Cuando su canalización se ejecuta por primera vez, la acción
CloudFormationStackSet
crea su conjunto de pilas y al menos una instancia inicial. Verifique la creación del conjunto de pilas y revise la implementación en su instancia inicial. Por ejemplo, para la creación inicial del conjunto de pilas para la cuenta A, dondeus-east-1
se encuentra la región especificada, la instancia de pila se crea con el conjunto de pilas:Instancia de pila Región Status StackInstanceID-1 us-east-1 CURRENT -
Edite su canalización para añadir
CloudFormationStackInstances
como segunda acción de implementación para crear o actualizar las instancias de pila para los destinos que designe. Por ejemplo, para crear una instancia de pila para la cuentaAccount-A
en la que se especifican las regionesus-east-2
yeu-central-1
, se crean las instancias de pila restantes y la instancia inicial permanece actualizada de la siguiente manera:Instancia de pila Región Status StackInstanceID-1 us-east-1 CURRENT StackInstanceID-2 us-east-2 CURRENT StackInstanceID-3 eu-central-1 CURRENT -
Ejecute su canalización según sea necesario para actualizar su conjunto de pilas y actualizar o crear instancias de pila.
Cuando inicias una actualización de pila en la que has eliminado los objetivos de despliegue de la configuración de la acción, las instancias de la pila que no estaban designadas para la actualización se eliminan de la implementación y pasan a un OUTDATED estado. Por ejemplo, para actualizar una instancia de pila para una cuenta Account-A
en la que la us-east-2
región se elimina de la configuración de acciones, se crean las instancias de pila restantes y la instancia eliminada se establece de la OUTDATED siguiente manera:
Instancia de pila | Región | Status |
---|---|---|
StackInstanceID-1 | us-east-1 | CURRENT |
StackInstanceID-2 | us-east-2 | OUTDATED |
StackInstanceID-3 | eu-central-1 | CURRENT |
Para obtener más información sobre las prácticas recomendadas para implementar conjuntos de pilas, consulte las prácticas recomendadas StackSets en la Guía del AWS CloudFormation usuario.
Acción CloudFormationStackSet
Esta acción crea o actualiza un conjunto de pilas a partir de la plantilla almacenada en la ubicación de origen de la canalización.
Después de definir un conjunto de pilas, puede crear, actualizar o eliminar pilas en las cuentas y regiones de destino especificadas en los parámetros de configuración. Al crear, actualizar y eliminar pilas, puede especificar otras preferencias, como el orden de las regiones para que se realicen las operaciones, el porcentaje de tolerancia a fallos a partir del cual se detienen las operaciones en las pilas y el número de cuentas en las que se realizan operaciones en las pilas de forma concurrente.
Un conjunto de pilas es un recurso regional. Si crea un conjunto de pilas en una AWS región, no podrá acceder a él desde otras regiones.
Cuando esta acción se utiliza como una acción de actualización del conjunto de pilas, no se permiten las actualizaciones de la pila sin una implementación en al menos una instancia de la pila.
Temas
Tipo de acción
-
Categoría:
Deploy
-
Propietario:
AWS
-
Proveedor:
CloudFormationStackSet
-
Versión:
1
Parámetros de configuración
- StackSetName
-
Obligatorio: sí
El nombre que se va a asociar con el conjunto de pila. Este nombre debe ser único en la región donde se crea.
Solo puede contener caracteres alfanuméricos y guiones. Debe comenzar por una letra y tener 128 caracteres o menos.
- Descripción
-
Obligatorio: no
Una descripción del conjunto de pila. Puede usarlo para describir el propósito del conjunto de pilas u otra información relevante.
- TemplatePath
-
Obligatorio: sí
La ubicación de la plantilla que define los recursos del conjunto de pila. Debe apuntar a una plantilla con un tamaño máximo de 460 800 bytes.
Introduzca la ruta del nombre del artefacto de origen y el archivo de plantilla en el formato
"InputArtifactName::TemplateFileName"
, como se muestra en el siguiente ejemplo.SourceArtifact::template.txt
- Parámetros
-
Obligatorio: no
Una lista de parámetros de plantilla para el conjunto de pilas que se actualizan durante una implementación.
Puede proporcionar parámetros como una lista literal o una ruta de archivo:
-
Puede introducir parámetros en el siguiente formato sintáctico abreviado:
ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string
. Para obtener más información acerca de estos tipos de datos, consulte Tipos de datos de parámetros de plantilla.En el siguiente ejemplo, se muestra un parámetro denominado
BucketName
con el valoramzn-s3-demo-source-bucket
.ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket
En el siguiente ejemplo, se muestra una entrada con varios parámetros:
ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket ParameterKey=Asset1,ParameterValue=true ParameterKey=Asset2,ParameterValue=true
-
Puede introducir la ubicación del archivo que contiene una lista de modificaciones de parámetros de plantilla introducidas en el formato
"InputArtifactName::ParametersFileName"
, como se muestra en el siguiente ejemplo.SourceArtifact::parameters.txt
En el siguiente ejemplo se muestra el contenido del archivo para
parameters.txt
.[ { "ParameterKey": "KeyName", "ParameterValue": "true" }, { "ParameterKey": "KeyName", "ParameterValue": "true" } ]
-
- Capacidades
-
Obligatorio: no
Indica que la plantilla puede crear y actualizar recursos, en función de los tipos de recursos de la plantilla.
Debe usar esta propiedad si tiene IAM recursos en la plantilla de pila o si crea una pila directamente a partir de una plantilla que contiene macros. Para que la AWS CloudFormation acción funcione correctamente de esta manera, debe utilizar una de las siguientes capacidades:
-
CAPABILITY_IAM
-
CAPABILITY_NAMED_IAM
Puede especificar más de una capacidad mediante el uso de una coma sin espacios entre las capacidades. El ejemplo de Ejemplo de configuración de CloudFormationStackSetacciones muestra una entrada con múltiples capacidades.
-
- PermissionModel
-
Obligatorio: no
Determina cómo se crean y administran los IAM roles. Si no se especifica el campo, se usa valor predeterminado. Para obtener más información, consulte Modelos de permisos para operaciones de conjunto de pilas.
Los valores válidos son:
-
SELF_MANAGED
(predeterminado): debe crear roles de administrador y ejecución para implementarlos en las cuentas de destino. -
SERVICE_MANAGED
: crea AWS CloudFormation StackSets automáticamente las IAM funciones necesarias para desplegarlas en las cuentas gestionadas por AWS Organizations. Esto requiere una cuenta para ser miembro de una organización.
nota
Este parámetro solo se puede cambiar cuando no hay instancias de pila en el conjunto de pilas.
-
- AdministrationRoleArn
-
nota
Como AWS CloudFormation StackSets realiza operaciones en varias cuentas, debe definir los permisos necesarios en esas cuentas antes de poder crear el conjunto de pilas.
Obligatorio: no
nota
Este parámetro es opcional para el modelo SELF _ MANAGED permisos y no se usa para el modelo SERVICE _ MANAGED permisos.
El IAM rol ARN de la cuenta de administrador que se utiliza para realizar las operaciones del conjunto de pilas.
El nombre puede contener caracteres alfanuméricos, cualquiera de los siguientes caracteres: _+=, .@- y no incluir espacios. El nombre distingue entre mayúsculas y minúsculas. El nombre del rol debe tener una longitud mínima de 20 caracteres y una longitud máxima de 2048 caracteres. Los nombres del rol deben ser únicos dentro de la cuenta. El nombre del rol especificado aquí debe ser un nombre de rol existente. Si no especifica el nombre de la función, se establece en AWSCloudFormationStackSetAdministrationRole. Si lo especifica ServiceManaged, no debe definir un nombre de rol.
- ExecutionRoleName
-
nota
Como AWS CloudFormation StackSets realiza operaciones en varias cuentas, debe definir los permisos necesarios en esas cuentas antes de poder crear el conjunto de pilas.
Obligatorio: no
nota
Este parámetro es opcional para el modelo SELF _ MANAGED permisos y no se usa para el modelo SERVICE _ MANAGED permisos.
El nombre del IAM rol en las cuentas de destino que se utiliza para realizar las operaciones del conjunto de pilas. El nombre puede contener caracteres alfanuméricos, cualquiera de los siguientes caracteres: _+=, .@- y no incluir espacios. El nombre distingue entre mayúsculas y minúsculas. Este nombre de rol debe tener una longitud mínima de 1 carácter y máxima de 64 caracteres. Los nombres del rol deben ser únicos dentro de la cuenta. El nombre del rol especificado aquí debe ser un nombre de rol existente. No especifique este rol si utiliza roles de ejecución personalizados. Si no especifica el nombre del rol, se establece en
AWSCloudFormationStackSetExecutionRole
. Si establece Service_Managed en verdadero, no debe definir un nombre de rol. - OrganizationsAutoDeployment
-
Obligatorio: no
nota
Este parámetro es opcional para el modelo SERVICE _ MANAGED permisos y no se usa para el modelo SELF _ MANAGED permisos.
Describe si AWS CloudFormation StackSets se implementa automáticamente en AWS las cuentas de Organizations que se agregan a una organización o unidad organizativa (OU) de destino. Si se especifica
OrganizationsAutoDeployment
, no especifiqueDeploymentTargets
niRegions
.nota
Si no se proporciona ninguna entrada para
OrganizationsAutoDeployment
, el valor predeterminado esDisabled
.Los valores válidos son:
-
Enabled
. Obligatorio: no.StackSets implementa automáticamente instancias de pila adicionales en AWS las cuentas de Organizations que se agregan a una organización o unidad organizativa (OU) de destino en las regiones especificadas. Si se elimina una cuenta de una organización o unidad organizativa de destino, AWS CloudFormation StackSets elimina las instancias de la pila de la cuenta en las regiones especificadas.
-
Disabled
. Obligatorio: no.StackSets no implementa automáticamente instancias apiladas adicionales en AWS las cuentas de Organizations que se agregan a una organización o unidad organizativa (OU) de destino en las regiones especificadas.
-
EnabledWithStackRetention
. Obligatorio: no.Los recursos de pila se conservan cuando se elimina una cuenta de una organización u OU de destino.
-
- DeploymentTargets
-
Obligatorio: no
nota
Para el modelo de MANAGED permisos SERVICE _, puedes proporcionar el ID raíz de la organización o la unidad organizativa IDs para los objetivos de despliegue. Para el modelo de MANAGED permisos SELF _, solo puedes proporcionar cuentas.
nota
Cuando se selecciona este parámetro, también debe seleccionar Regiones.
Una lista de AWS cuentas o unidades organizativas en las que IDs se deben crear o actualizar las instancias de conjuntos apilados.
-
Cuentas
Puede proporcionar las cuentas como una lista literal o como una ruta de archivo:
-
Literal: introduzca los parámetros en el formato de sintaxis abreviada
account_ID,account_ID
, como se muestra en el siguiente ejemplo.111111222222,333333444444
-
Ruta del archivo: la ubicación del archivo que contiene una lista de AWS cuentas en las que se deben crear o actualizar las instancias del conjunto de pilas, introducida en el formato.
InputArtifactName::AccountsFileName
Si utiliza la ruta del archivo para especificar las cuentas o OrganizationalUnitIds, el formato del archivo debe estar configuradoJSON, como se muestra en el siguiente ejemplo.SourceArtifact::accounts.txt
En el siguiente ejemplo se muestra el contenido del archivo para
accounts.txt
.[ "111111222222" ]
En el siguiente ejemplo, se muestra el contenido del archivo para incluir más de una cuenta de
accounts.txt
:[ "111111222222","333333444444" ]
-
-
OrganizationalUnitIds:
nota
Este parámetro es opcional para el modelo de MANAGED permisos SERVICE _ y no se usa para el modelo de MANAGED permisos SELF _. No lo utilice si lo selecciona OrganizationsAutoDeployment.
Las unidades AWS organizativas en las que actualizar las instancias de pila asociadas.
Puedes proporcionar la unidad organizativa IDs como una lista literal o una ruta de archivo:
-
Literal: introduzca una matriz de cadenas separadas por comas, como se muestra en el siguiente ejemplo.
ou-examplerootid111-exampleouid111,ou-examplerootid222-exampleouid222
-
Ruta del archivo: la ubicación del archivo que contiene una lista OrganizationalUnitIds en la que se pueden crear o actualizar las instancias del conjunto de pilas. Si utiliza la ruta del archivo para especificar las cuentas o OrganizationalUnitIds, el formato del archivo debe estar configuradoJSON, como se muestra en el siguiente ejemplo.
Introduzca una ruta al archivo con el formato
InputArtifactName::OrganizationalUnitIdsFileName
.SourceArtifact::OU-IDs.txt
En el siguiente ejemplo se muestra el contenido del archivo para
OU-IDs.txt
.[ "ou-examplerootid111-exampleouid111","ou-examplerootid222-exampleouid222" ]
-
-
- Regiones
-
Obligatorio: no
nota
Cuando se selecciona este parámetro, también debe seleccionarlo DeploymentTargets.
Una lista de AWS regiones en las que se crean o actualizan las instancias de conjuntos de pilas. Las regiones se actualizan en el orden en el que se han introducido.
Introduzca una lista de AWS regiones válidas en el formato
Region1,Region2
, como se muestra en el siguiente ejemplo.us-west-2,us-east-1
- FailureTolerancePercentage
-
Obligatorio: no
El porcentaje de cuentas por región en las que esta operación de apilamiento puede fallar antes de que AWS CloudFormation se detenga la operación en esa región. Si la operación se detiene en una región, AWS CloudFormation no la intenta realizar en regiones subsiguientes. Al calcular el número de cuentas en función del porcentaje especificado, AWS CloudFormation redondea al siguiente número entero.
- MaxConcurrentPercentage
-
Obligatorio: no
El porcentaje máximo de cuentas en las que realizar esta operación de una vez. Al calcular el número de cuentas en función del porcentaje especificado, AWS CloudFormation redondea hacia abajo al siguiente número entero. Si el redondeo a la baja da como resultado cero, AWS CloudFormation establece el número como uno en su lugar. Si bien usa esta configuración para especificar el máximo, el número real de cuentas sobre las que se actúa simultáneamente puede ser menor en implementaciones grandes debido a la limitación controlada de los servicios.
- RegionConcurrencyType
-
Obligatorio: no
Puede especificar si el conjunto de pilas debe implementarse en Regiones de AWS secuencialmente o en paralelo configurando el parámetro de implementación simultáneo de la región. Si se especifica la simultaneidad de regiones para desplegar pilas en varias en Regiones de AWS paralelo, esto puede resultar en tiempos de despliegue generales más rápidos.
-
Paralela: las implementaciones de conjuntos de pilas se llevarán a cabo al mismo tiempo, siempre y cuando los errores de implementación de una región no superen una tolerancia de fallos especificada.
-
Secuencial: las implementaciones de conjuntos de pilas se realizarán una a la vez, siempre y cuando los errores de implementación de una región no superen una tolerancia de fallos especificada. La implementación secuencial es la selección predeterminada.
-
- ConcurrencyMode
-
Obligatorio: no
El modo de simultaneidad permite elegir cómo se comporta el nivel de simultaneidad durante las operaciones del conjunto de pilas, ya sea con una tolerancia a los errores estricta o suave. Tolerancia estricta a errores reduce la velocidad de implementación a medida que se producen errores en las operaciones del conjunto de pilas, ya que la simultaneidad disminuye en cada error. Soft Failure Tolerance prioriza la velocidad de despliegue y, al mismo tiempo, aprovecha las capacidades de seguridad. AWS CloudFormation
-
STRICT_FAILURE_TOLERANCE
: esta opción reduce de forma dinámica el nivel de simultaneidad para garantizar que el número de cuentas con errores nunca supere un valor de tolerancia a errores en particular. Este es el comportamiento predeterminado. -
SOFT_FAILURE_TOLERANCE
: esta opción desacopla la tolerancia a errores de la simultaneidad real. Esto permite que las operaciones del conjunto de pilas se ejecuten en el nivel de simultaneidad, independientemente del número de errores.
-
- CallAs
-
Obligatorio: no
nota
Este parámetro es opcional para el modelo de
SERVICE_MANAGED
permisos y no se usa para elSELF_MANAGED
modelo de permisos.Especifica si actúa en la cuenta de administración de la organización o como administrador delegado en la cuenta de un miembro.
nota
Si este parámetro está establecido en
DELEGATED_ADMIN
, asegúrese de que el IAM rol de canalización tengaorganizations:ListDelegatedAdministrators
permiso. De lo contrario, la acción fallará mientras se ejecuta y se produce un error similar al siguiente:Account used is not a delegated administrator
.-
SELF
: La implementación del conjunto de pilas utilizará permisos administrados por el servicio mientras se haya iniciado sesión en la cuenta de administración. -
DELEGATED_ADMIN
: La implementación de Stack Set utilizará permisos administrados por el servicio mientras se haya iniciado sesión en una cuenta de administrador delegado.
-
Artefactos de entrada
Debe incluir al menos un artefacto de entrada que contenga la plantilla del conjunto de pilas de una acción CloudFormationStackSet
. Puede incluir más artefactos de entrada para las listas de objetivos, cuentas y parámetros de implementación.
-
Número de artefactos:
1 to 3
-
Descripción: puede incluir artefactos para proporcionar:
-
El archivo de plantilla de pila. (consulte el parámetro
TemplatePath
). -
El archivo de parámetros. (consulte el parámetro
Parameters
). -
El archivo de cuentas. (consulte el parámetro
DeploymentTargets
).
-
Artefactos de salida
-
Número de artefactos:
0
-
Descripción: los artefactos de salida no se aplican a este tipo de acción.
Variables de salida
Si configura esta acción, produce variables a las que se puede hacer referencia mediante la configuración de acción de una acción descendente en la canalización. Configure una acción con un espacio de nombres para que esas variables estén disponibles para la configuración de las acciones posteriores.
-
StackSetId: El ID del conjunto de pilas.
-
OperationId: El ID de la operación del conjunto de pilas.
Para obtener más información, consulte Referencia de variables.
Ejemplo de configuración de CloudFormationStackSetacciones
Los siguientes ejemplos muestran la configuración de la CloudFormationStackSetacción.
Ejemplo del modelo de permisos autoadministrados
El siguiente ejemplo muestra una CloudFormationStackSetacción en la que el objetivo de despliegue introducido es un ID de AWS cuenta.
Ejemplo del modelo de permisos administrados mediante servicios
El siguiente ejemplo muestra una CloudFormationStackSetacción para el modelo de permisos administrados por el servicio en el que la opción de despliegue automático en AWS Organizations está habilitada con la retención de pilas.
La acción CloudFormationStackInstances
Esta acción crea nuevas instancias e implementa conjuntos de pilas en instancias específicas. Una instancia de pila es una referencia a una pila en una cuenta de destino dentro de una región. Una instancia de pila puede existir sin pila; por ejemplo, si la creación de la pila no se realiza correctamente, la instancia de pila muestra el motivo del fallo en la creación de la pila. Una instancia de pila está asociada con un solo conjunto de pilas.
Tras la creación inicial de un conjunto de pilas, puede añadir nuevas instancias de pilas mediante CloudFormationStackInstances
. Los valores de los parámetros de la plantilla se pueden anular a nivel de instancia de pila durante las operaciones de creación o actualización de instancias de conjuntos de pilas.
Cada conjunto de pilas tiene una plantilla y un conjunto de parámetros de plantilla. Al actualizar la plantilla o los parámetros de la plantilla, se actualizan para todo el conjunto. A continuación, todos los estados de las instancias se establecen en OUTDATED
hasta que los cambios se implementen en esa instancia.
Para anular los valores de los parámetros en instancias específicas, por ejemplo, si la plantilla contiene un parámetro para stage
con un valor de prod
, puede anular el valor de ese parámetro para que sea beta
o gamma
.
Temas
Tipo de acción
-
Categoría:
Deploy
-
Propietario:
AWS
-
Proveedor:
CloudFormationStackInstances
-
Versión:
1
Parámetros de configuración
- StackSetName
-
Obligatorio: sí
El nombre que se va a asociar con el conjunto de pila. Este nombre debe ser único en la región donde se crea.
Solo puede contener caracteres alfanuméricos y guiones. Debe comenzar por una letra y tener 128 caracteres o menos.
- DeploymentTargets
-
Obligatorio: no
nota
Para el modelo de MANAGED permisos SERVICE _, puedes proporcionar el ID raíz de la organización o la unidad organizativa IDs para los objetivos de despliegue. Para el modelo de MANAGED permisos SELF _, solo puedes proporcionar cuentas.
nota
Cuando se selecciona este parámetro, también debe seleccionar Regiones.
Una lista de AWS cuentas o unidades organizativas en las que IDs se deben crear o actualizar las instancias de conjuntos apilados.
-
Cuentas
Puede proporcionar las cuentas como una lista literal o como una ruta de archivo:
-
Literal: introduzca los parámetros en el formato de sintaxis abreviada
account_ID,account_ID
, como se muestra en el siguiente ejemplo.111111222222,333333444444
-
Ruta del archivo: la ubicación del archivo que contiene una lista de AWS cuentas en las que se deben crear o actualizar las instancias del conjunto de pilas, introducida en el formato.
InputArtifactName::AccountsFileName
Si utiliza la ruta del archivo para especificar las cuentas o OrganizationalUnitIds, el formato del archivo debe estar configuradoJSON, como se muestra en el siguiente ejemplo.SourceArtifact::accounts.txt
En el siguiente ejemplo se muestra el contenido del archivo para
accounts.txt
.[ "111111222222" ]
En el siguiente ejemplo, se muestra el contenido del archivo para incluir más de una cuenta de
accounts.txt
:[ "111111222222","333333444444" ]
-
-
OrganizationalUnitIds:
nota
Este parámetro es opcional para el modelo de MANAGED permisos SERVICE _ y no se usa para el modelo de MANAGED permisos SELF _. No lo utilice si lo selecciona OrganizationsAutoDeployment.
Las unidades AWS organizativas en las que actualizar las instancias de pila asociadas.
Puedes proporcionar la unidad organizativa IDs como una lista literal o una ruta de archivo.
-
Literal: introduzca una matriz de cadenas separadas por comas, como se muestra en el siguiente ejemplo.
ou-examplerootid111-exampleouid111,ou-examplerootid222-exampleouid222
-
Ruta del archivo: la ubicación del archivo que contiene una lista OrganizationalUnitIds en la que se pueden crear o actualizar las instancias del conjunto de pilas. Si utiliza la ruta del archivo para especificar las cuentas o OrganizationalUnitIds, el formato del archivo debe estar configuradoJSON, como se muestra en el siguiente ejemplo.
Introduzca una ruta al archivo con el formato
InputArtifactName::OrganizationalUnitIdsFileName
.SourceArtifact::OU-IDs.txt
En el siguiente ejemplo se muestra el contenido del archivo para
OU-IDs.txt
.[ "ou-examplerootid111-exampleouid111","ou-examplerootid222-exampleouid222" ]
-
-
- Regiones
-
Obligatorio: sí
nota
Cuando se selecciona este parámetro, también debe seleccionarlo DeploymentTargets.
Una lista de AWS regiones en las que se crean o actualizan las instancias de conjuntos de pilas. Las regiones se actualizan en el orden en el que se han introducido.
Introduzca una lista de AWS regiones válidas con el formato:
Region1,Region2
, como se muestra en el siguiente ejemplo.us-west-2,us-east-1
- ParameterOverrides
-
Obligatorio: no
Una lista de parámetros de conjunto de pila que desea anular en las instancias de pila seleccionadas. Los valores de los parámetros anulados se aplican a todas las instancias de pila de las cuentas y regiones especificadas.
Puede proporcionar parámetros como una lista literal o una ruta de archivo:
-
Puede introducir parámetros en el siguiente formato sintáctico abreviado:
ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string
. Para obtener más información acerca de estos tipos de datos, consulte Tipos de datos de parámetros de plantilla.El siguiente ejemplo muestra un parámetro denominado
BucketName
con el valoramzn-s3-demo-source-bucket
.ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket
En el siguiente ejemplo, se muestra una entrada con varios parámetros.
ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket ParameterKey=Asset1,ParameterValue=true ParameterKey=Asset2,ParameterValue=true
-
Puede introducir la ubicación del archivo que contiene una lista de modificaciones de parámetros de plantilla introducidas en el formato
InputArtifactName::ParameterOverridessFileName
, como se muestra en el siguiente ejemplo.SourceArtifact::parameter-overrides.txt
En el siguiente ejemplo se muestra el contenido del archivo para
parameter-overrides.txt
.[ { "ParameterKey": "KeyName", "ParameterValue": "true" }, { "ParameterKey": "KeyName", "ParameterValue": "true" } ]
-
- FailureTolerancePercentage
-
Obligatorio: no
El porcentaje de cuentas por región en las que esta operación de apilamiento puede fallar antes de que AWS CloudFormation se detenga la operación en esa región. Si la operación se detiene en una región, AWS CloudFormation no la intenta realizar en regiones subsiguientes. Al calcular el número de cuentas en función del porcentaje especificado, AWS CloudFormation redondea al siguiente número entero.
- MaxConcurrentPercentage
-
Obligatorio: no
El porcentaje máximo de cuentas en las que realizar esta operación de una vez. Al calcular el número de cuentas en función del porcentaje especificado, AWS CloudFormation redondea hacia abajo al siguiente número entero. Si el redondeo a la baja da como resultado cero, AWS CloudFormation establece el número como uno en su lugar. Si bien especifica el máximo, el número real de cuentas sobre las que se actúa simultáneamente puede ser menor en implementaciones grandes debido a la limitación controlada de los servicios.
- RegionConcurrencyType
-
Obligatorio: no
Puede especificar si el conjunto de pilas debe implementarse en Regiones de AWS secuencialmente o en paralelo configurando el parámetro de implementación simultáneo de la región. Si se especifica la simultaneidad de regiones para desplegar pilas en varias en Regiones de AWS paralelo, esto puede resultar en tiempos de despliegue generales más rápidos.
-
Paralela: las implementaciones de conjuntos de pilas se llevarán a cabo al mismo tiempo, siempre y cuando los errores de implementación de una región no superen una tolerancia de fallos especificada.
-
Secuencial: las implementaciones de conjuntos de pilas se realizarán una a la vez, siempre y cuando los errores de implementación de una región no superen una tolerancia de fallos especificada. La implementación secuencial es la selección predeterminada.
-
- ConcurrencyMode
-
Obligatorio: no
El modo de simultaneidad permite elegir cómo se comporta el nivel de simultaneidad durante las operaciones del conjunto de pilas, ya sea con una tolerancia a los errores estricta o suave. Tolerancia estricta a errores reduce la velocidad de implementación a medida que se producen errores en las operaciones del conjunto de pilas, ya que la simultaneidad disminuye en cada error. Soft Failure Tolerance prioriza la velocidad de despliegue y, al mismo tiempo, aprovecha las capacidades de seguridad. AWS CloudFormation
-
STRICT_FAILURE_TOLERANCE
: esta opción reduce de forma dinámica el nivel de simultaneidad para garantizar que el número de cuentas con errores nunca supere un valor de tolerancia a errores en particular. Este es el comportamiento predeterminado. -
SOFT_FAILURE_TOLERANCE
: esta opción desacopla la tolerancia a errores de la simultaneidad real. Esto permite que las operaciones del conjunto de pilas se ejecuten en el nivel de simultaneidad, independientemente del número de errores.
-
- CallAs
-
Obligatorio: no
nota
Este parámetro es opcional para el modelo de
SERVICE_MANAGED
permisos y no se usa para elSELF_MANAGED
modelo de permisos.Especifica si actúa en la cuenta de administración de la organización o como administrador delegado en la cuenta de un miembro.
nota
Si este parámetro está establecido en
DELEGATED_ADMIN
, asegúrese de que el IAM rol de canalización tengaorganizations:ListDelegatedAdministrators
permiso. De lo contrario, la acción fallará mientras se ejecuta y se produce un error similar al siguiente:Account used is not a delegated administrator
.-
SELF
: La implementación del conjunto de pilas utilizará permisos administrados por el servicio mientras se haya iniciado sesión en la cuenta de administración. -
DELEGATED_ADMIN
: La implementación de Stack Set utilizará permisos administrados por el servicio mientras se haya iniciado sesión en una cuenta de administrador delegado.
-
Artefactos de entrada
CloudFormationStackInstances
puede contener artefactos en los que se enumeran los objetivos y los parámetros del implementación.
-
Número de artefactos:
0 to 2
-
Descripción: como entrada, la acción de conjunto de pila acepta de forma opcional artefactos para estos fines:
-
Para proporcionar el archivo de parámetros que se va a utilizar. (consulte el parámetro
ParameterOverrides
). -
Para proporcionar el archivo de cuentas de destino que se va a utilizar. (consulte el parámetro
DeploymentTargets
).
-
Artefactos de salida
-
Número de artefactos:
0
-
Descripción: los artefactos de salida no se aplican a este tipo de acción.
Variables de salida
Cuando se configura, esta acción produce variables a las que se puede hacer referencia mediante la configuración de acción de una acción descendente en la canalización. Configure una acción con un espacio de nombres para que esas variables estén disponibles para la configuración de las acciones posteriores.
-
StackSetId: El ID del conjunto de pilas.
-
OperationId: El ID de la operación del conjunto de pilas.
Para obtener más información, consulte Referencia de variables.
Ejemplo de configuración de una acción
Los siguientes ejemplos muestran la configuración de la CloudFormationStackInstancesacción.
Ejemplo del modelo de permisos autoadministrados
El siguiente ejemplo muestra una CloudFormationStackInstancesacción en la que el objetivo de despliegue introducido es un Cuenta de AWS ID111111222222
.
Ejemplo del modelo de permisos administrados mediante servicios
En el siguiente ejemplo, se muestra una CloudFormationStackInstancesacción para el modelo de permisos gestionados por el servicio en el que el objetivo de la implementación es un ID de unidad organizativa de Organizations AWS . ou-1111-1example
Modelos de permisos para operaciones de conjunto de pilas
Como AWS CloudFormation StackSets realiza operaciones en varias cuentas, debes definir los permisos necesarios en esas cuentas antes de poder crear el conjunto de pilas. Puede definir los permisos mediante permisos autoadministrados o permisos administrados por servicios.
Con los permisos autogestionados, se crean las dos IAM funciones que necesita StackSets : una función de administrador, como la de la cuenta AWSCloudFormationStackSetAdministrationRole en la que se define el conjunto de pilas, y una función de ejecución, como la de cada una de las cuentas AWSCloudFormationStackSetExecutionRole en las que se despliegan las instancias del conjunto de pilas. Con este modelo de permisos, StackSets puedes realizar la implementación en cualquier AWS cuenta en la que el usuario tenga permisos para crear un IAM rol. Para obtener más información, consulte Concesión de permisos autoadministrados en la Guía del usuario de AWS CloudFormation .
nota
Como AWS CloudFormation StackSets realiza operaciones en varias cuentas, debe definir los permisos necesarios en esas cuentas antes de poder crear el conjunto de pilas.
Con los permisos gestionados por el servicio, puedes implementar instancias apiladas en las cuentas gestionadas por Organizations AWS . Con este modelo de permisos, no tienes que crear los IAM roles necesarios, ya que los StackSets IAM crea en tu nombre. Con este modelo, también puede habilitar implementaciones automáticas en cuentas que se añaden a la organización en el futuro. Consulte Habilitar el acceso confiable con AWS Organizations en la Guía AWS CloudFormation del usuario.
Tipos de datos de parámetros de plantilla
Los parámetros de plantilla utilizados en las operaciones del conjunto de pilas incluyen los siguientes tipos de datos. Para obtener más información, consulte DescribeStackSet.
- ParameterKey
-
-
Descripción: la clave asociada con el parámetro. Si no especifica una clave y un valor para un parámetro concreto, AWS CloudFormation utiliza el valor predeterminado que se especifica en la plantilla.
-
Ejemplo:
"ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket"
-
- ParameterValue
-
-
Descripción: el valor de entrada asociado con el parámetro.
-
Ejemplo:
"ParameterKey=BucketName,ParameterValue=amzn-s3-demo-source-bucket"
-
- UsePreviousValue
-
-
Durante una actualización de la pila, utilice el valor de parámetro existente que la pila está utilizando para una clave de parámetro determinada. Si especifica
true
, no especifique un valor de parámetro. -
Ejemplo:
"ParameterKey=Asset1,UsePreviousValue=true"
-
Cada conjunto de pilas tiene una plantilla y un conjunto de parámetros de plantilla. Al actualizar la plantilla o los parámetros de la plantilla, se actualizan para todo el conjunto. Luego, todos los estados de las instancias se configuran OUTDATED hasta que los cambios se implementen en esa instancia.
Para anular los valores de los parámetros en instancias específicas, por ejemplo, si la plantilla contiene un parámetro para stage
con un valor de prod
, puede anular el valor de ese parámetro para que sea beta
o gamma
.
Véase también
Los recursos relacionados siguientes pueden serle de ayuda cuando trabaje con esta acción.
-
Tipos de parámetros: en este capítulo de referencia de la Guía del AWS CloudFormation usuario, se proporcionan más descripciones y ejemplos de los parámetros de las CloudFormation plantillas.
-
Prácticas recomendadas: para obtener más información sobre las prácticas recomendadas para implementar conjuntos de pilas, consulte https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-bestpractices.html en la Guía del usuario de AWS CloudFormation .
-
AWS CloudFormation APIReferencia: puede hacer referencia a las siguientes CloudFormation acciones en la AWS CloudFormation APIReferencia para obtener más información sobre los parámetros utilizados en las operaciones de conjuntos de pilas:
-
La CreateStackSetacción crea un conjunto de pilas.
-
La UpdateStackSetacción actualiza el conjunto de pilas y las instancias de pila asociadas en las cuentas y regiones especificadas. Incluso si la operación del conjunto de pilas creada al actualizar el conjunto de pilas falla (total o parcialmente, por debajo o por encima de una tolerancia a errores especificada), el conjunto de pilas se actualiza con estos cambios. Las CreateStackInstances llamadas posteriores al conjunto de pilas especificado utilizan el conjunto de pilas actualizado.
-
La CreateStackInstancesacción crea una instancia de pila para todas las regiones especificadas en todas las cuentas especificadas en un modelo de permisos autogestionado o dentro de todos los objetivos de despliegue especificados en un modelo de permisos gestionado por el servicio. Puede anular los parámetros de las instancias creadas mediante esta acción. Si las instancias ya existen, realiza las CreateStackInstances llamadas UpdateStackInstances con los mismos parámetros de entrada. Cuando utiliza esta acción para crear instancias, no cambia el estado de las demás instancias de la pila.
-
La UpdateStackInstancesacción actualiza las instancias de la pila con la pila configurada para todas las regiones especificadas en todas las cuentas especificadas en un modelo de permisos autogestionado o dentro de todos los objetivos de despliegue especificados en un modelo de permisos gestionados por el servicio. Puede anular los parámetros de las instancias actualizados mediante esta acción. Cuando utiliza esta acción para actualizar un subconjunto de instancias, no cambia el estado de las demás instancias de la pila.
-
La DescribeStackSetOperationacción devuelve la descripción de la operación del conjunto de pilas especificado.
-
La DescribeStackSetacción devuelve la descripción del conjunto de pilas especificado.
-