

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

# Asignación de objetivos de una automatización
<a name="running-automations-map-targets"></a>

Utilice el parámetro `Targets` para establecer rápidamente cuáles son los recursos a los que se dirige una automatización. Por ejemplo, si desea ejecutar una automatización que reinicie las instancias administradas, en lugar de seleccionar manualmente decenas de ID de instancias en la consola o escribirlos en un comando, puede indicar las instancias como destino mediante la especificación de etiquetas de Amazon Elastic Compute Cloud (Amazon EC2) con el parámetro `Targets`.

Al ejecutar una automatización que utiliza un destino, AWS Systems Manager crea una automatización secundaria para cada destino. Por ejemplo, si indica volúmenes de Amazon Elastic Block Store (Amazon EBS) como destino mediante la especificación de etiquetas, y dichas etiquetas llevan a 100 volúmenes de Amazon EBS, Systems Manager crea 100 automatizaciones secundarias. La automatización principal se completa cuando todas las automatizaciones secundarias alcanzan un estado final.

**nota**  
Todas las automatizaciones secundarias procesan de manera automática cada uno de los `input parameters` que especifique en el tiempo de ejecución (ya sea en la sección **Input parameters** [Parámetros de entrada] de la consola o a través de la opción `parameters` de la línea de comandos).

Puede indicar recursos como destino para una automatización a través de etiquetas, grupos de recursos y valores de parámetros. Además, puede utilizar la opción `TargetMaps` para indicar varios valores de parámetros de destino desde la línea de comandos o un archivo. En la siguiente sección se describe cada una de estas opciones de destino de forma más detallada.

## Especificación de una etiqueta como destino
<a name="target-tags"></a>

Puede especificar una sola etiqueta como destino de una automatización. Muchos recursos de AWS admiten etiquetas, incluidos las instancias de Amazon Elastic Compute Cloud (Amazon EC2) y Amazon Relational Database Service (Amazon RDS), los volúmenes y las instantáneas de Amazon Elastic Block Store (Amazon EBS), los grupos de recursos y los buckets de Amazon Simple Storage Service (Amazon S3), por nombrar algunos. Puede ejecutar rápidamente una automatización en los recursos de AWS especificando una etiqueta como destino. Una etiqueta es un par clave-valor, como Sistema\$1operativo:Linux o Departamento:Finanzas. Si asigna un nombre específico a un recurso, entonces también puede utilizar la palabra "Name" como una clave y el nombre del recurso como el valor.

Cuando se especifica una etiqueta como destino de una automatización, también especifica un parámetro de destino. El parámetro de destino utiliza la opción `TargetParameterName`. Al elegir un parámetro de destino, define el tipo de recurso en el que se ejecuta la automatización. El parámetro de destino que especifique con la etiqueta tiene que ser un parámetro válido definido en el manual de procedimientos. Por ejemplo, si desea indicar docenas de instancias EC2 de destino mediante el uso de etiquetas, elija el parámetro de destino `InstanceId`. Al elegir este parámetro, define las *instancias* como el tipo de recurso para la automatización. Al crear un manual de procedimientos personalizado, debe especificar **Tipo de destino** como `/AWS::EC2::Instance` para asegurarse de que solo se utilicen instancias. De lo contrario, se seleccionarán todos los recursos con la misma etiqueta. Al especificar instancias como destino con una etiqueta, es posible que se incluyan instancias finalizadas.

En la siguiente captura de pantalla, se utiliza el manual de procedimientos `AWS-DetachEBSVolume`. El parámetro de destino lógico es `VolumeId`.

![\[Uso de una etiqueta como destino de Automatización de Systems Manager\]](http://docs.aws.amazon.com/es_es/systems-manager/latest/userguide/images/automation-rate-control-tags-1-new.png)


El manual de procedimientos `AWS-DetachEBSVolume` también incluye una propiedad especial denominada **Target type** (Tipo de destino), que se establece en `/AWS::EC2::Volume`. Esto significa que, si el par de etiqueta-clave `Finance:TestEnv` devuelve diferentes tipos de recursos (por ejemplo, instancias EC2, volúmenes de Amazon EBS, instantáneas de Amazon EBS), solo se usarán los volúmenes de Amazon EBS.

**importante**  
Los nombres de los parámetros de destino distinguen entre mayúsculas y minúsculas. Si ejecuta automatizaciones a través de la AWS Command Line Interface (AWS CLI) o las AWS Tools for Windows PowerShell, debe ingresar el nombre de parámetro de destino tal y como está definido en el manual de procedimientos. Si no lo hace, el sistema devuelve un error `InvalidAutomationExecutionParametersException`. Puede utilizar la operación de la API [DescribeDocument](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeDocument.html) para ver información sobre los parámetros de destino disponibles en un manual de procedimientos específico. A continuación, se muestra un ejemplo de comando de la AWS CLI que proporciona información acerca del documento `AWS-DeleteSnapshot`.  

```
aws ssm describe-document \
    --name AWS-DeleteSnapshot
```

A continuación se muestran algunos ejemplos de comandos de AWS CLI que tienen como destino recursos mediante el uso de una etiqueta.

**Ejemplo 1: especificación de una etiqueta como destino utilizando un par clave-valor para reiniciar instancias de Amazon EC**

En este ejemplo, se reinician todas las instancias de Amazon EC2 que estén etiquetadas con una clave *Department* y un valor *HumanResources*. El parámetro de destino utiliza el parámetro *InstanceId* del manual de procedimientos. En el ejemplo, se utiliza un parámetro adicional para ejecutar Automation mediante el uso de un rol de servicio de Automation (también denominado *rol de asunción*).

```
aws ssm start-automation-execution \
    --document-name AWS-RestartEC2Instance \
    --targets Key=tag:Department,Values=HumanResources \
    --target-parameter-name InstanceId \
    --parameters "AutomationAssumeRole=arn:aws:iam::111122223333:role/AutomationServiceRole"
```

**Ejemplo 2: especificación de una etiqueta como destino utilizando un par clave-valor para eliminar instantáneas de Amazon EBS**

En el siguiente ejemplo, se utiliza el manual de procedimientos `AWS-DeleteSnapshot` para eliminar todas las instantáneas con una clave *Name* y un valor *January2018Backups*. El parámetro de destino usa el parámetro *VolumeId*.

```
aws ssm start-automation-execution \
    --document-name AWS-DeleteSnapshot \
    --targets Key=tag:Name,Values=January2018Backups \
    --target-parameter-name VolumeId
```

## Indicar de destino Grupos de recursos de AWS
<a name="target-resource-groups"></a>

Puede indicar un solo grupo de recursos de AWS como destino de una automatización. Systems Manager crea una automatización secundaria para todos los objetos del grupo de recursos de destino.

Por ejemplo, supongamos que uno de los grupos de recursos se llama PatchedAMIs. Este grupo de recursos incluye una lista de 25 Amazon Machine Images (AMIs) de Windows a las cuales se aplican revisiones de forma rutinaria. Si ejecuta una automatización que utiliza el manual de procedimientos `AWS-CreateManagedWindowsInstance` e indica este grupo de recursos como destino, Systems Manager crea una automatización secundaria para cada una de las 25 AMIs. Esto significa que, al indicar el grupo de recursos PatchedAMIs como destino, la automatización creará 25 instancias a partir de una lista de AMIs a las cuales se han aplicado revisiones. La automatización principal se completa cuando todas las automatizaciones secundarias finalizan el procesamiento o alcanzan un estado final.

El siguiente comando de AWS CLI se aplica al ejemplo del grupo de recursos PatchAMIs. El comando adopta el parámetro *AmiId* para la opción `--target-parameter-name`. El comando no incluye un parámetro adicional que defina el tipo de instancia que se debe crear a partir de cada AMI. El manual de procedimientos `AWS-CreateManagedWindowsInstance` recurre a la opción predeterminada de tipo de instancia t2.medium, por lo que este comando crearía 25 instancias de Amazon EC2 t2.medium para Windows Server.

```
aws ssm start-automation-execution \
    --document-name AWS-CreateManagedWindowsInstance \
    --targets Key=ResourceGroup,Values=PatchedAMIs  \
    --target-parameter-name AmiId
```

En el siguiente ejemplo de consola, se utiliza un grupo de recursos llamado t2-micro-instances.

![\[Indicar un grupo de recursos de AWS como destino mediante una automatización de Systems Manager\]](http://docs.aws.amazon.com/es_es/systems-manager/latest/userguide/images/automation-rate-control-resource-groups-new.png)


## Indicar valores de parámetros de destino
<a name="target-parameter-values"></a>

También puede indicar el valor de un parámetro de destino. Ingresa `ParameterValues` como clave y, a continuación, el valor del recurso específico donde desee que se ejecute la automatización. 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 Automation, 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.

El siguiente ejemplo utiliza el manual de procedimientos `AWS-CreateImage`. El nombre del parámetro de destino es *InstanceId*. La clave utiliza *ParameterValues*. Los valores son dos ID de instancias de Amazon EC2. Este comando crea una automatización para cada instancia, lo cual produce una AMI a partir de cada instancia. 

```
aws ssm start-automation-execution 
    --document-name AWS-CreateImage \
    --target-parameter-name InstanceId \
    --targets Key=ParameterValues,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE
```

**nota**  
`AutomationAssumeRole` no es un parámetro válido. No elija este elemento al ejecutar una automatización que tiene como destino el valor de un parámetro.

### Indicar mapas de valores de parámetros de destino
<a name="target-maps"></a>

La opción `TargetMaps` amplía su capacidad de indicar `ParameterValues` como destino. Puede introducir una matriz de valores de parámetros usando `TargetMaps` en la línea de comandos. Puede especificar un máximo de 50 valores de parámetros en la línea de comandos. Si desea ejecutar comandos que especifiquen más de 50 valores de parámetros, puede introducir los valores en un archivo JSON. A continuación, puede llamar al archivo desde la línea de comandos.

**nota**  
La consola no admite la opción `TargetMaps`.

Utilice el siguiente formato para especificar varios valores de parámetros con la opción `TargetMaps` en un comando. Reemplace cada *example resource placeholder* con su propia información.

```
aws ssm start-automation-execution \
    --document-name runbook name \
    --target-maps “parameter=value, parameter 2=value, parameter 3=value”  “parameter 4=value, parameter 5=value, parameter 6=value”
```

Si desea especificar más de 50 valores de parámetros para la opción `TargetMaps`, especifique los valores en un archivo mediante el siguiente formato JSON. El uso de un archivo JSON también mejora la legibilidad al proporcionar varios valores de parámetros.

```
[

    {“parameter”: "value", “parameter 2”: "value", “parameter 3”: "value"},

    {“parameter 4”: "value", “parameter 5”: "value", "parameter 6": "value"}

]
```

Guarde el archivo con la extensión de archivo .json. Puede llamar al archivo con el siguiente comando. Reemplace cada *example resource placeholder* con su propia información.

```
aws ssm start-automation-execution \
    --document-name runbook name \
    –-parameters input parameters \
    --target-maps path to file/file name.json
```

También puede descargar el archivo de un bucket de Amazon Simple Storage Service (Amazon S3), siempre y cuando tenga permiso para leer datos del bucket. Utilice el siguiente formato de comando. Reemplace cada *example resource placeholder* con su propia información.

```
aws ssm start-automation-execution \
    --document-name runbook name \
    --target-maps http://amzn-s3-demo-bucket.s3.amazonaws.com/file_name.json
```

A continuación se muestra un ejemplo de escenario para ayudarle a comprender la opción `TargetMaps`. En este escenario, un usuario quiere crear instancias de Amazon EC2 de diferentes tipos a partir de diferentes AMIs. Para realizar esta tarea, el usuario crea un manual de procedimientos denominado AMI\$1Testing. Este manual de procedimientos define dos parámetros de entrada: `instanceType` e `imageId`. 

```
{
  "description": "AMI Testing",
  "schemaVersion": "0.3",
  "assumeRole": "{{assumeRole}}",
  "parameters": {
    "assumeRole": {
      "type": "String",
      "description": "Role under which to run the automation",
      "default": ""
    },
    "instanceType": {
      "type": "String",
      "description": "Type of EC2 Instance to launch for this test"
    },
    "imageId": {
      "type": "String",
      "description": "Source AMI id from which to run instance"
    }
  },
  "mainSteps": [
    {
      "name": "runInstances",
      "action": "aws:runInstances",
      "maxAttempts": 1,
      "onFailure": "Abort",
      "inputs": {
        "ImageId": "{{imageId}}",
        "InstanceType": "{{instanceType}}",
        "MinInstanceCount": 1,
        "MaxInstanceCount": 1
      }
    }
  ],
  "outputs": [
    "runInstances.InstanceIds"
  ]
}
```

A continuación, el usuario especifica los siguientes valores de parámetros de destino en un archivo denominado `AMI_instance_types.json`.

```
[
  {
    "instanceType" : ["t2.micro"],     
    "imageId" : ["ami-b70554c8"]     
  },
  {
    "instanceType" : ["t2.small"],     
    "imageId" : ["ami-b70554c8"]     
  },
  {
    "instanceType" : ["t2.medium"],     
    "imageId" : ["ami-cfe4b2b0"]     
  },
  {
    "instanceType" : ["t2.medium"],     
    "imageId" : ["ami-cfe4b2b0"]     
  },
  {
    "instanceType" : ["t2.medium"],     
    "imageId" : ["ami-cfe4b2b0"]     
  }
]
```

El usuario puede ejecutar la automatización y crear las cinco instancias EC2 definidas en `AMI_instance_types.json` mediante la ejecución del siguiente comando.

```
aws ssm start-automation-execution \
    --document-name AMI_Testing \
    --target-parameter-name imageId \
    --target-maps file:///home/TestUser/workspace/runinstances/AMI_instance_types.json
```

## Indicar todas las instancias de Amazon EC2
<a name="target-all-instances"></a>

Puede ejecutar una automatización en todas las instancias de Amazon EC2 en la Cuenta de AWS y Región de AWS actuales si elige **Todas las instancias** en la lista **Destinos**. Por ejemplo, si desea reiniciar todas las instancias administradas de Amazon EC2, su Cuenta de AWS y la Región de AWS actual, puede elegir el manual de procedimientos `AWS-RestartEC2Instance` y, luego, **Todas las instancias** en la lista **Destinos**.

![\[Indicar todas las instancias de Amazon EC2 para un manual de procedimientos\]](http://docs.aws.amazon.com/es_es/systems-manager/latest/userguide/images/automation-rate-control-target-all-instances.png)


Después de seleccionar **All instances** (Todas las instancias), Systems Manager completa el campo **Instance** (Instancia) con un asterisco (\$1) y lo marca como no disponible para los cambios (el campo aparece atenuado). Systems Manager también hace que el campo **InstanceId** del campo **Input parameters** (Parámetros de entrada) deje de estar disponible para los cambios. Hacer que estos campos no estén disponibles para los cambios es un comportamiento esperado si elige indicar como destino todas las instancias.

# Control de las automatizaciones a escala
<a name="running-automations-scale-controls"></a>

Puede controlar la implementación de una automatización en una flota de recursos de AWS mediante la especificación de un valor de simultaneidad y un umbral de error. La simultaneidad y el umbral de error se denominan colectivamente *controles de frecuencia*.

**Simultaneidad**  
Utilice la simultaneidad para especificar la cantidad de recursos que pueden ejecutar una automatización de forma simultánea. La simultaneidad ayuda a limitar el impacto o el tiempo de inactividad en sus recursos cuando se procesa una automatización. Puede especificar un número absoluto de recursos, por ejemplo, 20 o un porcentaje del destino definido, por ejemplo, el 10 %.

El sistema de colas entrega la automatización a un solo recurso y espera hasta que se complete la invocación inicial antes de enviar la automatización a dos o más recursos. El sistema envía la automatización a más recursos de manera exponencial hasta que se alcanza el valor de simultaneidad.

**Umbrales de error**  
Utilice un umbral de error para especificar la cantidad de automatizaciones que pueden presentar error antes de que AWS Systems Manager deje de enviar la automatización a otros recursos. Puede especificar un número absoluto de errores, por ejemplo, 10 o un porcentaje del destino definido, por ejemplo, el 10 %.

Si especifica un número absoluto de 3 errores, por ejemplo, el sistema dejará de ejecutar la automatización cuando se reciba el cuarto error. Si especifica 0, el sistema dejará de ejecutar la automatización en otros destinos una vez que se reciba el primer resultado de error.

Por ejemplo, si envía una automatización a 50 instancias y establece el umbral de error en 10 %, el sistema dejará de enviar el comando a otras instancias cuando se reciba el quinto error. Las invocaciones que ya están ejecutando una automatización cuando se alcanza un umbral de error tienen permiso para completar el procesamiento, pero algunas de estas automatizaciones también podrían presentar un error. Si debe asegurarse de que no se produzcan más errores que el número especificado para el umbral de error, establezca el valor **Concurrency** (Simultaneidad) en 1 de modo que las automatizaciones se procesen de una en una. 