

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

# Cómo monitorear los cambios de estado de Systems Manager mediante las notificaciones de Amazon SNS
<a name="monitoring-sns-notifications"></a>

Puede configurar Amazon Simple Notification Service (Amazon SNS) para que envíe notificaciones sobre el estado de los comandos que envía a través de Run Command o Maintenance Windows, que son herramientas de AWS Systems Manager. Amazon SNS coordina y administra el envío y la entrega de las notificaciones a los clientes o puntos de enlace que estén suscritos a temas de Amazon SNS. Puede recibir una notificación siempre que un comando cambie a un estado nuevo o cambie a un estado específico como, por ejemplo, *Failed (Error)* o *Timed Out (Tiempo de espera agotado)*. En los casos en que un comando se envía a varios nodos, puede recibir una notificación por cada copia del comando enviada a un nodo concreto. Cada copia se denomina una *invocación*.

Amazon SNS puede entregar las notificaciones como HTTP o HTTPS POST, por email (SMTP, con texto sin formato o con formato JSON) o como mensaje publicado en una cola de Amazon Simple Queue Service (Amazon SQS). Para obtener más información, consulte [¿Qué es Amazon SNS?](https://docs.aws.amazon.com/sns/latest/dg/) en la *Guía para desarrolladores de Amazon Simple Notification Service*. Para ver ejemplos de la estructura de los datos JSON incluidos en la notificación de Amazon SNS que proporciona Run Command y el Maintenance Windows, consulte [Ejemplo de notificaciones de Amazon SNS para AWS Systems Manager](monitoring-sns-examples.md).

**importante**  
Tenga en cuenta la siguiente información importante.  
Los temas FIFO de Amazon Simple Notification Service no son compatibles.
No se puede usar Amazon Q Developer en aplicaciones de chat para monitorear Systems Manager con Amazon SNS. Si quiere usar Amazon Q Developer en aplicaciones de chat para monitorear Systems Manager, debe usarlo con Amazon EventBridge. Para obtener información acerca de cómo utilizar EventBridge para supervisar los eventos de Systems Manager, consulte [Cómo monitorear eventos de Systems Manager con Amazon EventBridge](monitoring-eventbridge-events.md). Para obtener información sobre Amazon EventBridge y Amazon Q Developer en aplicaciones de chat, consulte [Tutorial: Creating an EventBridge rule that sends notifications to Amazon Q Developer in chat applications](https://docs.aws.amazon.com/chatbot/latest/adminguide/create-eventbridge-rule.html) en *Amazon Q Developer in chat applications Administrator Guide*.

## Cómo configurar notificaciones de Amazon SNS para AWS Systems Manager
<a name="monitoring-sns-configure"></a>

Run Command y las tareas de Maintenance Windows registradas en un periodo de mantenimiento pueden enviar notificaciones de Amazon SNS para tareas de comandos que introducen los siguientes estados: 
+ En curso
+ Success
+ Failed
+ Tiempo de espera agotado
+ Cancelado

Para obtener información sobre las condiciones que causan que un comando pase a tener uno de estos estados, consulte [Descripción de los estados del comando](monitor-commands.md).

**nota**  
Los comandos que se envían cuando se utiliza Run Command también notifican los estados Canceling (Cancelando) y Pending (Pendiente). Estos estados no se capturan en las notificaciones de Amazon SNS.

### Notificaciones de Amazon SNS de resumen de comandos
<a name="monitoring-sns-configure-summary"></a>

Si configura Run Command o una tarea de Run Command en su periodo de mantenimiento para notificaciones de Amazon SNS, Amazon SNS envía mensajes de resumen que contienen la siguiente información.


****  

| Campo | Tipo | Descripción | 
| --- | --- | --- | 
|  eventTime  |  Cadena  |  La hora a la que se inició el evento. La marca temporal es importante porque Amazon SNS no garantiza el orden de entrega de los mensajes. Ejemplo: 2016-04-26T13:15:30Z   | 
|  documentName  |  Cadena  |  El nombre del documento de SSM utilizado para ejecutar este comando.  | 
|  commandId  |  Cadena  |  El ID generado por Run Command después de haber enviado el comando.  | 
|  expiresAfter  |  Date  |  Si se llega a esta hora y el comando aún no ha empezado a ejecutarse, no se ejecutará.   | 
|  outputS3BucketName  |  Cadena  |  El bucket de Amazon Simple Storage Service (Amazon S3) donde deben almacenarse las respuestas a la ejecución de comandos.  | 
|  outputS3KeyPrefix  |  Cadena  |  La ruta del directorio de Amazon S3 dentro del bucket donde deben guardarse las respuestas a la ejecución de comandos.  | 
|  requestedDateTime  |  Cadena  |  La hora y la fecha en la que se envió la solicitud a este nodo específico.  | 
|  instanceIds  |  StringList  |  Los nodos a los que se dirige el comando.  Los ID de instancia solo se incluyen en el mensaje de resumen si la tarea Run Command dirigió a sus destinos los ID de instancia directamente. Los ID de instancia no se incluyen en el mensaje de resumen si la tarea Run Command se emitió con destino basado en etiquetas.   | 
|  status  |  Cadena  |  El estado del comando.  | 

### Notificaciones de Amazon SNS basadas en invocaciones
<a name="monitoring-sns-configure-invocation"></a>

Si envía un comando a varios nodos, Amazon SNS puede enviar mensajes sobre cada copia o invocación del comando. Los mensajes incluyen la siguiente información.


****  

| Campo | Tipo | Descripción | 
| --- | --- | --- | 
|  eventTime  |  Cadena  |  La hora a la que se inició el evento. La marca temporal es importante porque Amazon SNS no garantiza el orden de entrega de los mensajes. Ejemplo: 2016-04-26T13:15:30Z   | 
|  documentName  |  Cadena  |  El nombre del documento de Systems Manager (documento SSM) utilizado para ejecutar este comando.  | 
|  requestedDateTime  |  Cadena  |  La hora y la fecha en la que se envió la solicitud a este nodo específico.  | 
|  commandId  |  Cadena  |  El ID generado por Run Command después de haber enviado el comando.  | 
|  instanceId  |  Cadena  |  La instancia que el comando tiene como destino.  | 
|  status  |  Cadena  |  Estado del comando para esta invocación.  | 

Para configurar las notificaciones de Amazon SNS cuando un comando cambie el estado, realice las siguientes tareas.

**nota**  
Si no va a configurar las notificaciones de Amazon SNS para su periodo de mantenimiento, puede omitir la tarea 5 que se encuentra más adelante en este tema.

**Topics**
+ [Notificaciones de Amazon SNS de resumen de comandos](#monitoring-sns-configure-summary)
+ [Notificaciones de Amazon SNS basadas en invocaciones](#monitoring-sns-configure-invocation)
+ [Tarea 1: crear y suscribirse a un tema de Amazon SNS](#monitoring-configure-sns)
+ [Tarea 2: crear una política de IAM para notificaciones de Amazon SNS](#monitoring-iam-policy)
+ [Tarea 3: crear un rol de IAM para notificaciones de Amazon SNS](#monitoring-iam-notifications)
+ [Tarea 4: configurar el acceso del usuario](#monitoring-sns-passpolicy)
+ [Tarea 5: asociar la política iam:PassRole al rol de periodo de mantenimiento](#monitoring-sns-passpolicy-mw)

### Tarea 1: crear y suscribirse a un tema de Amazon SNS
<a name="monitoring-configure-sns"></a>

Un *Tema* de Amazon SNS es un canal de comunicación queRun Command y las tareas de Run Command registradas en un periodo de mantenimiento utilizan para enviar notificaciones sobre el estado de sus comandos. Amazon SNS admite diferentes protocolos de comunicación, incluidos HTTP/S, email y otros Servicios de AWS, como Amazon Simple Queue Service (Amazon SQS). Para comenzar, le recomendamos que empiece con el protocolo de email. Para obtener más información acerca de la creación de un tema, consulte [Creating an Amazon SNS topic](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) (Creación de un tema de Amazon SNS) en la *Guía para desarrolladores de Amazon Simple Notification Service*.

**nota**  
Después de crear el tema, copie o anote el valor de **Topic ARN**. Tendrá que especificar este ARN al enviar un comando que está configurado para devolver notificaciones de estado.

Después de crear el tema, suscríbase a él especificando un **punto de enlace**. Si eligió el protocolo de correo electrónico el punto de enlace es la dirección de correo electrónico donde desea recibir las notificaciones. Para obtener más información acerca de cómo se suscribe a un tema, consulte [Subscribing to an Amazon SNS topic](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html) (Suscripción a un tema de Amazon SNS) en la *Guía para desarrolladores de Amazon Simple Notification Service*.

Amazon SNS envía un email de confirmación desde *AWSNotifications* a la dirección de email que especifique. Abra el email y elija el enlace **Confirm subscription (Confirmar la suscripción)**.

Recibirá un mensaje de confirmación de AWS. Amazon SNS estará ahora configurado para recibir notificaciones y enviar la notificación como un email a la dirección especificada.

### Tarea 2: crear una política de IAM para notificaciones de Amazon SNS
<a name="monitoring-iam-policy"></a>

Utilice el siguiente procedimiento para crear una política de AWS Identity and Access Management (IAM) personalizada que proporcione permisos para iniciar notificaciones de Amazon SNS.

**Cómo crear una política personalizada de IAM para notificaciones de Amazon SNS**

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación, seleccione **Policies** y, a continuación, seleccione **Create Policy**. (Si aparece el botón **Get Started** [Empezar], elíjalo y, a continuación, elija **Create Policy** [Crear política]).

1. Seleccione la pestaña **JSON**.

1. Sustituya el contenido predeterminado por uno de los siguientes, en función de si el tema de Amazon SNS utiliza cifrado de AWS KMS:

------
#### [ SNS topic not encrypted ]

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sns:Publish"
               ],
               "Resource": "arn:aws:sns:us-east-1:111122223333:sns-topic-name"
           }
       ]
   }
   ```

------

   *region* representa el identificador de Región de AWS compatible con AWS Systems Manager, como `us-east-2` para la región EE. UU. Este (Ohio). Para ver una lista de los valores de *regiones* admitidos, consulte la columna **Región** en [Puntos de conexión de servicio de Systems Manager](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region) en la *Referencia general de Amazon Web Services*.

   **account-id** representa el identificador de 12 dígitos de su Cuenta de AWS en el formato `123456789012`. 

   *sns-topic-name* representa el nombre del tema de Amazon SNS que desea utilizar para la publicación de notificaciones.

------
#### [ SNS topic encrypted ]

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sns:Publish"
               ],
               "Resource": "arn:aws:sns:us-east-1:111122223333:sns-topic-name"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/kms-key-id"
           }
       ]
   }
   ```

------

   *region* representa el identificador de Región de AWS compatible con AWS Systems Manager, como `us-east-2` para la región EE. UU. Este (Ohio). Para ver una lista de los valores de *regiones* admitidos, consulte la columna **Región** en [Puntos de conexión de servicio de Systems Manager](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region) en la *Referencia general de Amazon Web Services*.

   **account-id** representa el identificador de 12 dígitos de su Cuenta de AWS en el formato `123456789012`. 

   *sns-topic-name* representa el nombre del tema de Amazon SNS que desea utilizar para la publicación de notificaciones.

   *kms-key-id* representa el ID de la clave de KMS de cifrado simétrico en AWS KMS que se utilizará para cifrar y descifrar el tema, en el formato `1234abcd-12ab-34cd-56ef-12345EXAMPLE`.

**nota**  
El uso del cifrado de AWS KMS conlleva un costo. Para obtener más información, consulte [Administración de las claves de cifrado y los costos de Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html) en la *Guía para desarrolladores de AWS Key Management Service*.

------

1. Elija **Siguiente: etiquetas**.

1. (Opcional) Agregue uno o varios pares de valor etiqueta-clave para organizar, realizar un seguimiento o controlar el acceso a esta política. 

1. Elija **Siguiente: Revisar**.

1. En la página **Review Policy (Revisar política)**, en **Name (Nombre)**, escriba un nombre para la política insertada. Por ejemplo: **my-sns-publish-permissions**.

1. (Opcional) En **Descripción**, escriba una descripción para la política.

1. Elija **Crear política**.

### Tarea 3: crear un rol de IAM para notificaciones de Amazon SNS
<a name="monitoring-iam-notifications"></a>

Utilice el siguiente procedimiento para crear un rol de IAM para las notificaciones de Amazon SNS. Systems Manager utiliza este rol de servicio para dar comienzo a las notificaciones de Amazon SNS. En todos los procedimientos siguientes, este rol se denomina rol de IAM de Amazon SNS.

**Cómo crear un rol de servicio de IAM para las notificaciones de Amazon SNS**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación de la consola de IAM, seleccione **Roles** y, a continuación, elija **Crear rol**.

1. Elija el tipo de rol **Servicio de AWS** y, a continuación, seleccione Systems Manager.

1. Elija el caso de uso de Systems Manager. A continuación, elija **Siguiente**.

1. En la página **Attach permissions policies (Adjuntar políticas de permisos)**, seleccione la casilla situada a la izquierda del nombre de la política personalizada creada en la tarea 2. Por ejemplo: **my-sns-publish-permissions**.

1. (Opcional) Configure un [límite de permisos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html). Se trata de una característica avanzada que está disponible para los roles de servicio, pero no para los roles vinculados a servicios. 

   Amplíe la sección **Límite de permisos** y seleccione **Usar un límite de permisos para controlar los permisos máximos de la función**. IAM incluye una lista de las políticas administradas por AWS y de las políticas administradas por el cliente de cada cuenta. Seleccione la política que desea utilizar para el límite de permisos o elija **Crear política** para abrir una pestaña nueva del navegador y crear una política nueva desde cero. Para obtener más información, consulte [Creación de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) en la *Guía del usuario de IAM*. Una vez creada la política, cierre la pestaña y vuelva a la pestaña original para seleccionar la política que va a utilizar para el límite de permisos.

1. Elija **Siguiente**.

1. De ser posible, escriba un nombre o sufijo de nombre para el rol, que pueda ayudarle a identificar su finalidad. Los nombres de rol deben ser únicos en su Cuenta de AWS. No distinguen entre mayúsculas y minúsculas. Por ejemplo, no puede crear funciones denominado tanto **PRODROLE** como **prodrole**. Dado que varias entidades pueden hacer referencia al rol, no puede editar el nombre del rol después de crearlo.

1. (Opcional) En **Descripción**, ingrese una descripción para el nuevo rol.

1. Seleccione **Editar** en las secciones **Paso 1: seleccionar entidades de confianza** o **Paso 2: seleccionar permisos** para editar los casos de uso y los permisos del rol. 

1. (Opcional) Asocie etiquetas como pares de clave-valor para agregar metadatos al rol. Para obtener más información sobre el uso de etiquetas en IAM, consulte [Etiquetado de recursos de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) en la *Guía de usuario de IAM* .

1. Revise el rol y, a continuación, seleccione **Crear rol**.

1. Elija el nombre del rol y copie o anote el valor de **Role ARN** (ARN del rol). Este nombre de recurso de Amazon (ARN) para el rol se utiliza cuando envía un comando que está configurado para devolver notificaciones de Amazon SNS.

1. Mantenga la página **Resumen** abierta.

### Tarea 4: configurar el acceso del usuario
<a name="monitoring-sns-passpolicy"></a>

Si a una entidad de IAM (usuario, rol o grupo) se le asignan permisos de administrador, el usuario o el rol tiene acceso a Run Command y Maintenance Windows, que son herramientas de AWS Systems Manager.

Para las entidades sin permisos de administrador, el administrador debe conceder los siguientes permisos a la entidad de IAM:
+ La política administrada `AmazonSSMFullAccess`, o una política que proporcione permisos comparables.
+ Permisos `iam:PassRole` para el rol creado en [Tarea 3: crear un rol de IAM para notificaciones de Amazon SNS](#monitoring-iam-notifications). Por ejemplo:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/sns-role-name",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "ssm.amazonaws.com"
                }
            }
        }
    ]
}
```

------

Para dar acceso, agregue permisos a los usuarios, grupos o roles:
+ Usuarios y grupos en AWS IAM Identity Center:

  Cree un conjunto de permisos. Siga las instrucciones de [Creación de un conjunto de permisos](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) en la *Guía del usuario de AWS IAM Identity Center*.
+ Usuarios gestionados en IAM a través de un proveedor de identidades:

  Cree un rol para la federación de identidades. Siga las instrucciones descritas en [Creación de un rol para un proveedor de identidad de terceros (federación)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) en la *Guía del usuario de IAM*.
+ Usuarios de IAM:
  + Cree un rol que el usuario pueda aceptar. Siga las instrucciones descritas en [Creación de un rol para un usuario de IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) en la *Guía del usuario de IAM*.
  + (No recomendado) Adjunte una política directamente a un usuario o agregue un usuario a un grupo de usuarios. Siga las instrucciones descritas en [Adición de permisos a un usuario (consola)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) de la *Guía del usuario de IAM*.

**Cómo configurar el acceso de los usuarios y adjuntar la política `iam:PassRole` a una cuenta de usuario**

1. En el panel de navegación de IAM, elija **Users** (Usuarios) y, a continuación, seleccione la cuenta de usuario que desea configurar.

1. En la pestaña **Permissions** (Permisos), en la lista de políticas, verifique que aparece la política **AmazonSSMFullAccess** o que hay una política equivalente que conceda los permisos de cuenta para acceder a Systems Manager.

1. Elija **Agregar política insertada**.

1. En la página **Create policy** (Crear política), elija la pestaña **Visual editor** (Editor visual).

1. Elija **Choose a service** (Elegir un servicio) y después ** IAM**.

1. En **Actions** (Acciones), en el cuadro de texto **Filter actions** (Filtrar acciones), ingrese **PassRole** y, a continuación, elija la casilla junto a **PassRole**.

1. En **Resources** (Recursos), compruebe que esté seleccionado **Specific** (Específicos) y elija **Add ARN** (Agregar ARN).

1. En el campo **Specify ARN for role** (Especificar el ARN del rol), pegue el ARN del rol de IAM de Amazon SNS que copió al final de la tarea 3. El sistema rellena automáticamente los campos **Account (Cuenta)** y **Role name with path (Nombre del rol con ruta)**.

1. Elija **Add (Agregar)**.

1. Elija **Review policy** (Revisar política).

1. En la página **Review Policy** (Revisar política), ingrese un nombre y, a continuación, elija **Create policy** (Crear la política).

### Tarea 5: asociar la política iam:PassRole al rol de periodo de mantenimiento
<a name="monitoring-sns-passpolicy-mw"></a>

Al registrar una tarea de Run Command a un periodo de mantenimiento, debe especificar un rol de servicio de nombre de recurso de Amazon (ARN). Systems Manager utiliza este rol de servicio para ejecutar tareas registradas en el periodo de mantenimiento. Para configurar notificaciones de Amazon SNS para una tarea de Run Command registrada, adjunte una política `iam:PassRole` al rol de servicio del periodo de mantenimiento especificado. Si no tiene intención de configurar la tarea registrada para notificaciones de Amazon SNS, puede omitir esta tarea.

La política `iam:PassRole` permite al rol de servicio del Maintenance Windows transferir el rol de IAM de Amazon SNS creado en la tarea 3 al servicio de Amazon SNS. El siguiente procedimiento muestra cómo adjuntar la política `iam:PassRole` al rol de servicio del Maintenance Windows.

**nota**  
Debe utilizar un rol de servicio personalizado para que su periodo de mantenimiento envíe notificaciones relacionadas con las tareas de Run Command registradas. Para obtener más información, consulte [Configuración de Maintenance Windows](setting-up-maintenance-windows.md).  
Si necesita crear un rol de servicio personalizado para las tareas de periodo de mantenimiento, consulte [Configuración de Maintenance Windows](setting-up-maintenance-windows.md).

**Cómo adjuntar la política de `iam:PassRole` a su rol de Maintenance Windows**

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación, seleccione **Roles** (Roles) y seleccione el rol de IAM de Amazon SNS creado en la tarea 3.

1. Copie o anote el valor de **Role ARN** (ARN de rol) y regrese a la sección **Roles** (Roles) de la consola de IAM.

1. Seleccione el rol de servicio del Maintenance Windows personalizado creado de la lista de **Role name** (Nombre del rol).

1. En la pestaña **Permissions** (Permisos), verifique si aparece la política `AmazonSSMMaintenanceWindowRole` o si hay una política equivalente que conceda permisos de periodo de mantenimiento para la API de Systems Manager. Si no es así, elija **Agregar permisos, Adjuntar políticas** para adjuntarla.

1. Elija **Add permissions, Create inline policy** (Agregar permisos, Crear política insertada).

1. Seleccione la pestaña **Visual editor** (Editor visual).

1. En **Service** (Servicio), seleccione **IAM**.

1. En **Actions** (Acciones), en el cuadro de texto **Filter actions** (Filtrar acciones), ingrese **PassRole** y, a continuación, elija la casilla junto a **PassRole**.

1. En **Resources (Recursos)**, elija **Specific (Específico)**, y, a continuación, elija **Add ARN (Agregar ARN)**.

1. En el cuadro **Specify ARN for role** (Especificar ARN para rol) pegue el ARN del rol de IAM de Amazon SNS creado en la tarea 3 y, a continuación, elija **Add** (Agregar).

1. Elija **Revisar política**.

1. En la página **Revisar política**, especifique un nombre para la política `PassRole` y, a continuación, elija **Crear política**.

# Ejemplo de notificaciones de Amazon SNS para AWS Systems Manager
<a name="monitoring-sns-examples"></a>

Puede configurar Amazon Simple Notification Service (Amazon SNS) para que envíe notificaciones sobre el estado de los comandos que envía a través de Run Command o Maintenance Windows, que son herramientas de AWS Systems Manager.

**nota**  
Esta guía no trata sobre el modo de configurar notificaciones para Run Command o un Maintenance Windows. Para obtener más información acerca de cómo configurar Run Command o un Maintenance Windows para enviar notificaciones de Amazon SNS sobre el estado de los comandos, consulte [Cómo configurar notificaciones de Amazon SNS para AWS Systems Manager](monitoring-sns-notifications.md#monitoring-sns-configure). 

Los siguientes ejemplos muestran la estructura de la salida JSON devuelta mediante notificaciones de Amazon SNS cuando se configura para Run Command o un Maintenance Windows.

**Ejemplo de salida JSON para mensajes de resumen de comandos con destino de ID de instancia**

```
{
    "commandId": "a8c7e76f-15f1-4c33-9052-0123456789ab",
    "documentName": "AWS-RunPowerShellScript",
    "instanceIds": [
        "i-1234567890abcdef0",
        "i-9876543210abcdef0"
    ],
    "requestedDateTime": "2019-04-25T17:57:09.17Z",
    "expiresAfter": "2019-04-25T19:07:09.17Z",
    "outputS3BucketName": "amzn-s3-demo-bucket",
    "outputS3KeyPrefix": "runcommand",
    "status": "InProgress",
    "eventTime": "2019-04-25T17:57:09.236Z"
}
```

**Ejemplo de salida JSON para mensajes de resumen de comandos con destino basado en etiquetas**

```
{
    "commandId": "9e92c686-ddc7-4827-b040-0123456789ab",
    "documentName": "AWS-RunPowerShellScript",
    "instanceIds": [],
    "requestedDateTime": "2019-04-25T18:01:03.888Z",
    "expiresAfter": "2019-04-25T19:11:03.888Z",
    "outputS3BucketName": "",
    "outputS3KeyPrefix": "",
    "status": "InProgress",
    "eventTime": "2019-04-25T18:01:05.825Z"
}
```

**Ejemplo de salida JSON para mensajes de invocación**

```
{
    "commandId": "ceb96b84-16aa-4540-91e3-925a9a278b8c",
    "documentName": "AWS-RunPowerShellScript",
    "instanceId": "i-1234567890abcdef0",
    "requestedDateTime": "2019-04-25T18:06:05.032Z",
    "status": "InProgress",
    "eventTime": "2019-04-25T18:06:05.099Z"
}
```

# Uso de Run Command para enviar un comando que devuelve notificaciones de estado
<a name="monitoring-sns-rc-send"></a>

Los siguientes procedimientos muestran cómo utilizar AWS Command Line Interface (AWS CLI) o la consola de AWS Systems Manager para enviar un comando configurado para devolver notificaciones de estado mediante Run Command, una herramienta de AWS Systems Manager.

## Envío de un Run Command que devuelve notificaciones (consola)
<a name="monitoring-sns-rc-send-console"></a>

Utilice el siguiente procedimiento para enviar un comando a través de Run Command configurado para devolver notificaciones de estado mediante la consola de Systems Manager.

**Para enviar un comando que devuelve notificaciones (consola)**

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

1. Elija **Run command (Ejecutar comando)**.

1. En la lista **Command document** (Documento de Command), elija un documento de Systems Manager.

1. En la sección **Command Parameters**, especifique los valores de los parámetros obligatorios.

1. En la sección **Targets** (Destinos), para elegir los nodos administrados en los que desea ejecutar esta operación, especifique las etiquetas, seleccione las instancias o los dispositivos de borde manualmente o especifique un grupo de recursos.
**sugerencia**  
Si un nodo administrado que espera ver no aparece en la lista, consulte [Solución de problemas de disponibilidad de nodos administrados](fleet-manager-troubleshooting-managed-nodes.md) para obtener consejos de solución de problemas.

1. En **Otros parámetros**:
   + En **Comentario**, ingrese la información acerca de este comando.
   + En **Tiempo de espera (segundos)**, especifique el número de segundos que tiene que esperar el sistema antes de indicar que se ha producido un error en la ejecución del comando general. 

1. En **Rate control** (Control de velocidad):
   + En **Concurrency** (Simultaneidad), especifique un número o un porcentaje de los nodos administrados en los que desea ejecutar el comando al mismo tiempo.
**nota**  
Si seleccionó los destinos mediante la especificación de etiquetas aplicadas a nodos administrados o de grupos de recursos de AWS y no está seguro de cuántos nodos administrados tienen destino, limite el número de destinos que puede ejecutar el documento al mismo tiempo. Para ello, especifique un porcentaje.
   + En **Error threshold** (Umbral de errores), especifique cuándo desea parar la ejecución del comando en los demás nodos administrados después de que haya fallado en un número o un porcentaje de los nodos. Por ejemplo, si especifica tres errores, Systems Manager dejará de enviar el comando cuando se reciba el cuarto error. Los nodos administrados que estén procesando el comando todavía pueden enviar errores.

1. (Opcional) En **Opciones de salida**, para guardar la salida del comando en un archivo, seleccione el cuadro **Write command output to an S3 bucket**. Ingrese los nombres del bucket y del prefijo (carpeta) en los cuadros.
**nota**  
Los permisos de S3 que conceden la capacidad de escribir datos en un bucket de S3 son los del perfil de instancia (para instancias de EC2) o rol de servicio de IAM (máquinas activadas de manera híbrida) asignados a la instancia, no los del usuario de IAM que realiza esta tarea. Para obtener más información, consulte [Configuración de permisos de instancia requeridos para Systems Manager](setup-instance-permissions.md) o [Creación de un rol de servicio de IAM para un entorno híbrido](hybrid-multicloud-service-role.md). Además, si el bucket de S3 especificado se encuentra en una Cuenta de AWS diferente, asegúrese de que el perfil de instancias o el rol de servicio de IAM asociado al nodo administrado tenga los permisos necesarios para escribir en ese bucket.

1. En la sección **SNS Notifications (Notificaciones de SNS)**, elija **Enable SNS notifications (Habilitar notificaciones de SNS**.

1. En **IAM Role** (Rol de IAM), elija el ARN del rol de IAM de Amazon SNS que creó en la tarea 3 en [Cómo monitorear los cambios de estado de Systems Manager mediante las notificaciones de Amazon SNS](monitoring-sns-notifications.md).

1. En **SNS topic** (Tema de SNS), ingrese el ARN del tema de Amazon SNS que se va a utilizar.

1. En **Event notifications** (Notificaciones de eventos), elija los eventos para los que desea recibir notificaciones.

1. En **Change notifications** (Notificaciones de cambios), elija si quiere recibir notificaciones únicamente para el resumen de comandos (**Command status changes** [Cambios del estado del comando]) o para cada copia de un comando enviado a varios nodos (**Command status on each instance changes** [Cambios del estado del comando en cada instancia]).

1. Seleccione **Ejecutar**.

1. Busque en su casilla de email un mensaje de Amazon SNS y ábralo. Amazon SNS puede tardar varios minutos en enviar el mensaje por email.

## Envío de un Run Command que devuelve notificaciones (CLI)
<a name="monitoring-sns-rc-send-cli"></a>

Utilice el siguiente procedimiento para enviar un comando a través de Run Command configurado para devolver notificaciones de estado mediante la AWS CLI.

**Para enviar un comando que devuelve notificaciones (CLI)**

1. Abra la AWS CLI.

1. Especifique los parámetros en el siguiente comando para definir destinos en función de los ID de los nodos administrados.

   ```
   aws ssm send-command --instance-ids "ID-1, ID-2" --document-name "Name" --parameters '{"commands":["input"]}' --service-role "SNSRoleARN" --notification-config '{"NotificationArn":"SNSTopicName","NotificationEvents":["All"],"NotificationType":"Command"}'
   ```

   A continuación se muestra un ejemplo.

   ```
   aws ssm send-command --instance-ids "i-02573cafcfEXAMPLE, i-0471e04240EXAMPLE" --document-name "AWS-RunPowerShellScript" --parameters '{"commands":["Get-Process"]}' --service-role "arn:aws:iam::111122223333:role/SNS_Role" --notification-config '{"NotificationArn":"arn:aws:sns:us-east-1:111122223333:SNSTopic","NotificationEvents":["All"],"NotificationType":"Command"}'
   ```

**Comandos alternativos**  
Especifique los parámetros en el siguiente comando para definir como destinos instancias administradas utilizando etiquetas.

   ```
   aws ssm send-command --targets "Key=tag:TagName,Values=TagKey" --document-name "Name" --parameters '{"commands":["input"]}' --service-role "SNSRoleARN" --notification-config '{"NotificationArn":"SNSTopicName","NotificationEvents":["All"],"NotificationType":"Command"}'
   ```

   A continuación se muestra un ejemplo.

   ```
   aws ssm send-command --targets "Key=tag:Environment,Values=Dev" --document-name "AWS-RunPowerShellScript" --parameters '{"commands":["Get-Process"]}' --service-role "arn:aws:iam::111122223333:role/SNS_Role" --notification-config '{"NotificationArn":"arn:aws:sns:us-east-1:111122223333:SNSTopic","NotificationEvents":["All"],"NotificationType":"Command"}'
   ```

1. Pulse **Intro**.

1. Busque en su casilla de email un mensaje de Amazon SNS y ábralo. Amazon SNS puede tardar varios minutos en enviar el mensaje por email.

Para obtener más información, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/send-command.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/send-command.html) en la *Referencia de comandos de la AWS CLI*.

# Uso de un periodo de mantenimiento para enviar un comando que devuelve notificaciones de estado
<a name="monitoring-sns-mw-register"></a>

Los siguientes procedimientos muestran cómo registrar una tarea de Run Command con su periodo de mantenimiento mediante la consola de AWS Systems Manager o la AWS Command Line Interface (AWS CLI). Run Command es una herramienta de AWS Systems Manager. Los procedimientos también describen cómo configurar la tarea de Run Command para devolver notificaciones de estado.

**Antes de empezar**  
Si no ha creado un periodo de mantenimiento ni destinos registrados, consulte [Crear y administrar periodos de mantenimiento mediante la consola](sysman-maintenance-working.md) para ver los pasos que indican cómo crear un periodo de mantenimiento y cómo registrar destinos.

Para recibir notificaciones del servicio de Amazon Simple Notification Service (Amazon SNS), adjunte una política de `iam:PassRole` al rol de servicio del Maintenance Windows especificado en la tarea registrada. Si no ha agregado permisos de `iam:PassRole` a su rol de servicio de Maintenance Windows, consulte [Tarea 5: asociar la política iam:PassRole al rol de periodo de mantenimiento](monitoring-sns-notifications.md#monitoring-sns-passpolicy-mw). 

## Registro de una tarea de Run Command a un periodo de mantenimiento que devuelve notificaciones (consola)
<a name="monitoring-sns-mw-register-console"></a>

Utilice el siguiente procedimiento para registrar una tarea de Run Command configurada para devolver notificaciones de estado a su periodo de mantenimiento a través de la consola de Systems Manager.

**Para registrar una tarea de Run Command con el periodo de mantenimiento que devuelve notificaciones (consola)**

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

1. Seleccione el periodo de mantenimiento en el cual desea registrar una tarea de Run Command configurada para enviar notificaciones de Amazon Simple Notification Service (Amazon SNS).

1. Elija **Actions** (Acciones) y, a continuación, elija **Register Run Command task** (Registrar tarea de Run Command).

1. (Opcional) En el campo **Name** (Nombre), ingrese el nombre de la tarea.

1. (Opcional) Introduzca una descripción en el campo **Description** (Descripción).

1. En **Command document** (Documento de comando), elija un documento de comando.

1. En **Task priority (Prioridad de tarea)**, especifique una prioridad para esta tarea. Cero (`0`) es la prioridad más alta. Las tareas de un periodo de mantenimiento se programan por orden de prioridad. Las tareas que tienen la misma prioridad se programan en paralelo.

1. En la sección **Targets** (Destinos), seleccione un grupo de destino registrado o destinos no registrados.

1. En **Rate control** (Control de velocidad):
   + En **Concurrency** (Simultaneidad), especifique un número o un porcentaje de los nodos administrados en los que desea ejecutar el comando al mismo tiempo.
**nota**  
Si seleccionó los destinos mediante la especificación de etiquetas aplicadas a nodos administrados o de grupos de recursos de AWS y no está seguro de cuántos nodos administrados tienen destino, limite el número de destinos que puede ejecutar el documento al mismo tiempo. Para ello, especifique un porcentaje.
   + En **Error threshold** (Umbral de errores), especifique cuándo desea parar la ejecución del comando en los demás nodos administrados después de que haya fallado en un número o un porcentaje de los nodos. Por ejemplo, si especifica tres errores, Systems Manager dejará de enviar el comando cuando se reciba el cuarto error. Los nodos administrados que estén procesando el comando todavía pueden enviar errores.

1. En el área **IAM service role** (Rol de servicio de IAM), elija el rol de servicio de Maintenance Windows que tiene permisos de `iam:PassRole` al rol de SNS.
**nota**  
Agregue permisos de `iam:PassRole` al rol Maintenance Windows para permitir que Systems Manager pase el rol de SNS a Amazon SNS. Si no ha agregado `iam:PassRole` permisos, consulte Tarea 5 en el tema [Cómo monitorear los cambios de estado de Systems Manager mediante las notificaciones de Amazon SNS](monitoring-sns-notifications.md).

1. (Opcional) En **Output options (Opciones de salida)**, para guardar la salida del comando en un archivo, seleccione el cuadro **Enable writing output to S3 (Permitir la escritura de salida en S3)**. Ingrese los nombres del bucket y del prefijo (carpeta) en los cuadros.
**nota**  
Los permisos de S3 que conceden la capacidad de escribir datos en un bucket de S3 son los del perfil de instancias asignado al nodo administrado, no los del usuario de IAM que realiza esta tarea. Para obtener más información, consulte [Configuración de permisos de instancia requeridos para Systems Manager](setup-instance-permissions.md) o [Creación de un rol de servicio de IAM para un entorno híbrido](hybrid-multicloud-service-role.md). Además, si el bucket de S3 especificado se encuentra en una Cuenta de AWS diferente, verifique que el perfil de instancias o el rol de servicio de IAM asociado al nodo administrado tenga los permisos necesarios para escribir en ese bucket.

1. En la sección **SNS notifications** (Notificaciones de SNS), realice lo siguiente:
   + Elija **Enable SNS Notifications** (Habilitar notificaciones de SNS).
   + En **IAM role** (Rol de IAM), elija el Nombre de recurso de Amazon (ARN) del rol de IAM de Amazon SNS que ha creado en la tarea 3 en [Cómo monitorear los cambios de estado de Systems Manager mediante las notificaciones de Amazon SNS](monitoring-sns-notifications.md) para iniciar Amazon SNS.
   + En **SNS topic** (Tema de SNS), ingrese el ARN del tema de Amazon SNS que se va a utilizar.
   + En **Event type** (Tipo de evento), elija los eventos para los que desea recibir notificaciones.
   + En el campo **Notification type** (Tipo de notificaciones), elija recibir notificaciones para cada copia de un comando enviado a varios nodos (invocaciones) o el resumen de comandos.

1. En la sección **Parameters** (Parámetros), ingrese los parámetros requeridos en función del documento de Command que elija.

1. Elija **Register run command task** (Registrar tarea de Run Command).

1. Después de que se ejecute su periodo de mantenimiento la próxima vez, busque en su casilla de email un mensaje de Amazon SNS y ábralo. Amazon SNS puede tardar unos minutos en enviar el mensaje por email.

## Registro de una tarea de Run Command a un periodo de mantenimiento que devuelve notificaciones (CLI)
<a name="monitoring-sns-mw-register-cli"></a>

Utilice el siguiente procedimiento para registrar una tarea de Run Command configurada para devolver notificaciones de estado a su periodo de mantenimiento a través de la AWS CLI.

**Para registrar una tarea de Run Command con el periodo de mantenimiento que devuelve notificaciones (CLI)**
**nota**  
Para administrar mejor las opciones para las tareas, este procedimiento utiliza la opción de comando `--cli-input-json` con valores opcionales almacenados en un archivo JSON.

1. En el equipo local, cree un archivo con el nombre `RunCommandTask.json`.

1. Pegue los siguientes contenidos en el archivo :

   ```
   {
       "Name": "Name",
       "Description": "Description",
       "WindowId": "mw-0c50858d01EXAMPLE",
       "ServiceRoleArn": "arn:aws:iam::account-id:role/MaintenanceWindowIAMRole",
       "MaxConcurrency": "1",
       "MaxErrors": "1",
       "Priority": 3,
       "Targets": [
           {
               "Key": "WindowTargetIds",
               "Values": [
                   "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
               ]
           }
       ],
       "TaskType": "RUN_COMMAND",
       "TaskArn": "CommandDocumentName",
       "TaskInvocationParameters": {
           "RunCommand": {
               "Comment": "Comment",
               "TimeoutSeconds": 3600,
               "NotificationConfig": {
                   "NotificationArn": "arn:aws:sns:region:account-id:SNSTopicName",
                   "NotificationEvents": [
                       "All"
                   ],
                   "NotificationType": "Command"
               },
               "ServiceRoleArn": "arn:aws:iam::account-id:role/SNSIAMRole"
           }
       }
   }
   ```

1. Reemplace los valores de ejemplo con información acerca de sus propios recursos. 

   También puede restaurar opciones omitidas en este ejemplo si desea utilizarlas. Por ejemplo, puede guardar el resultado del comando en un bucket de S3. 

   Para obtener más información, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/register-task-with-maintenance-window.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/register-task-with-maintenance-window.html) en la *Referencia de comandos de la AWS CLI*.

1. Guarde el archivo.

1. En el directorio en su equipo local donde ha guardado el archivo, ejecute el siguiente comando.

   ```
   aws ssm register-task-with-maintenance-window --cli-input-json file://RunCommandTask.json
   ```
**importante**  
Asegúrese de incluir `file://` antes del nombre de archivo. Es obligatorio en este comando.

   En caso de éxito, este comando devuelve información similar a la siguiente.

   ```
   {
       "WindowTaskId": "j2l8d5b5c-mw66-tk4d-r3g9-1d4d1EXAMPLE"
   }
   ```

1. Después de que se ejecute su periodo de mantenimiento la próxima vez, busque en su casilla de email un mensaje de Amazon SNS y ábralo. Amazon SNS puede tardar unos minutos en enviar el mensaje por email.

Para obtener más información acerca del registro de tareas para un periodo de mantenimiento mediante la línea de comandos, consulte [Registrar tareas con el periodo de mantenimiento](mw-cli-tutorial-tasks.md).