Ejecución de automatizaciones en varias cuentas y Regiones de AWS
Puede ejecutar automatizaciones de AWS Systems Manager en varias Regiones de AWS y Cuentas de AWS, o unidades organizativas de AWS Organizations desde una cuenta central. Automation es una capacidad de AWS Systems Manager. La ejecución de automatizaciones en varias regiones, cuentas u OU reduce la cantidad de tiempo necesario para administrar los recursos de AWS, a la vez que mejora la seguridad de su entorno informático.
Por ejemplo, puede hacer lo siguiente con manuales de procedimientos de automatización:
-
Implementar revisiones y actualizaciones de seguridad de forma centralizada.
-
Corregir la desviación del cumplimiento en las configuraciones de VPC o en políticas del bucket de Amazon S3.
-
Administrar recursos a escala, como instancias de Amazon Elastic Compute Cloud (Amazon EC2).
En el siguiente diagrama, se muestra un ejemplo de un usuario que ejecuta el manual de procedimientos AWS-RestartEC2Instances
en varias regiones y cuentas desde una cuenta central. La automatización localiza las instancias a través de las etiquetas especificadas en las regiones y las cuentas determinadas.
nota
Al ejecutar una automatización en varias regiones y cuentas, indica los recursos como destino a través de etiquetas o el nombre de un grupo de recursos de AWS. El grupo de recursos debe existir en cada cuenta y región de destino. El nombre del grupo de recursos debe existir en cada cuenta y región de destino. La automatización no se podrá ejecutar en los recursos que no tengan la etiqueta especificada o que no se encuentren en el grupo de recursos especificado.
Elija una cuenta central para Automatización
Si desea ejecutar automatizaciones en todas las unidades organizativas, la cuenta central debe tener permisos para enumerar todas las cuentas de las mismas. Esto solo es posible desde una cuenta de administrador delegado o desde la cuenta de administración de la organización. Le recomendamos que siga las prácticas recomendadas de AWS Organizations y use una cuenta de administrador delegado. Para obtener más información acerca de las prácticas recomendadas de AWS Organizations, consulte Prácticas recomendadas para la cuenta de administración en la Guía del usuario de AWS Organizations. Para crear una cuenta de administrador delegado de Systems Manager, puede utilizar el comando register-delegated-administrator
con la AWS CLI, tal y como se muestra en el siguiente ejemplo.
aws organizations register-delegated-administrator \ --account-id
delegated admin account ID
\ --service-principal ssm.amazonaws.com
Si quiere ejecutar automatizaciones en varias cuentas que no estén administradas por AWS Organizations, recomendamos crear una cuenta dedicada a la administración de automatizaciones. Ejecutar todas las automatizaciones entre cuentas desde una cuenta dedicada simplifica la administración de permisos de IAM, la solución de problemas y crea una capa de separación entre las operaciones y la administración. Este enfoque también se recomienda si usa AWS Organizations, pero solo se quiere dirigirse a cuentas individuales y no a unidades organizativas.
Cómo funciona la ejecución de automatizaciones
La ejecución de automatizaciones en varias regiones, cuentas u OU funciona de la siguiente manera:
-
Compruebe que todos los recursos en los que desea ejecutar la automatización utilizan las mismas etiquetas en todas las regiones, las cuentas o las OU. Si no es así, puede añadirlas a un grupo de recursos de AWS e indicar dicho grupo como destino. Para obtener más información, consulte ¿Qué son los grupos de recursos? en la Guía del usuario de AWS Resource Groups y etiquetas.
-
Inicie sesión en la cuenta que desee configurar como cuenta central de Automatización.
-
Utilice el procedimiento Configuración de permisos de administración de la cuenta para la automatización de varias regiones y cuentas en este tema para crear los siguientes roles de IAM:
-
AWS-SystemsManager-AutomationAdministrationRole
: este rol concede a los usuarios permiso para ejecutar automatizaciones en varias cuentas y unidades organizativas. -
AWS-SystemsManager-AutomationExecutionRole
: este rol concede a los usuarios permiso para ejecutar automatizaciones en cuentas determinadas.
-
-
Elija el manual de procedimientos, las regiones, las cuentas o las OU donde desea ejecutar la automatización.
nota
Las automatizaciones no se ejecutan recursivamente a través de las OU. Asegúrese de que la unidad organizativa de destino contenga las cuentas deseadas. Si elige un manual de procedimientos personalizado, este debe compartirse con todas las cuentas de destino. Para obtener información acerca de cómo compartir manuales de procedimiento, consulte Uso compartido de documentos de SSM. Para obtener información acerca del uso de manuales de procedimientos compartidos, consulte Uso de documentos de SSM compartidos.
-
Ejecute la automatización.
nota
Al ejecutar automatizaciones en varias regiones, cuentas u OU, la automatización que ejecuta desde la cuenta principal inicia las automatizaciones secundarias en cada una de las cuentas de destino. La automatización en la cuenta principal tiene pasos
aws:executeAutomation
para cada una de las cuentas de destino. -
Utilice las operaciones de la API GetAutomationExecution, DescribeAutomationStepExecutions y DescribeAutomationExecutions desde la consola de AWS Systems Manager o la AWS CLI para supervisar el progreso de la automatización. La salida de los pasos para la automatización en su cuenta principal será el
AutomationExecutionId
de las automatizaciones secundarias. Para ver la salida de las automatizaciones secundarias creadas en las cuentas de destino, asegúrese de especificar la cuenta, la región y elAutomationExecutionId
adecuados en su solicitud.
Configuración de permisos de administración de la cuenta para la automatización de varias regiones y cuentas
Utilice el siguiente procedimiento para crear los roles de IAM necesarios para la automatización de Systems Manager de varias regiones y cuentas mediante AWS CloudFormation. Este procedimiento describe cómo crear el rol AWS-SystemsManager-AutomationAdministrationRole
. Solo tiene que crear este rol en la cuenta central de Automatización. Este procedimiento también describe cómo crear el rol AWS-SystemsManager-AutomationExecutionRole
. Debe crear este rol en todas las cuentas que desea indicar como destino para ejecutar automatizaciones de varias regiones y cuentas. Se recomienda utilizar AWS CloudFormation StackSets para crear el rol AWS-SystemsManager-AutomationExecutionRole
en las cuentas que desee indicar como destino para ejecutar automatizaciones de varias regiones y cuentas.
Para crear el rol de automatización de IAM requerido en las automatizaciones de varias regiones y cuentas mediante el uso de AWS CloudFormation
-
Descargue y descomprima
AWS-SystemsManager-AutomationAdministrationRole.zip
. O, si sus cuentas están administradas por AWS Organizations,AWS-SystemsManager-AutomationAdministrationRole (org).zip
. Este archivo contiene el archivo de plantillaAWS-SystemsManager-AutomationAdministrationRole.yaml
de AWS CloudFormation. Abra la consola de AWS CloudFormation en https://console.aws.amazon.com/cloudformation
. -
Elija Crear pila.
-
En la sección Especificar plantilla elija Cargar un archivo de plantilla.
-
Elija Elegir archivo y, a continuación, elija el archivo de plantilla
AWS-SystemsManager-AutomationAdministrationRole.yaml
de AWS CloudFormation. -
Elija Siguiente.
-
En la página Especificar los detalles de la pila, escriba un nombre en el campo Nombre de la pila.
-
Elija Siguiente.
-
En la página Configurar opciones de la pila, ingrese los valores de las opciones que desea utilizar. Elija Siguiente.
-
En la página Revisar, desplácese hacia abajo y elija la opción I acknowledge that AWS CloudFormation might create IAM resources with custom names.
-
Elija Crear pila.
AWS CloudFormation muestra el estado CREATE_IN_PROGRESS durante tres minutos aproximadamente. El estado cambia a CREATE_COMPLETE.
Tiene que repetir el siguiente procedimiento en todas las cuentas que desee indicar como destino para ejecutar automatizaciones de varias regiones y cuentas.
Para crear el rol de automatización de IAM requerido en las automatizaciones de varias regiones y cuentas mediante el uso de AWS CloudFormation
-
Descargue
AWS-SystemsManager-AutomationExecutionRole.zip
. O, si sus cuentas están administradas por AWS Organizations,AWS-SystemsManager-AutomationExecutionRole (org).zip
. Este archivo contiene el archivo de plantillaAWS-SystemsManager-AutomationExecutionRole.yaml
de AWS CloudFormation. Abra la consola de AWS CloudFormation en https://console.aws.amazon.com/cloudformation
. -
Elija Crear pila.
-
En la sección Especificar plantilla elija Cargar un archivo de plantilla.
-
Elija Elegir archivo y, a continuación, elija el archivo de plantilla
AWS-SystemsManager-AutomationExecutionRole.yaml
de AWS CloudFormation. -
Elija Siguiente.
-
En la página Especificar los detalles de la pila, escriba un nombre en el campo Nombre de la pila.
-
En la sección Parámetros, en el campo AdminAccountId, escriba el ID de la cuenta central de Automatización.
-
Si configura este rol para un entorno de AWS Organizations, hay otro campo en la sección denominado OrganizationID. Ingrese el ID de su organización de AWS.
-
Elija Siguiente.
-
En la página Configurar opciones de la pila, ingrese los valores de las opciones que desea utilizar. Elija Siguiente.
-
En la página Revisar, desplácese hacia abajo y elija la opción I acknowledge that AWS CloudFormation might create IAM resources with custom names.
-
Elija Crear pila.
AWS CloudFormation muestra el estado CREATE_IN_PROGRESS durante tres minutos aproximadamente. El estado cambia a CREATE_COMPLETE.
Ejecución de una automatización en varias regiones y cuentas (consola)
El siguiente procedimiento describe cómo utilizar la consola de Systems Manager para ejecutar una automatización de varias regiones y cuentas desde la cuenta de administración de Automation.
Antes de empezar
Antes de completar el siguiente procedimiento, tenga en cuenta la siguiente información:
-
El usuario o el rol que utilice para ejecutar una automatización de varias regiones o cuentas debe tener el permiso
iam:PassRole
para el rolAWS-SystemsManager-AutomationAdministrationRole
. -
las OU o los ID de la Cuenta de AWS donde desee ejecutar la automatización
-
las regiones admitidas por Systems Manager en las que desea ejecutar la automatización
-
la clave y el valor de la etiqueta, o el nombre del grupo de recursos donde desea ejecutar la automatización
Para ejecutar una automatización en varias regiones y cuentas
Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/
. -
En el panel de navegación, elija Automatización y, después, seleccione Ejecutar automatización.
-
En la lista Documento de automatización, elija un manual de procedimientos. Elija una o más opciones en el panel Categorías de documentos para filtrar documentos SSM según su propósito. Para ver un manual de procedimientos que le pertenezca, seleccione la pestaña De mi propiedad. Para ver un manual de procedimientos que se haya compartido con su cuenta, elija la pestaña Compartido conmigo. Para ver todos los manuales de procedimientos, seleccione la pestaña Todos los documentos.
nota
Puede ver información acerca de un manual de procedimientos al seleccionar su nombre.
-
En la sección Detalles del documento, verifique que Versión del documento esté establecido como la versión que desea ejecutar. El sistema incluye las siguientes opciones de versión:
-
Versión predeterminada en tiempo de ejecución: seleccione esta opción si el manual de procedimientos de automatización se actualiza de forma periódica y se asigna una nueva versión predeterminada.
-
Última versión en tiempo de ejecución: seleccione esta opción si el manual de procedimientos de automatización se actualiza de forma periódica y desea ejecutar la versión que se ha actualizado más recientemente.
-
1 (Predeterminado): seleccione esta opción para ejecutar la primera versión del documento, que es la predeterminada.
-
-
Elija Siguiente.
-
En la página Ejecutar documento de automatización, elija Varias cuentas y regiones.
-
En la sección Cuentas y regiones de destino, utilice el campo Accounts and organizational (OUs) para especificar las diferentes Cuentas de AWS o unidades organizativas de AWS donde desea ejecutar la automatización. Si indica varias cuentas u OU, sepárelas con comas.
-
Utilice la lista de Regiones de AWS para elegir una o más regiones en las que desee ejecutar la automatización.
-
Utilice las opciones Multi-Region and account rate control para restringir la automatización a un número limitado de cuentas que se ejecutan en un número limitado de regiones. Estas opciones no restringen el número de recursos de AWS que pueden ejecutar las automatizaciones.
-
En la sección Simultaneidad de ubicación (par de cuenta y región, seleccione una opción para restringir el número de automatizaciones que se pueden ejecutar en varias cuentas y regiones al mismo tiempo. Por ejemplo, si decide ejecutar una automatización en cinco (5) Cuentas de AWS, que se encuentran en cuatro (4) Regiones de AWS, Systems Manager ejecuta las automatizaciones en un total de 20 pares de cuenta-región. Puede utilizar esta opción para especificar un número absoluto, como
2
, para que la automatización solo se ejecute en dos pares de cuenta-región a la vez. También puede especificar un porcentaje de pares cuenta-región que se pueden ejecutar al mismo tiempo. Por ejemplo, con 20 pares de cuenta-región, si especifica un 20 %, la automatización se ejecuta de manera simultánea en un máximo de cinco (5) pares de cuenta-región.-
Elija destinos para ingresar un número absoluto de pares de cuenta-región que pueden ejecutar la automatización simultáneamente.
-
Elija porcentaje para ingresar un porcentaje del número total de pares de cuenta-región que pueden ejecutar la automatización simultáneamente.
-
-
En la sección Umbral de error, elija una opción:
-
Elija errores para ingresar un número absoluto de errores permitidos antes de que Automation deje de enviar la automatización a otros recursos.
-
Elija porcentaje para ingresar un porcentaje de errores permitidos antes de que Automation deje de enviar la automatización a otros recursos.
-
-
En la sección Destinos, seleccione cómo quiere que se indiquen los recursos de AWS donde desea ejecutar la automatización como destino. Estas opciones son obligatorias.
-
Use la lista Parámetro para elegir un parámetro. Los elementos de la lista Parámetro se determinan a partir de los parámetros en el manual de procedimientos de automatización que seleccionó al inicio de este procedimiento. Al elegir un parámetro, se define el tipo de recurso en el que se ejecuta el flujo de trabajo de automatización.
-
Utilice la lista Destinos para elegir cómo indicar los recursos de destino.
Si eligió indicar recursos como destino mediante el uso de valores de parámetro, ingrese el valor del parámetro que eligió en la sección Parámetros de entrada.
Si eligió los recursos de destino con AWS Resource Groups, entonces elija el nombre del grupo de la lista Grupo de recursos.
Si eligió indicar recursos de destino mediante el uso de etiquetas, introduzca la clave de etiqueta y, opcionalmente, un valor de etiqueta en los campos correspondientes. Elija Agregar.
Si desea ejecutar un manual de procedimientos de automatización en todas las instancias de la Cuenta de AWS y la Región de AWS actuales, seleccione Todas las instancias.
-
-
En la sección Parámetros de entrada, especifique las entradas necesarias: De forma opcional, puede elegir un rol de servicio
AWS-SystemsManager-AutomationAdministrationRole
de IAM de la lista AutomationAssumeRole.nota
Es posible que no tenga que elegir algunas de las opciones de la sección Parámetros de entrada. Esto se debe a que ha indicado recursos de destino en varias regiones y cuentas mediante etiquetas o un grupo de recursos. Por ejemplo, si eligió el manual de procedimientos
AWS-RestartEC2Instance
, no necesita especificar ni elegir los ID de instancia en la sección Parámetros de entrada. La automatización localiza las instancias que desea reiniciar a través de las etiquetas que ha especificado. -
(Opcional) Elija una alarma de CloudWatch que desee aplicar a la automatización para fines de monitoreo. Para adjuntar una alarma de CloudWatch a su automatización, la entidad principal de IAM que ejecuta esta última debe tener permiso para la acción
iam:createServiceLinkedRole
. Para obtener más información sobre las alarmas de CloudWatch, consulte Uso de alarmas de Amazon CloudWatch. Tenga en cuenta que si la alarma se activa, la automatización se cancela y se ejecutará cualquier pasoOnCancel
que haya definido. Si usa AWS CloudTrail, verá la llamada a la API en el registro de seguimiento. -
Utilice las opciones de la sección Control de velocidad para restringir el número de recursos de AWS que pueden ejecutar la automatización dentro de cada par de cuenta-región.
En la sección Simultaneidad, elija una opción:
-
Seleccione destinos para introducir un número absoluto de destinos que pueden ejecutar el flujo de trabajo de Automation simultáneamente.
-
Seleccione porcentaje para introducir un porcentaje del destino definido que puede ejecutar el flujo de trabajo de Automation simultáneamente.
-
-
En la sección Umbral de error, elija una opción:
-
Elija errores para introducir un número absoluto de errores permitidos antes de que Automation deje de enviar el flujo de trabajo a otros recursos.
-
Elija porcentaje para introducir un porcentaje de errores permitidos antes de que Automation deje de enviar el flujo de trabajo a otros recursos.
-
-
Elija Ejecutar.
Ejecución de Automatización en varias regiones y cuentas (línea de comandos)
El siguiente procedimiento describe cómo utilizar la AWS CLI (en Linux o Windows) o las AWS Tools for PowerShell para ejecutar la automatización en varias regiones y cuentas desde la cuenta de administración de Automation.
Antes de empezar
Antes de completar el siguiente procedimiento, tenga en cuenta la siguiente información:
-
las OU o los ID de la Cuenta de AWS donde desee ejecutar la automatización
-
las regiones admitidas por Systems Manager en las que desea ejecutar la automatización
-
la clave y el valor de la etiqueta, o el nombre del grupo de recursos donde desea ejecutar la automatización
Para ejecutar una automatización en varias regiones y cuentas
Si aún no lo ha hecho, instale y configure la AWS CLI o las AWS Tools for PowerShell.
Para obtener información, consulte Instalación o actualización de la última versión de la AWS CLI e Instalación de AWS Tools for PowerShell.
-
Utilice el siguiente formato a fin de crear un comando para ejecutar una automatización en varias regiones y cuentas. Reemplace cada
example resource placeholder
con su propia información.A continuación, se presentan varios ejemplos.
Ejemplo 1: este ejemplo reinicia las instancias EC2 en las cuentas
123456789012
y987654321098
, que se encuentran en las regionesus-east-2
yus-west-1
. Las instancias deben estar etiquetadas con el valor de par de claves de etiquetaEnv-PROD
.Ejemplo 2: este ejemplo reinicia las instancias EC2 en las cuentas
123456789012
y987654321098
, que se encuentran en la regióneu-central-1
. Las instancias deben pertenecer al grupo de recursosprod-instances
de AWS.Ejemplo 3: este ejemplo reinicia las instancias EC2 de la unidad organizativa
ou-1a2b3c-4d5e6c
AWS. Las instancias se encuentran en las regionesus-west-1
yus-west-2
. Las instancias deben pertenecer al grupo de recursosWebServices
de AWS.El sistema devuelve información similar a la siguiente.
-
Ejecute el siguiente comando para ver detalles de la automatización. Reemplace
automation execution ID
con su propia información. -
Ejecute el siguiente comando para ver detalles sobre el progreso de la automatización.
nota
También puede monitorear el estado de la automatización en la consola. En la lista Ejecuciones de automatización, elija la automatización que acaba de ejecutar y, a continuación, seleccione la pestaña Execution steps. Esta pestaña muestra el estado de las acciones de la automatización.