

• El panel de AWS Systems Manager CloudWatch dejará de estar disponible después del 30 de abril de 2026. Los clientes pueden seguir utilizando la consola de Amazon CloudWatch para ver, crear y administrar sus paneles de Amazon CloudWatch, tal y como lo hacen actualmente. Para obtener más información, consulte la [documentación del panel de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

# Programación de automatizaciones con asociaciones de State Manager
<a name="scheduling-automations-state-manager-associations"></a>

Para iniciar una automatización, puede crear una asociación de State Manager a un manual de procedimientos. State Manager es una herramienta de AWS Systems Manager. Mediante la creación de una asociación de State Manager a un manual de procedimientos, puede indicar diferentes tipos de recursos de AWS como destino. Por ejemplo, puede crear asociaciones que implementen un estado deseado en un recurso de AWS, incluidas las siguientes:
+ adjuntar un rol de Systems Manager a las instancias de Amazon Elastic Compute Cloud (Amazon EC2) para transformarlas en *instancias administradas*
+ aplicar las reglas de entrada y salida que desee para un grupo de seguridad
+ crear o eliminar copias de seguridad de Amazon DynamoDB
+ crear o eliminar instantáneas de Amazon Elastic Block Store (Amazon EBS)
+ desactivar los permisos de lectura y escritura en los buckets de Amazon Simple Storage Service (Amazon S3)
+ activar, reiniciar o detener las instancias administradas y las instancias de Amazon Relational Database Service (Amazon RDS)
+ aplicar revisiones a las AMIs de Linux, macOS y Windows

Utilice los siguientes procedimientos para crear una asociación de State Manager que ejecute una automatización a través de la consola de AWS Systems Manager y la AWS Command Line Interface (AWS CLI). Para obtener información general sobre las asociaciones e información sobre la creación de una asociación que utilice un documento de `Command` o un documento de `Policy` de SSM, consulte [Cómo crear asociaciones](state-manager-associations-creating.md).

**Antes de empezar**  
Tenga en cuenta los siguientes detalles importantes antes de ejecutar una automatización con State Manager:
+ Antes de crear una asociación que use un manual de procedimientos, verifique que haya configurado los permisos para Automatización, una herramienta de AWS Systems Manager. Para obtener más información, consulte [Configuración de Automation](automation-setup.md).
+ State Manager Las asociaciones de que usan manuales de procedimientos contribuyen al número máximo de automatizaciones que se ejecutan a la vez en su Cuenta de AWS. Puede tener como máximo 100 automatizaciones en ejecución simultánea. Para obtener más información, consulte [Service Quotas de Systems Manager](https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm) en *Referencia general de Amazon Web Services*.
+ Al ejecutar una automatización, State Manager no registra las operaciones de la API iniciadas por la automatización en AWS CloudTrail.
+ Systems Manager crea de forma automática un rol vinculado a servicios de modo que State Manager tenga permiso para llamar las operaciones de la API de Automatización de Systems Manager. Si lo desea, puede crear el rol vinculado al servicio usted mismo. Para ello, ejecute el siguiente comando en la AWS CLI o Herramientas de AWS para PowerShell.

------
#### [ Linux & macOS ]

  ```
  aws iam create-service-linked-role \
  --aws-service-name ssm.amazonaws.com
  ```

------
#### [ Windows ]

  ```
  aws iam create-service-linked-role ^
  --aws-service-name ssm.amazonaws.com
  ```

------
#### [ PowerShell ]

  ```
  New-IAMServiceLinkedRole `
  -AWSServiceName ssm.amazonaws.com
  ```

------

  Para obtener más información acerca de los roles vinculados a servicios, consulte [Cómo utilizar roles vinculados a servicios de Systems Manager](using-service-linked-roles.md).

## Creación de una asociación que ejecuta una automatización (consola)
<a name="create-automation-association-console"></a>

El siguiente procedimiento describe cómo utilizar la consola de Systems Manager para crear una asociación de State Manager que ejecuta una automatización.

**Para crear una asociación de State Manager que ejecute una automatización**

1. Abra la consola de AWS Systems Manager en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **State Manager** y, a continuación, elija **Create association (Crear asociación)**.

1. Escriba un nombre en el campo **Nombre**. Esto es opcional, pero recomendable.

1. En la lista **Document** (Documento), elija un manual de procedimientos. Utilice la barra de búsqueda para filtrar por manuales de procedimientos **Document type : Equal : Automation** (Tipo de documento : Igual : Automation). Para ver más manuales de procedimientos, utilice los números que se encuentran a la derecha de la barra de búsqueda. 
**nota**  
Puede ver información acerca de un manual de procedimientos al seleccionar su nombre.

1. Seleccione **Simple execution (Ejecución sencilla)** para ejecutar la instancia de Automation en uno o varios destinos mediante la especificación del ID de recurso de dichos destinos. Seleccione **Rate control (Control de frecuencia)** para ejecutar la instancia de Automation en una flota de recursos de AWS mediante la especificación de una opción de indicación de destino, como etiquetas o Grupos de recursos de AWS. También puede controlar la operación de la automatización en sus recursos mediante la especificación de la simultaneidad y los umbrales de error.

   Si ha seleccionado **Rate control** (Control de frecuencia), se muestra la sección **Targets** (Destinos).

1. En la sección **Targets (Destinos)**, seleccione un método para los recursos de indicación de destino.

   1. (Obligatorio) En la lista **Parameter (Parámetro)**, seleccione un parámetro. Los elementos de la lista **Parameter** (Parámetro) se determinan a partir de los parámetros en el manual de procedimientos que seleccionó al inicio de este procedimiento. Al elegir un parámetro, define el tipo de recurso en el que se ejecuta la automatización. 

   1. (Obligatorio) En la lista **Targets (Destinos)**, seleccione un método para indicar los recursos de destino.
      + **Resource Group (Grupo de recursos)**: seleccione el nombre del grupo en la lista **Resource Group (Grupo de recursos)**. Para obtener más información acerca de la indicación de Grupos de recursos de AWS como destino en los manuales de procedimientos, consulte [Indicar de destino Grupos de recursos de AWS](running-automations-map-targets.md#target-resource-groups).
      + **Tags (Etiquetas)**: introduzca la clave de etiqueta y, si lo desea, el valor de etiqueta en los campos proporcionados. Elija **Agregar**. Para obtener más información acerca de cómo indicar las etiquetas como destino en los manuales de procedimientos, consulte [Especificación de una etiqueta como destino](running-automations-map-targets.md#target-tags).
      + **Parameter Values (Valores de parámetros)**: introduzca valores en la sección **Input parameters (Parámetros de entrada)** . Si especifica varios valores, Systems Manager ejecuta una automatización secundaria en cada valor especificado.

        Por ejemplo, supongamos que su manual de procedimientos incluye un parámetro **InstanceID**. Si indica los valores del parámetro **InstanceID** como destino a la hora de ejecutar la automatización, Systems Manager ejecuta una automatización secundaria para el valor de ID de cada instancia especificada. La automatización principal se habrá completado cuando la automatización termine de ejecutar cada instancia especificada o cuando se produzca un error en la automatización. Puede indicar un máximo de 50 valores de parámetros de destino. Para obtener más información acerca de cómo indicar los valores de parámetros como destino en los manuales de procedimientos, consulte [Indicar valores de parámetros de destino](running-automations-map-targets.md#target-parameter-values).

1. En la sección **Parámetros de entrada**, especifique los parámetros de entrada necesarios.

   Si decidió indicar recursos como destino a través de etiquetas o un grupo de recursos, es posible que no se vea obligado a elegir algunas de las opciones de la sección **Input parameters** (Parámetros de entrada). Por ejemplo, si eligió el manual de procedimientos `AWS-RestartEC2Instance` y decidió indicar las instancias como destino a través de etiquetas, entonces no necesita especificar ni elegir los ID de instancias en la sección **Input parameters** (Parámetros de entrada). La automatización localiza las instancias que desea reiniciar a través de las etiquetas que ha especificado. 
**importante**  
Debe especificar un ARN de rol en el campo **AutomationAssumeRole**. State Manager utiliza el rol de asunción para llamar los Servicios de AWS especificados en el manual de procedimientos y ejecutar las asociaciones de Automation en su nombre.

1. En la sección **Specify schedule (Especificar programación)**, seleccione **On Schedule (De forma programada)** si desea ejecutar la asociación periódicamente. Si selecciona esta opción, utilice las opciones proporcionadas para crear la programación mediante expresiones cron o rate. Para obtener más información acerca de las expresiones cron y rate para State Manager, consulte [Expresiones cron y rate para asociaciones](reference-cron-and-rate-expressions.md#reference-cron-and-rate-expressions-association). 
**nota**  
Las expresiones rate son el mecanismo de programación preferido para las asociaciones de State Manager que utilizan manuales de procedimientos. Las expresiones rate ofrecen una mayor flexibilidad para la ejecución de asociaciones en caso de que se alcance el número máximo de automatizaciones en ejecución simultánea. Con una programación de frecuencia, Systems Manager puede volver a intentar completar la automatización poco después de recibir una notificación que indique que las automatizaciones simultáneas han alcanzado el número máximo y se han limitado.

   Seleccione **No schedule (Sin programación)** si desea ejecutar la asociación una sola vez. 

1. (Opcional) En la sección **Control de frecuencia**, elija las opciones **Simultaneidad** y **Umbral de error** para controlar la implementación de la automatización en todos los recursos de AWS.

   1. En la sección **Simultaneidad**, elija una opción: 
      + Elija **targets** (destinos) para ingresar un número absoluto de destinos que pueden ejecutar la automatización simultáneamente.
      + Elija **percentage** (porcentaje) para ingresar un porcentaje del conjunto de destinos que puede ejecutar la automatización simultáneamente.

   1. En la sección **Umbral de error**, elija una opción:
      + Elija **errors** (errores) para ingresar un número absoluto de errores permitidos antes de que Automation deje de enviar la automatización a otros recursos.
      + Elija **percentage** (porcentaje) para ingresar un porcentaje de errores permitidos antes de que Automation deje de enviar la automatización a otros recursos.

   Para obtener más información sobre el uso de controles de frecuencia y destinos con Automation, consulte [Ejecución de operaciones automatizadas a escala](running-automations-scale.md).

1. Elija **Crear asociación**. 
**importante**  
Al crear una asociación, esta se ejecuta de inmediato en los destinos especificados. A continuación, la asociación se ejecuta en función de la expresión cron o rate que haya seleccionado. Si seleccionó **No schedule** (Sin programación), la asociación no volverá a ejecutarse.

## Creación de una asociación que ejecuta una automatización (línea de comandos)
<a name="create-automation-association-cli"></a>

El siguiente procedimiento describe cómo utilizar la AWS CLI (en Linux o Windows Server) o las Herramientas de AWS para PowerShell para crear una asociación de State Manager que ejecute una automatización.

**Antes de empezar**  
Antes de completar el siguiente procedimiento, asegúrese de haber creado un rol de servicio de IAM que contenga los permisos necesarios para ejecutar el manual de procedimientos y haya configurado una relación de confianza para Automatización, una herramienta de AWS Systems Manager. Para obtener más información, consulte [Tarea 1: crear un rol de servicio para Automation](automation-setup-iam.md#create-service-role).

**Para crear una asociación que ejecute una automatización**

1. Si aún no lo ha hecho, instale y configure la AWS CLI o las Herramientas de AWS para PowerShell.

   Para obtener información, consulte [Instalación o actualización de la última versión de la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) e [Instalación de Herramientas de AWS para PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html).

1. Ejecute el siguiente comando para ver una lista de documentos.

------
#### [ Linux & macOS ]

   ```
   aws ssm list-documents
   ```

------
#### [ Windows ]

   ```
   aws ssm list-documents
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMDocumentList
   ```

------

   Anote el nombre del manual de procedimientos que desea utilizar para la asociación.

1. Ejecute el siguiente comando para ver detalles acerca del manual de procedimientos. En el siguiente comando, reemplace *runbook name* con su propia información.

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-document \
   --name runbook name
   ```

   Especifique el nombre de parámetro (por ejemplo, `InstanceId`) que desea utilizar para la opción `--automation-target-parameter-name`. Este parámetro determina el tipo de recurso en el que se ejecuta la automatización.

------
#### [ Windows ]

   ```
   aws ssm describe-document ^
   --name runbook name
   ```

   Especifique el nombre de parámetro (por ejemplo, `InstanceId`) que desea utilizar para la opción `--automation-target-parameter-name`. Este parámetro determina el tipo de recurso en el que se ejecuta la automatización.

------
#### [ PowerShell ]

   ```
   Get-SSMDocumentDescription `
   -Name runbook name
   ```

   Especifique el nombre de parámetro (por ejemplo, `InstanceId`) que desea utilizar para la opción `AutomationTargetParameterName`. Este parámetro determina el tipo de recurso en el que se ejecuta la automatización.

------

1. Cree un comando que ejecute una automatización mediante una asociación de State Manager. Reemplace cada *example resource placeholder* con su propia información.

   *Indicar destino mediante etiquetas*

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association \
   --association-name association name \
   --targets Key=tag:key name,Values=value \
   --name runbook name \
   --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/RunbookAssumeRole \
   --automation-target-parameter-name target parameter \
   --schedule "cron or rate expression"
   ```

**nota**  
Si crea una asociación mediante la AWS CLI, utilice el parámetro `--targets` en las instancias de destino para la asociación. No utilice el parámetro `--instance-id`. El parámetro `--instance-id` es un parámetro heredado. 

------
#### [ Windows ]

   ```
   aws ssm create-association ^
   --association-name association name ^
   --targets Key=tag:key name,Values=value ^
   --name runbook name ^
   --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/RunbookAssumeRole ^
   --automation-target-parameter-name target parameter ^
   --schedule "cron or rate expression"
   ```

**nota**  
Si crea una asociación mediante la AWS CLI, utilice el parámetro `--targets` en las instancias de destino para la asociación. No utilice el parámetro `--instance-id`. El parámetro `--instance-id` es un parámetro heredado. 

------
#### [ PowerShell ]

   ```
   $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target
   $Targets.Key = "tag:key name"
   $Targets.Values = "value"
   
   New-SSMAssociation `
   -AssociationName "association name" `
   -Target $Targets `
   -Name "runbook name" `
   -Parameters @{
   "AutomationAssumeRole"="arn:aws:iam::123456789012:role/RunbookAssumeRole" } `
   -AutomationTargetParameterName "target parameter" `
   -ScheduleExpression "cron or rate expression"
   ```

**nota**  
Si crea una asociación mediante la Herramientas de AWS para PowerShell, utilice el parámetro `Target` en las instancias de destino para la asociación. No utilice el parámetro `InstanceId`. El parámetro `InstanceId` es un parámetro heredado. 

------

   *Indicar destino mediante valores de parámetros*

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association \
   --association-name association name \
   --targets Key=ParameterValues,Values=value,value 2,value 3 \
   --name runbook name \
   --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/RunbookAssumeRole \
   --automation-target-parameter-name target parameter \
   --schedule "cron or rate expression"
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association ^
   --association-name association name ^
   --targets Key=ParameterValues,Values=value,value 2,value 3 ^
   --name runbook name ^
   --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/RunbookAssumeRole ^
   --automation-target-parameter-name target parameter ^
   --schedule "cron or rate expression"
   ```

------
#### [ PowerShell ]

   ```
   $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target
   $Targets.Key = "ParameterValues"
   $Targets.Values = "value","value 2","value 3"
   
   New-SSMAssociation `
   -AssociationName "association name" `
   -Target $Targets `
   -Name "runbook name" `
   -Parameters @{
   "AutomationAssumeRole"="arn:aws:iam::123456789012:role/RunbookAssumeRole"} `
   -AutomationTargetParameterName "target parameter" `
   -ScheduleExpression "cron or rate expression"
   ```

------

   *Indicar destino mediante Grupos de recursos de AWS*

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association \
   --association-name association name \
   --targets Key=ResourceGroup,Values=resource group name \
   --name runbook name \
   --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/RunbookAssumeRole \
   --automation-target-parameter-name target parameter \
   --schedule "cron or rate expression"
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association ^
   --association-name association name ^
   --targets Key=ResourceGroup,Values=resource group name ^
   --name runbook name ^
   --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/RunbookAssumeRole ^
   --automation-target-parameter-name target parameter ^
   --schedule "cron or rate expression"
   ```

------
#### [ PowerShell ]

   ```
   $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target
   $Targets.Key = "ResourceGroup"
   $Targets.Values = "resource group name"
   
   New-SSMAssociation `
   -AssociationName "association name" `
   -Target $Targets `
   -Name "runbook name" `
   -Parameters @{
   "AutomationAssumeRole"="arn:aws:iam::123456789012:role/RunbookAssumeRole"} `
   -AutomationTargetParameterName "target parameter" `
   -ScheduleExpression "cron or rate expression"
   ```

------

   *Indicar varias cuentas y regiones como destino*

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association \
   --association-name association name \
   --targets Key=ResourceGroup,Values=resource group name \
   --name runbook name \
   --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/RunbookAssumeRole \
   --automation-target-parameter-name target parameter \
   --schedule "cron or rate expression" \ 
   --target-locations Accounts=111122223333,444455556666,444455556666,Regions=region,region
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association ^
   --association-name association name ^
   --targets Key=ResourceGroup,Values=resource group name ^
   --name runbook name ^
   --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/RunbookAssumeRole ^
   --automation-target-parameter-name target parameter ^
   --schedule "cron or rate expression" ^ 
   --target-locations Accounts=111122223333,444455556666,444455556666,Regions=region,region
   ```

------
#### [ PowerShell ]

   ```
   $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target
   $Targets.Key = "ResourceGroup"
   $Targets.Values = "resource group name"
   
   New-SSMAssociation `
   -AssociationName "association name" `
   -Target $Targets `
   -Name "runbook name" `
   -Parameters @{
   "AutomationAssumeRole"="arn:aws:iam::123456789012:role/RunbookAssumeRole"} `
   -AutomationTargetParameterName "target parameter" `
   -ScheduleExpression "cron or rate expression" `
   -TargetLocations @{
       "Accounts"=["111122223333,444455556666,444455556666"],
       "Regions"=["region,region"]
   ```

------

   El comando devuelve detalles de la nueva asociación similares a los siguientes.

------
#### [ Linux & macOS ]

   ```
   {
   "AssociationDescription": {
       "ScheduleExpression": "cron(0 7 ? * MON *)",
       "Name": "AWS-StartEC2Instance",
       "Parameters": {
           "AutomationAssumeRole": [
               "arn:aws:iam::123456789012:role/RunbookAssumeRole"
           ]
       },
       "Overview": {
           "Status": "Pending",
           "DetailedStatus": "Creating"
       },
       "AssociationId": "1450b4b7-bea2-4e4b-b340-01234EXAMPLE",
       "DocumentVersion": "$DEFAULT",
       "AutomationTargetParameterName": "InstanceId",
       "LastUpdateAssociationDate": 1564686638.498,
       "Date": 1564686638.498,
       "AssociationVersion": "1",
       "AssociationName": "CLI",
       "Targets": [
           {
               "Values": [
                   "DEV"
               ],
               "Key": "tag:ENV"
           }
       ]
   }
   }
   ```

------
#### [ Windows ]

   ```
   {
   "AssociationDescription": {
       "ScheduleExpression": "cron(0 7 ? * MON *)",
       "Name": "AWS-StartEC2Instance",
       "Parameters": {
           "AutomationAssumeRole": [
               "arn:aws:iam::123456789012:role/RunbookAssumeRole"
           ]
       },
       "Overview": {
           "Status": "Pending",
           "DetailedStatus": "Creating"
       },
       "AssociationId": "1450b4b7-bea2-4e4b-b340-01234EXAMPLE",
       "DocumentVersion": "$DEFAULT",
       "AutomationTargetParameterName": "InstanceId",
       "LastUpdateAssociationDate": 1564686638.498,
       "Date": 1564686638.498,
       "AssociationVersion": "1",
       "AssociationName": "CLI",
       "Targets": [
           {
               "Values": [
                   "DEV"
               ],
               "Key": "tag:ENV"
           }
       ]
   }
   }
   ```

------
#### [ PowerShell ]

   ```
   Name                  : AWS-StartEC2Instance
   InstanceId            : 
   Date                  : 8/1/2019 7:31:38 PM
   Status.Name           : 
   Status.Date           : 
   Status.Message        : 
   Status.AdditionalInfo :
   ```

------

**nota**  
Si utiliza las etiquetas para crear una asociación en una o varias instancias de destino, elimine las etiquetas de una instancia (dicha instancia ya no ejecutará la asociación). La instancia se desvincula del documento de State Manager. 

## Automatizaciones de solución de problemas ejecutadas por asociaciones de State Manager
<a name="troubleshooting-automation-associations"></a>

La Automatización de Systems Manager implementa un límite de 100 automatizaciones simultáneas y 1000 automatizaciones en cola por cuenta, por región. Si una asociación de State Manager que usa un manual de procedimientos tiene el estado **Failed** (Error) y el estado detallado **AutomationExecutionLimitExceeded**, es posible que su automatización haya alcanzado el límite. Como resultado, Systems Manager limita las automatizaciones. Para resolver este problema, siga estos pasos:
+ Utilice una expresión rate o cron diferente para la asociación. Por ejemplo, si la asociación está programada para ejecutarse cada 30 minutos, cambie la expresión para que se ejecute cada hora o cada dos horas.
+ Elimine las automatizaciones existentes con el estado **Pending** (Pendiente). Si elimina estas automatizaciones, se vaciará la cola actual.