Anulación de parámetros en instancias de pila - AWS CloudFormation

Anulación de parámetros en instancias de pila

En algunos casos, es posible que desee que las instancias de pilas en determinadas regiones o cuentas tengan diferentes valores de propiedad que las especificadas en el propio conjunto de pilas. Por ejemplo, es posible que desee especificar un valor diferente para un parámetro determinado en función de si una cuenta se utiliza para el desarrollo o la producción. En estas situaciones, AWS CloudFormation permite anular los valores de los parámetros en instancias de pila por cuenta y región. Puede anular los valores de los parámetros de plantilla al crear las instancias de pila y puede anular los valores de parámetros de las instancias de pila existentes. Solo puede establecer los parámetros que anuló previamente en las instancias de pila con los valores originales especificados en el conjunto de pilas.

Las anulaciones de los valores de parámetros se aplican a las instancias de pila de las cuentas y regiones que seleccione. Durante las actualizaciones del conjunto de pilas, no se actualiza ningún valor de parámetro anulado para una instancia de pila, sino que se retiene su valor anulado.

Solo puede anular valores de parámetros que se han especificado en el conjunto de pilas; para añadir o eliminar un parámetro, debe actualizar la plantilla del conjunto de pilas. Si añade un parámetro a una plantilla del conjunto de pilas, para poder anular ese valor de parámetro en una instancia de pila, primero debe actualizar todas las instancias de pila con el nuevo parámetro y valor especificados en el conjunto de pilas. Una vez que todas las instancias de pila se han actualizado con el nuevo parámetro, puede anular el valor del parámetro en instancias de pila individuales como desee.

Para obtener información sobre cómo anular valores de parámetros de conjuntos de pilas al crear instancias de pila, consulte Añadir pilas a un conjunto de pilas.

Anulación de parámetros en instancias de pila mediante la AWS Management Console

  1. 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). En la página StackSets, seleccione el conjunto de pilas creado en Creación de un conjunto de pilas. En ese tutorial, hemos creado un conjunto de pilas con el nombre my-awsconfig-stackset.

  3. Con el conjunto de pilas seleccionado, elija Override StackSet parameters (Anular parámetros del conjunto de pilas) en el menú Actions (Acciones).

    
                            Página Manage stacks in stack set (Administrar pilas en el conjunto de pilas)
  4. En la página Establecer opciones de implementación, proporcione las cuentas y las regiones para las instancias de pila cuyos parámetros desea anular.

    AWS CloudFormation implementará pilas en las cuentas especificadas en la primera región, luego pasará a la siguiente, y así sucesivamente, mientras los errores de implementación de una región no superen la tolerancia de fallos especificada.

    1. [Permisos autoadministrados] En Destinos de implementación, elija Implementar pilas en cuentas. Pegue algunos o todos los ID de cuenta de destino que ha utilizado para crear el conjunto de pilas en Creación de un conjunto de pilas.

      [Permisos administrados por servicios] En Destinos de implementación, elija las cuentas de su organización en las que realizar la implementación.

      • Elija Implementar en unidades organizativas (OU). Seleccione una o más de las unidades organizativas de destino que haya utilizado para crear el conjunto de pilas en Creación de un conjunto de pilas. Los valores de parámetro sustituidos solo se aplican a las cuentas que están actualmente en las unidades organizativas de destino y a sus unidades organizativas secundarias. Las cuentas añadidas a las unidades organizativas de destino y sus unidades organizativas secundarias en el futuro utilizarán los valores predeterminados del conjunto de pila y no los valores reemplazados.

        
                                            Implemente reemplazos de parámetros en todas las cuentas de unidades organizativas seleccionadas de su organización.
      • Elija Implementar en cuentas. Pegue algunos o todos los ID de cuenta o de unidad organizativa de destino que haya utilizado para crear el conjunto de pilas en Creación de un conjunto de pilas.

        
                                            Implemente reemplazos parámetros para seleccionar cuentas en la organización.
    2. En Regiones de implementación, añada una o varias de las regiones en las que ha implementado las instancias de pila para este conjunto de pilas.

      Si añade varias regiones, el orden de las regiones bajo Especificar regiones determina su orden de implementación.

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

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

        Esto significa que AWS 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 AWS CloudFormation detenga la implementación en la región actual y cancele la implementación en las regiones restantes.

      Elija Next (Siguiente).

  5. En la página Specify Overrides (Especificar anulaciones), compruebe el parámetro Frequency (Frecuencia) y, a continuación, elija Override StackSet value (Anular valor del conjunto de pilas) en el menú Edit override value (Editar valor de anulación).

    
                            Seleccionar los parámetros que quiere anular y, a continuación, elegir el valor Override StackSet (Anular conjunto de pilas)
  6. En Override StackSet parameter values (Anular valores del parámetro StackSet), seleccione 6hours (6 horas) para el parámetro Frequency (Frecuencia) y elija Save changes (Guardar cambios). Está pidiendo a AWS CloudFormation que anule el valor del parámetro Frecuency y que utilice 6hours para todas las instancias de pila de las cuentas especificadas en las regiones indicadas. Elija Next (Siguiente).

    nota

    Para reestablecer los parámetros anulados al valor original especificado en el conjunto de pilas, compruebe todos los parámetros y elija Set to StackSet value (Establecer en el valor StackSet) del menú Edit override value (Editar valor de anulación). De esta forma, se eliminan todos los valores anulados cuando se actualizan las instancias de pila.

  7. En la página Review (Revisar), revise las opciones seleccionadas. Tenga en cuenta que el parámetro Frequency (Frecuencia) muestra un valor en la columna Override value (Anular valor) que indica que este valor se ha anulado en el nivel de la pila.

    Antes de anular los parámetros de estas instancias de pila, debe rellenar la casilla de verificación en el área Capabilities (Capacidades) para reconocer que algunos de los recursos que está creando con el conjunto de pilas podrían necesitar nuevos recursos y permisos de IAM. Para obtener más información acerca de los permisos que puedan ser obligatorios, consulte Reconocimiento de recursos de IAM en plantillas de AWS CloudFormation en esta guía. Cuando lo tenga todo listo, elija Submit (Enviar).

  8. AWS CloudFormation empieza a actualizar las instancias de pila. Vea el progreso y el estado de las instancias de pila en la página de detalles del conjunto de pilas que se abre al elegir Submit (Enviar).

Anulación de parámetros en instancias de pila mediante la AWS CLI

Al actuar como administrador delegado, debe establecer el parámetro --call-as en DELEGATED_ADMIN cada vez que ejecute un comando StackSets.

--call-as DELEGATED_ADMIN

Ejecute el comando de la AWS CLI update-stack-instances y especifique --parameter-overrides. Para obtener más información sobre la especificación de --parameter-overrides, consulte la sección Parámetro en la referencia de la API de AWS CloudFormation y update-stack-instances en la referencia de comandos de la AWS CLI.

En el comando de ejemplo que se muestra aquí, cambiamos la frecuencia de entrega de instantánea predeterminada para la configuración de canal de entrega de TwentyFour_Hours a Twelve_Hours para las instancias de pila especificadas.

  1. Ejecute el siguiente comando. Para --stack-set-name, especifique el nombre del conjunto de pila my-awsconfig-stackset.

    Defina la tolerancia a fallos y el número máximo de cuentas simultáneas estableciendo FailureToleranceCount en 0 y MaxConcurrentCount en 1 en el parámetro --operation-preferences, tal y como se muestra en el siguiente ejemplo. Para aplicar porcentajes en su lugar, utilice FailureTolerancePercentage o MaxConcurrentPercentage. Para este tutorial, se usa el recuento, no el porcentaje.

    nota

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

    [Permisos autoadministrados] Proporcione los ID de cuentas para los que desee sustituir valores de parámetros en instancias de pila.

    aws cloudformation update-stack-instances --stack-set-name my-awsconfig-stackset --parameter-overrides ParameterKey=MaximumExecutionFrequency,ParameterValue=TwentyFour_Hours\\,Twelve_Hours --operation-preferences FailureToleranceCount=0,MaxConcurrentCount=1 --accounts '["012345678901"]' --regions '["eu-west-1", "us-west-2"]'

    [Permisos administrados por servicios] Proporcione el ID raíz de organización, los ID de unidad organizativa o los ID de cuenta de AWS Organizations para los que desee reemplazar los parámetros de las instancias de pila. En este ejemplo, reemplazamos los valores de parámetros para las instancias de pila en todas las cuentas de la unidad organizativa con el ID ou-rcuk-1x5j1lwo.

    Los valores de parámetro reemplazados solo se aplican a las cuentas que están actualmente en la unidad organizativa de destino y a sus unidades organizativas secundarias. Las cuentas añadidas a la unidad organizativa de destino y sus unidades organizativas secundarias en el futuro utilizarán los valores predeterminados del conjunto de pila y no los valores reemplazados.

    aws cloudformation update-stack-instances --stack-set-name my-awsconfig-stackset --parameter-overrides ParameterKey=MaximumExecutionFrequency,ParameterValue=TwentyFour_Hours\\,Twelve_Hours --operation-preferences FailureToleranceCount=0,MaxConcurrentCount=1 --deployment-targets OrganizationalUnitIds='["ou-rcuk-1x5j1lwo"]' --regions '["eu-west-1", "us-west-2"]'
  2. Compruebe que los valores de los parámetros se reemplazaron correctamente en las instancias de pila ejecutando el comando describe-stack-set-operation para mostrar el estado y los resultados de la operación de actualización. Para --operation-id, utilice el ID de operación devuelto con el comando update-stack-instances.

    aws cloudformation describe-stack-set-operation --operation-id operation_ID