

• 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). 

# Ejecución de operaciones automatizadas a escala
<a name="running-automations-scale"></a>

Con Automatización de AWS Systems Manager, puede ejecutar automatizaciones en una flota de recursos de AWS mediante el uso de *destinos*. Además, puede controlar la implementación de la automatización en su flota al especificar un valor de simultaneidad y un umbral de error. Las características de umbral de simultaneidad y error se denominan colectivamente *controles de frecuencia*. El valor de simultaneidad determina la cantidad de recursos que pueden ejecutar la automatización de forma simultánea. Automation también proporciona un modo de simultaneidad adaptativa que puede elegir. La simultaneidad adaptativa escala automáticamente su cuota de automatización desde 100 automatizaciones que se ejecutan simultáneamente hasta 500. El umbral de error determina la cantidad de automatizaciones que pueden fallar antes de que Systems Manager deje de enviar la automatización a otros recursos.

Para obtener más información acerca de la simultaneidad y los umbrales de error, consulte [Control de las automatizaciones a escala](running-automations-scale-controls.md). Para obtener más información sobre los destinos, consulte [Asignación de objetivos de una automatización](running-automations-map-targets.md).

Los siguientes procedimientos muestran cómo activar una simultaneidad adaptativa y cómo ejecutar una automatización con controles de frecuencia y destinos a través de la consola de Systems Manager y la AWS Command Line Interface (AWS CLI).

## Ejecución de una automatización con controles de frecuencia y destinos (consola)
<a name="scale-console"></a>

El siguiente procedimiento describe cómo utilizar la consola de Systems Manager para ejecutar una automatización con controles de frecuencia y destinos.

**Para ejecutar una automatización con controles de frecuencia y destinos**

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 **Automatización** y, después, seleccione **Ejecutar automatización**.

1. 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.

1. 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.

1. Elija **Siguiente**.

1. En la sección **Modo de ejecución**, seleccione **Control de velocidad**. Debe utilizar este modo o **Varias cuentas y regiones** si desea utilizar controles de frecuencia y destinos.

1. 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.

   1. 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. 

   1. Utilice la lista **Destinos** para elegir cómo indicar los recursos de destino.

      1. 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**.

      1. Si eligió los recursos de destino con Grupos de recursos de AWS, entonces elija el nombre del grupo de la lista **Grupo de recursos**.

      1. 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**.

      1. 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**.

1. En la sección **Parámetros de entrada**, especifique las entradas necesarias: De forma opcional, puede elegir un rol de servicio de IAM de la lista **AutomationAssumeRole**.
**nota**  
Es posible que no tenga que elegir algunas de las opciones de la sección **Input parameters** (Parámetros de entrada). Esto se debe a que ha indicado recursos como destino a través de 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 ejecución de Automation localiza las instancias que se deben reiniciar a través de las etiquetas o los grupos de recursos que haya especificado.

1. 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.

1. 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.

1. (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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html). Tenga en cuenta que si la alarma se activa, la automatización se detiene. Si usa AWS CloudTrail, verá la llamada a la API en el registro de seguimiento.

1. Elija **Ejecutar**. 

Para ver las automatizaciones que inició la automatización de control de frecuencia, en el panel de navegación, seleccione Automation y, a continuación, elija **Mostrar automatizaciones secundarias**.

Una vez completada la ejecución de una automatización, puede volver a ejecutarla con los mismos parámetros o con parámetros modificados. Para obtener más información, consulte [Volver a ejecutar las ejecuciones de automatización](automation-rerun-executions.md).

## Ejecución de una automatización con controles de frecuencia y destinos (línea de comandos)
<a name="scale-cli"></a>

El siguiente procedimiento describe cómo utilizar la AWS CLI (en Linux o Windows) o las Herramientas de AWS para PowerShell para ejecutar una automatización con controles de frecuencia y destinos.

**Para ejecutar una automatización con controles de frecuencia y destinos**

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 usar.

1. Ejecute el siguiente comando para ver detalles acerca del manual de procedimientos. Reemplace {{nombre del runbook}} con el nombre del manual de procedimientos cuyos detalles desee ver. Además, indique el nombre de parámetro (por ejemplo, `InstanceId`) que desee utilizar para la opción `--target-parameter-name`. Este parámetro determina el tipo de recurso en el que se ejecuta la automatización.

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

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

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

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

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

   ```
   Get-SSMDocumentDescription `
       -Name {{runbook name}}
   ```

------

1. Cree un comando que utilice las opciones de control de frecuencia y destinos que desee ejecutar. Reemplace cada {{example resource placeholder}} con su propia información.

   *Indicar destino mediante etiquetas*

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

   ```
   aws ssm start-automation-execution \
       --document-name {{runbook name}} \
       --targets Key=tag:{{key name}},Values={{value}} \
       --target-parameter-name {{parameter name}} \
       --parameters "{{input parameter name}}={{input parameter value}},{{input parameter 2 name}}={{input parameter 2 value}}" \
       --max-concurrency {{10}} \
       --max-errors {{25%}}
   ```

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

   ```
   aws ssm start-automation-execution ^
       --document-name {{runbook name}} ^
       --targets Key=tag:{{key name}},Values={{value}} ^
       --target-parameter-name {{parameter name}} ^
       --parameters "{{input parameter name}}={{input parameter value}},{{input parameter 2 name}}={{input parameter 2 value}}" ^
       --max-concurrency {{10}} ^
       --max-errors {{25%}}
   ```

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

   ```
   $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target
   $Targets.Key = "tag:{{key name}}"
   $Targets.Values = "{{value}}"
   
   Start-SSMAutomationExecution `
       DocumentName "{{runbook name}}" `
       -Targets $Targets `
       -TargetParameterName "{{parameter name}}" `
       -Parameter @{"{{input parameter name}}"="{{input parameter value}}";"{{input parameter 2 name}}"="{{input parameter 2 value}}"} `
       -MaxConcurrency "{{10}}" `
       -MaxError "{{25%}}"
   ```

------

   *Indicar destino mediante valores de parámetros*

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

   ```
   aws ssm start-automation-execution \
       --document-name {{runbook name}} \
       --targets Key=ParameterValues,Values={{value}},{{value 2}},{{value 3}} \
       --target-parameter-name {{parameter name}} \
       --parameters "{{input parameter name}}={{input parameter value}}" \
       --max-concurrency {{10}} \
       --max-errors {{25%}}
   ```

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

   ```
   aws ssm start-automation-execution ^
       --document-name {{runbook name}} ^
       --targets Key=ParameterValues,Values={{value}},{{value 2}},{{value 3}} ^
       --target-parameter-name {{parameter name}} ^
       --parameters "{{input parameter name}}={{input parameter value}}" ^
       --max-concurrency {{10}} ^
       --max-errors {{25%}}
   ```

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

   ```
   $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target
   $Targets.Key = "ParameterValues"
   $Targets.Values = "{{value}}","{{value 2}}","{{value 3}}"
   
   Start-SSMAutomationExecution `
       -DocumentName "{{runbook name}}" `
       -Targets $Targets `
       -TargetParameterName "{{parameter name}}" `
       -Parameter @{"{{input parameter name}}"="{{input parameter value}}"} `
       -MaxConcurrency "{{10}}" `
       -MaxError "{{25%}}"
   ```

------

   *Indicar destino mediante Grupos de recursos de AWS*

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

   ```
   aws ssm start-automation-execution \
       --document-name {{runbook name}} \
       --targets Key=ResourceGroup,Values={{Resource group nname}} \
       --target-parameter-name {{parameter name}} \
       --parameters "{{input parameter name}}={{input parameter value}}" \
       --max-concurrency {{10}} \
       --max-errors {{25%}}
   ```

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

   ```
   aws ssm start-automation-execution ^
       --document-name {{runbook name}} ^
       --targets Key=ResourceGroup,Values={{Resource group name}} ^
       --target-parameter-name {{parameter name}} ^
       --parameters "{{input parameter name}}={{input parameter value}}" ^
       --max-concurrency {{10}} ^
       --max-errors {{25%}}
   ```

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

   ```
   $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target
   $Targets.Key = "ResourceGroup"
   $Targets.Values = "{{Resource group name}}"
   
   Start-SSMAutomationExecution `
       -DocumentName "{{runbook name}}" `
       -Targets $Targets `
       -TargetParameterName "{{parameter name}}" `
       -Parameter @{"{{input parameter name}}"="{{input parameter value}}"} `
       -MaxConcurrency "{{10}}" `
       -MaxError "{{25%}}"
   ```

------

   *Indicar todas las instancias de Amazon EC2 en la Cuenta de AWS y la Región de AWS actuales*

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

   ```
   aws ssm start-automation-execution \
       --document-name {{runbook name}} \
       --targets "Key=AWS::EC2::Instance,Values=*"  \
       --target-parameter-name instanceId \
       --parameters "{{input parameter name}}={{input parameter value}}" \
       --max-concurrency {{10}} \
       --max-errors {{25%}}
   ```

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

   ```
   aws ssm start-automation-execution ^
       --document-name {{runbook name}} ^
       --targets Key=AWS::EC2::Instance,Values=* ^
       --target-parameter-name instanceId ^
       --parameters "{{input parameter name}}={{input parameter value}}" ^
       --max-concurrency {{10}} ^
       --max-errors {{25%}}
   ```

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

   ```
   $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target
   $Targets.Key = "AWS::EC2::Instance"
   $Targets.Values = "*"
   
   Start-SSMAutomationExecution `
       -DocumentName "{{runbook name}}" `
       -Targets $Targets `
       -TargetParameterName "instanceId" `
       -Parameter @{"{{input parameter name}}"="{{input parameter value}}"} `
       -MaxConcurrency "{{10}}" `
       -MaxError "{{25%}}"
   ```

------

   El comando devuelve un ID de ejecución. Copie este ID en el portapapeles. Puede utilizar este ID para ver el estado de la automatización.

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

   ```
   {
       "AutomationExecutionId": "a4a3c0e9-7efd-462a-8594-01234EXAMPLE"
   }
   ```

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

   ```
   {
       "AutomationExecutionId": "a4a3c0e9-7efd-462a-8594-01234EXAMPLE"
   }
   ```

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

   ```
   a4a3c0e9-7efd-462a-8594-01234EXAMPLE
   ```

------

1. Ejecute el siguiente comando para ver la automatización. Reemplace cada {{automation execution ID}} con su propia información.

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

   ```
   aws ssm describe-automation-executions \
       --filter Key=ExecutionId,Values={{automation execution ID}}
   ```

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

   ```
   aws ssm describe-automation-executions ^
       --filter Key=ExecutionId,Values={{automation execution ID}}
   ```

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

   ```
   Get-SSMAutomationExecutionList | `
       Where {$_.AutomationExecutionId -eq "{{automation execution ID}}"}
   ```

------

1. Ejecute el siguiente comando para ver detalles acerca del progreso de la automatización. Reemplace cada {{automation execution ID}} con su propia información.

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

   ```
   aws ssm get-automation-execution \
       --automation-execution-id {{automation execution ID}}
   ```

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

   ```
   aws ssm get-automation-execution ^
       --automation-execution-id {{automation execution ID}}
   ```

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

   ```
   Get-SSMAutomationExecution `
       -AutomationExecutionId {{automation execution ID}}
   ```

------

   El sistema devuelve información similar a la siguiente.

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

   ```
   {
       "AutomationExecution": {
           "StepExecutionsTruncated": false,
           "AutomationExecutionStatus": "Success",
           "MaxConcurrency": "1",
           "Parameters": {},
           "MaxErrors": "1",
           "Outputs": {},
           "DocumentName": "AWS-StopEC2Instance",
           "AutomationExecutionId": "a4a3c0e9-7efd-462a-8594-01234EXAMPLE",
           "ResolvedTargets": {
               "ParameterValues": [
                   "i-02573cafcfEXAMPLE"
               ],
               "Truncated": false
           },
           "ExecutionEndTime": 1564681619.915,
           "Targets": [
               {
                   "Values": [
                       "DEV"
                   ],
                   "Key": "tag:ENV"
               }
           ],
           "DocumentVersion": "1",
           "ExecutionStartTime": 1564681576.09,
           "ExecutedBy": "arn:aws:sts::123456789012:assumed-role/Administrator/Admin",
           "StepExecutions": [
               {
                   "Inputs": {
                       "InstanceId": "i-02573cafcfEXAMPLE"
                   },
                   "Outputs": {},
                   "StepName": "i-02573cafcfEXAMPLE",
                   "ExecutionEndTime": 1564681619.093,
                   "StepExecutionId": "86c7b811-3896-4b78-b897-01234EXAMPLE",
                   "ExecutionStartTime": 1564681576.836,
                   "Action": "aws:executeAutomation",
                   "StepStatus": "Success"
               }
           ],
           "TargetParameterName": "InstanceId",
           "Mode": "Auto"
       }
   }
   ```

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

   ```
   {
       "AutomationExecution": {
           "StepExecutionsTruncated": false,
           "AutomationExecutionStatus": "Success",
           "MaxConcurrency": "1",
           "Parameters": {},
           "MaxErrors": "1",
           "Outputs": {},
           "DocumentName": "AWS-StopEC2Instance",
           "AutomationExecutionId": "a4a3c0e9-7efd-462a-8594-01234EXAMPLE",
           "ResolvedTargets": {
               "ParameterValues": [
                   "i-02573cafcfEXAMPLE"
               ],
               "Truncated": false
           },
           "ExecutionEndTime": 1564681619.915,
           "Targets": [
               {
                   "Values": [
                       "DEV"
                   ],
                   "Key": "tag:ENV"
               }
           ],
           "DocumentVersion": "1",
           "ExecutionStartTime": 1564681576.09,
           "ExecutedBy": "arn:aws:sts::123456789012:assumed-role/Administrator/Admin",
           "StepExecutions": [
               {
                   "Inputs": {
                       "InstanceId": "i-02573cafcfEXAMPLE"
                   },
                   "Outputs": {},
                   "StepName": "i-02573cafcfEXAMPLE",
                   "ExecutionEndTime": 1564681619.093,
                   "StepExecutionId": "86c7b811-3896-4b78-b897-01234EXAMPLE",
                   "ExecutionStartTime": 1564681576.836,
                   "Action": "aws:executeAutomation",
                   "StepStatus": "Success"
               }
           ],
           "TargetParameterName": "InstanceId",
           "Mode": "Auto"
       }
   }
   ```

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

   ```
   AutomationExecutionId       : a4a3c0e9-7efd-462a-8594-01234EXAMPLE
   AutomationExecutionStatus   : Success
   CurrentAction               : 
   CurrentStepName             : 
   DocumentName                : AWS-StopEC2Instance
   DocumentVersion             : 1
   ExecutedBy                  : arn:aws:sts::123456789012:assumed-role/Administrator/Admin
   ExecutionEndTime            : 8/1/2019 5:46:59 PM
   ExecutionStartTime          : 8/1/2019 5:46:16 PM
   FailureMessage              : 
   MaxConcurrency              : 1
   MaxErrors                   : 1
   Mode                        : Auto
   Outputs                     : {}
   Parameters                  : {}
   ParentAutomationExecutionId : 
   ProgressCounters            : 
   ResolvedTargets             : Amazon.SimpleSystemsManagement.Model.ResolvedTargets
   StepExecutions              : {i-02573cafcfEXAMPLE}
   StepExecutionsTruncated     : False
   Target                      : 
   TargetLocations             : {}
   TargetMaps                  : {}
   TargetParameterName         : InstanceId
   Targets                     : {tag:Name}
   ```

------
**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.