View a markdown version of this page

AWSSupport-SetupIPMonitoringFromVPC - AWS Systems Manager Referencia del manual de procedimientos de Automatización

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

Descripción

AWSSupport-SetupIPMonitoringFromVPCcrea 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 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)

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:DescribeLogGroupslogs:DescribeLogStreams, y logs:PutLogEvents y la Política AWS gestionadaAmazonSSMManagedInstanceCore.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  15. aws:branch- evaluar el SleepTime parámetro. Si se establece en0, la automatización finaliza sin eliminar la pila.

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

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