

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# `AWSSupport-SetupIPMonitoringFromVPC`
<a name="automation-awssupport-setupipmonitoringfromvpc"></a>

 **Descripción** 

 `AWSSupport-SetupIPMonitoringFromVPC`crea una instancia temporal de Amazon Elastic Compute Cloud (Amazon EC2) que ejecute Amazon Linux 2023 en la subred especificada. El runbook ejecuta continuamente pruebas de ping, MTR, traceroute y tracetcp en las IP de destino seleccionadas (IPv4 o IPv6). Almacena los resultados en grupos de CloudWatch registros de Amazon y aplica filtros de métricas para visualizar rápidamente las estadísticas de latencia y pérdida de paquetes en un CloudWatch panel de control. 

**Costos adicionales**  
Este manual conlleva costes adicionales AWS . Aprovisiona una instancia de Amazon EC2, grupos de CloudWatch registros y un CloudWatch panel de control en su cuenta mediante. AWS CloudFormation La instancia de prueba se ejecuta de forma continua hasta que elimines la CloudFormation pila. Si se establece `RetainDashboardAndLogsOnDeletion` en `True` (predeterminado), el CloudWatch panel y los grupos de registros permanecen después de eliminar la pila. Estos recursos seguirán incurriendo en cargos hasta que los elimines manualmente. Para obtener información detallada sobre los precios, consulte [Amazon EC2 Pricing y [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/) Pricing](https://aws.amazon.com/ec2/pricing/).

 **Información adicional** 

Puede utilizar los resultados de las pruebas en Amazon CloudWatch Logs para solucionar problemas de red y analizar patrones y tendencias. Además, puede configurar CloudWatch las alarmas con las notificaciones de Amazon Simple Notification Service cuando la pérdida de paquetes o la latencia alcancen un umbral. También puede utilizar estos resultados al abrir un caso AWS Support, para ayudar a aislar un problema rápidamente y reducir el tiempo de resolución al investigar un problema de red.

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-SetupIPMonitoringFromVPC) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parámetros**
+ AutomationAssumeRole

  Tipo: cadena

  Descripción: (opcional) el Nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre. Si no se especifica ningún rol, Systems Manager Automation utiliza los permisos del usuario que comienza este manual de procedimientos.
+ CloudWatchLogGroupNamePrefix

  Tipo: cadena

   Valor predeterminado: `/AWSSupport-SetupIPMonitoringFromVPC` 

  Descripción: (opcional) Prefijo utilizado para cada grupo de CloudWatch registros creado para los resultados de las pruebas.
+ CloudWatchLogGroupRetentionInDays

  Tipo: cadena

  Valores válidos: 1 \| 3 \| 5 \| 7 \| 14 \| 30 \| 60 \| 90 \| 120 \| 150 \| 180 \| 365 \| 400 \| 545 \| 731 \| 1827 \| 3653

  Valor predeterminado: 7

  Descripción: (opcional) número de días para los que desea conservar los resultados de monitorización de red.
+ InstanceType

  Tipo: cadena

  Valores válidos: t2.micro \| t2.small \| t2.medium \| t2.large \| t3.micro \| t3.small \| t3.medium \| t3.large \| t4g.micro \| t4g.small \| t4g.medium \| t4g.large

  Valor predeterminado: t3.micro

  Descripción: (opcional) El tipo de instancia Amazon EC2 para la instancia de monitorización. Tamaño recomendado: t3.micro.
+ SubnetId

  Tipo: cadena

  Descripción: (opcional) ID de subred para la instancia de monitor. Tenga en cuenta que si especifica una subred privada, debe asegurarse de que haya acceso a Internet para que la instancia del monitor pueda configurar la prueba (por ejemplo, instalar el CloudWatch agente e interactuar con AWS Systems Manager él). CloudWatch
+ TargetIPs

  Tipo: cadena

  Descripción: Comma-separated lista (obligatoria) de direcciones IPv4 o IPv6 que se van a monitorear. No se permiten espacios. El tamaño máximo es de 255 caracteres. Tenga en cuenta que si proporciona una IP no válida, la automatización fallará y revertirá la configuración de la prueba.
+ TestInstanceSecurityGroupId

  Tipo: cadena

  Descripción: (opcional) El ID del grupo de seguridad de la instancia de prueba. Si no se especifica, la automatización crea uno durante la creación de la instancia. Asegúrese de que el grupo de seguridad permita el acceso saliente a las IP de supervisión.
+ TestInstanceProfileName

  Tipo: cadena

  Descripción: (opcional) El nombre de un perfil de AWS Identity and Access Management instancia existente para la instancia de prueba. Si no se especifica, la automatización crea uno durante la creación de la instancia. El rol debe tener los siguientes permisos:`logs:CreateLogStream`, `logs:DescribeLogGroups``logs:DescribeLogStreams`, y `logs:PutLogEvents` y la Política AWS gestionada`AmazonSSMManagedInstanceCore`.
+ TestInterval

  Tipo: cadena

  Descripción: (opcional) El número de minutos entre los intervalos de prueba. El valor predeterminado es `1` minuto y el máximo `10` minutos.
+ RetainDashboardAndLogsOnDeletion

  Tipo: cadena

  Descripción: (opcional) Especifique si `False` desea eliminar el CloudWatch panel y los grupos de registros al eliminar la CloudFormation pila. El valor predeterminado es `True`. De forma predeterminada, el manual conserva el panel y los registros. Debe eliminarlos manualmente cuando ya no los necesite.

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.

**aviso**  
 Se recomienda introducir `TestInstanceProfileName` parámetros o garantizar la instalación de barreras de seguridad para evitar el uso indebido de los permisos de IAM mutables. 

 Se recomienda que el usuario que ejecuta la automatización tenga adjunta la política gestionada de **AmazonSSMAutomationRole**IAM. Además, el usuario debe tener la siguiente política asociada a su cuenta de usuario, grupo o rol:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "iam:CreateRole",
                "iam:CreateInstanceProfile",
                "iam:GetRole",
                "iam:GetInstanceProfile",
                "iam:DetachRolePolicy",
                "iam:AttachRolePolicy",
                "iam:PassRole",
                "iam:AddRoleToInstanceProfile",
                "iam:GetRolePolicy",
                "iam:RemoveRoleFromInstanceProfile",
                "iam:DeleteRole",
                "iam:DeleteRolePolicy",
                "iam:DeleteInstanceProfile",
                "iam:PutRolePolicy",
                "iam:TagRole"
            ],
            "Resource": [
                "arn:aws:iam::{{111122223333}}:role/SetupIPMonitoringFromVPC*",
                "arn:aws:iam::{{111122223333}}:instance-profile/SetupIPMonitoringFromVPC*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "cloudformation:CreateStack",
                "cloudformation:CreateChangeSet",
                "cloudformation:DeleteStack",
                "cloudformation:DescribeStacks",
                "cloudformation:DescribeStackEvents",
                "cloudwatch:PutDashboard",
                "cloudwatch:DeleteDashboards",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:CreateSecurityGroup",
                "ec2:CreateLaunchTemplate",
                "ec2:DeleteSecurityGroup",
                "ec2:DescribeImages",
                "ec2:DescribeSubnets",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeVpcs",
                "ec2:DeleteLaunchTemplate",
                "ec2:DeleteSecurityGroup",
                "ec2:RunInstances",
                "ec2:TerminateInstances",
                "ec2:DescribeInstanceStatus",
                "ec2:CreateTags",
                "ec2:AssignIpv6Addresses",
                "ec2:DescribeTags",
                "ec2:DescribeInstances",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeLaunchTemplates",
                "ec2:RevokeSecurityGroupEgress",
                "logs:CreateLogGroup",
                "logs:DeleteLogGroup",
                "logs:PutMetricFilter",
                "logs:PutRetentionPolicy",
                "logs:TagResource",
                "ssm:DescribeInstanceInformation",
                "ssm:GetParameter",
                "ssm:GetParameters",
                "ssm:SendCommand",
                "ssm:ListCommands",
                "ssm:ListCommandInvocations"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

Si se proporciona el `TestInstanceProfileName` parámetro, no se requieren los siguientes permisos de IAM para ejecutar el runbook:
+ iam: CreateRole
+ objetivo: CreateInstanceProfile
+ objetivo: DetachRolePolicy
+ objetivo: AttachRolePolicy
+ objetivo: AddRoleToInstanceProfile
+ objetivo: RemoveRoleFromInstanceProfile
+ objetivo: DeleteRole
+ objetivo: DeleteRolePolicy
+ objetivo: DeleteInstanceProfile

 **Pasos de documentos** 

1.  **`aws:executeAwsApi`**- describa la subred proporcionada para obtener el ID de VPC y el estado de asociación de bloques CIDR de IPv6. 

1.  **`aws:executeScript`**- valide que las IP de destino proporcionadas sean direcciones IPv4 and/or IPv6 sintácticamente correctas, obtenga la arquitectura del tipo de instancia seleccionado y verifique que la subred tenga una asociación de grupos de IPv6 si alguna IP de destino es IPv6. 

1.  **`aws:createStack`**- cree una CloudFormation pila que aprovisione la instancia Amazon EC2 de prueba, el perfil de la instancia de IAM (si no se proporciona), el grupo de seguridad (si no se proporciona), los grupos de CloudWatch registros y el panel de control. CloudWatch 

   (Limpieza) Si el paso falla: 

    **`aws:executeScript`**- describa los eventos de la CloudFormation pila para identificar el motivo del error. 

    **`aws:deleteStack`**- eliminar la CloudFormation pila y todos los recursos asociados. 

1.  **`aws:waitForAwsResourceProperty`**- espere a que se complete la creación de la CloudFormation pila. 

   (Limpieza) Si el paso falla: 

    **`aws:executeScript`**- describa los eventos de la CloudFormation pila para identificar el motivo del error. 

    **`aws:deleteStack`**- eliminar la CloudFormation pila y todos los recursos asociados. 

1.  **`aws:executeScript`**- describa los recursos de la CloudFormation pila para obtener el ID de la instancia de prueba, el ID del grupo de seguridad, la función de IAM, el perfil de la instancia y el nombre del panel de control. 

   (Limpieza) Si el paso falla: 

    **`aws:executeScript`**- describa los eventos de la CloudFormation pila para identificar el motivo del error. 

    **`aws:deleteStack`**- eliminar la CloudFormation pila y todos los recursos asociados. 

1.  ** `aws:waitForAwsResourceProperty`**: espera a que la instancia de prueba se convierta en una instancia gestionada. 

   (Limpieza) Si el paso falla: 

    **`aws:deleteStack`**- eliminar la CloudFormation pila y todos los recursos asociados. 

1.  **`aws:runCommand`**- instale el CloudWatch agente y `traceroute` en la instancia de prueba. `mtr` 

   (Limpieza) Si el paso falla: 

    **`aws:deleteStack`**- eliminar la CloudFormation pila y todos los recursos asociados. 

1.  **`aws:runCommand`**- defina los scripts de prueba de red (MTR, ping, tracepath y traceroute) para cada una de las IP proporcionadas. 

   (Limpieza) Si el paso falla: 

    **`aws:deleteStack`**- elimine la pila y todos los CloudFormation recursos asociados. 

1.  **`aws:runCommand`**- inicie las pruebas de red y programe las ejecuciones posteriores utilizando temporizadores systemd que se ejecutan cada TestInterval minuto. 

   (Limpieza) Si el paso falla: 

    **`aws:deleteStack`**- eliminar la CloudFormation pila y todos los recursos asociados. 

1.  **`aws:runCommand`**- configurar el CloudWatch agente para enviar los resultados de las pruebas `/home/ec2-user/logs/` a CloudWatch los registros. 

   (Limpieza) Si el paso falla: 

    **`aws:deleteStack`**- eliminar la CloudFormation pila y todos los recursos asociados. 

1.  **`aws:runCommand`**- configurar la rotación de registros para los resultados de las pruebas en`/home/ec2-user/logs/`. 

1.  **`aws:executeScript`**- establezca la política de retención para todos los grupos de CloudWatch registros creados por la CloudFormation pila. 

1.  **`aws:executeScript`**- cree filtros métricos de grupos de CloudWatch registros para la latencia de ping y la pérdida de paquetes de ping. 

   (Limpieza) Si el paso falla: 

    **`aws:deleteStack`**- eliminar la CloudFormation pila y todos los recursos asociados. 

1.  **`aws:executeScript`**- actualice el CloudWatch panel de control para incluir widgets con estadísticas de latencia y pérdida de paquetes de ping. 

   (Limpieza) Si el paso falla: 

    **`aws:executeAwsApi`**- elimine el CloudWatch panel de control, si existe. 

    **`aws:deleteStack`**- eliminar la CloudFormation pila y todos los recursos asociados. 

1.  **`aws:branch`**- evaluar el SleepTime parámetro. Si se establece en`0`, la automatización finaliza sin eliminar la pila. 

1.  **`aws:sleep`**- espere el tiempo especificado SleepTime antes de eliminar la CloudFormation pila. 

1.  **`aws:deleteStack`**- eliminar la CloudFormation pila. Según el RetainDashboardAndLogsOnDeletion parámetro, el CloudWatch panel de control y los grupos de registros se conservan o se eliminan. 

   (Limpieza) Si se produce un error al eliminar la pila: 

    **`aws:executeScript`**- describa los eventos de la CloudFormation pila para identificar el motivo del error de eliminación. 

 **Salidas** 

actualizarCloudWatchDashboard.StackUrl : la URL de la CloudFormation pila.

actualizarCloudWatchDashboard.DashboardUrl : la URL del CloudWatch panel de control.

actualizarCloudWatchDashboard.DashboardName : el nombre del CloudWatch panel de control.

actualizarCloudWatchDashboard.LogGroups : la lista de grupos de CloudWatch registros creados.

describirStackResources.HelperInstanceId : el ID de la instancia de prueba.

describeStackResources.StackName : el nombre de la CloudFormation pila.