AWSSupport-SetupIPMonitoringFromVPC - AWS Systems Manager 自动化运行手册参考

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWSSupport-SetupIPMonitoringFromVPC

描述

AWSSupport-SetupIPMonitoringFromVPC 在指定子网中创建一个 Amazon Elastic Compute Cloud (Amazon EC2) 实例,然后通过持续运行 ping、MTR、traceroute 和 tracetcp 测试来监控选定的目标 IP(IPv4 或 IPv6)。结果存储在 Amazon CloudWatch Logs 日志中,并应用指标筛选器在 CloudWatch 控制面板中快速可视化延迟和丢包统计数据。

附加信息

CloudWatch 日志数据可用于网络故障排除和模式/趋势分析。此外,当数据包丢失和/或延迟达到阈值时,您可以使用 Amazon SNS 通知配置 CloudWatch 警报。这些数据也可以在开案时使用 AWS Support,以帮助快速隔离问题,并在调查网络问题时缩短解决时间。

注意

要清理由 AWSSupport-SetupIPMonitoringFromVPC 创建的资源,您可以使用运行手册 AWSSupport-TerminateIPMonitoringFromVPC。有关更多信息,请参阅 AWSSupport-TerminateIPMonitoringFromVPC

运行此自动化(控制台)

文档类型

自动化

所有者

Amazon

平台

Linux、macOS、Windows

参数

  • AutomationAssumeRole

    类型:字符串

    描述:(可选)允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称(ARN)。如果未指定角色,Systems Manager Automation 将使用启动此运行手册的用户的权限。

  • CloudWatchLogGroupNamePrefix

    类型:字符串

    默认:/ AWSSupport-SetupIPMonitoringFromVPC

    描述:(可选)用于为测试结果创建的每个 CloudWatch 日志组的前缀。

  • CloudWatchLogGroupRetentionIn天数

    类型:字符串

    有效值:1 | 3 | 5 | 7 | 14 | 30 | 60 | 90 | 120 | 150 | 180 | 365 | 400 | 545 | 731 | 1827 | 3653

    默认:7

    描述:(可选)要保留网络监控结果的天数。

  • InstanceType

    类型:字符串

    有效值:t2.micro | t2.small | t2.medium | t2.large | t3.micro | t3.small | t3.medium | t3.large | t4g.micro | t4g.small | t4g.medium | t4g.large

    默认:t2.micro

    描述:(可选)EC2Rescue 实例的 EC2 实例类型。建议大小:t2.micro。

  • SubnetId

    类型:字符串

    描述:(必需)监控实例的子网 ID。请注意,如果您指定私有子网,则必须确保可以访问 Internet 才能允许监控实例设置测试(也就是说,安装 CloudWatch 日志代理,与 Systems Manager 交互和 CloudWatch)。

  • TargetIPs

    类型:字符串

    描述:(必需)要监控的以逗号分隔的 IPv4 和/或 IPv6 列表。不允许使用空格。最大大小为 255 个字符。注意,如果提供的 IP 无效,则 Automation 将失败并回滚测试设置。

所需的 IAM 权限

AutomationAssumeRole 参数需要执行以下操作才能成功使用运行手册。

建议运行自动化的用户附加 AmazonSS AutomationRole M IAM 托管策略。此外,用户还必须将以下策略附加到其用户账户、组或角色:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:CreateRole", "iam:CreateInstanceProfile", "iam:GetRole", "iam:GetInstanceProfile", "iam:DetachRolePolicy", "iam:AttachRolePolicy", "iam:PassRole", "iam:AddRoleToInstanceProfile", "iam:RemoveRoleFromInstanceProfile", "iam:DeleteRole", "iam:DeleteInstanceProfile", "iam:PutRolePolicy", "iam:DeleteRolePolicy" ], "Resource": [ "arn:aws:iam:: AWS_account_ID :role/AWSSupport/SetupIPMonitoringFromVPC_*", "arn:aws:iam:: AWS_account_ID :instance-profile/AWSSupport/SetupIPMonitoringFromVPC_*" ], "Effect": "Allow" }, { "Action": [ "iam:DetachRolePolicy", "iam:AttachRolePolicy" ], "Resource": [ "arn:aws:iam::aws:policy/service-role/AmazonSSMManagedInstanceCore" ], "Effect": "Allow" }, { "Action": [ "cloudwatch:DeleteDashboards" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Action": [ "ec2:AuthorizeSecurityGroupEgress", "ec2:CreateSecurityGroup", "ec2:DeleteSecurityGroup", "ec2:DescribeSubnets", "ec2:DescribeInstanceTypes", "ec2:RunInstances", "ec2:TerminateInstances", "ec2:DescribeInstanceStatus" "ec2:CreateTags", "ec2:AssignIpv6Addresses", "ec2:DescribeTags", "ec2:DescribeInstances", "ec2:DescribeSecurityGroups" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Action": [ "ssm:GetParameter", "ssm:SendCommand", "ssm:ListCommands", "ssm:ListCommandInvocations", ], "Resource": [ "*" ], "Effect": "Allow" } ] }

文档步骤

  1. aws:executeAwsApi - 描述提供的子网。

  2. aws:branch - 评估 TargetIPs 输入。

    (IPv6) 如果 TargetIPs 包含 IPv6:

    aws:assertAwsResourceProperty - 检查提供的子网是否关联了 IPv6 池

  3. aws:executeScript - 获取最新 Amazon Linux 2 AMI 的实例类型和公共参数路径的架构。

  4. aws:executeAwsApi - 从 Parameter Store 获取最新的亚马逊 Amazon Linux 2 AMI。

  5. aws:executeAwsApi - 在子网的 VPC 中为测试创建一个安全组。

    (清理)如果安全组创建失败:

    aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  6. aws:executeAwsApi - 允许测试安全组中的所有出站流量。

    (清理)如果安全组出口规则创建失败:

    aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  7. aws:executeAwsApi - 为测试 EC2 实例创建一个 IAM 角色

    (清理)如果角色创建失败:

    1. aws:executeAwsApi - 删除自动化创建的 IAM 角色(如果存在)。

    2. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  8. aws:executeAwsApi-附上 AmazonSSM 托管政策 ManagedInstanceCore

    (清理)如果附加策略失败:

    1. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色(如果已连接)分离。

    2. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    3. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  9. aws:executeAwsApi-附加内联策略以允许设置 CloudWatch 日志组保留和创建仪表板 CloudWatch

    (清理)如果附加内联策略失败:

    1. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略(如果已创建)。

    2. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色分离。

    3. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    4. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  10. aws:executeAwsApi - 创建 IAM 实例配置文件。

    (清理)如果实例配置文件创建失败:

    1. aws:executeAwsApi - 删除自动化创建的 IAM 实例配置文件(如果存在)。

    2. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略。

    3. aws:executeAwsApi-从自动化创建的角色中删除 AmazonSSM ManagedInstanceCore 托管策略。

    4. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    5. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  11. aws:executeAwsApi - 将 IAM 实例配置文件关联至 IAM 角色。

    (清理)如果实例配置文件和角色关联失败:

    1. aws:executeAwsApi - 从角色中删除 IAM 实例配置文件(如果已关联)。

    2. aws:executeAwsApi - 删除自动化创建的 IAM 实例配置文件。

    3. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略。

    4. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色分离。

    5. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    6. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  12. aws:sleep - 等待实例配置文件变为可用。

  13. aws:runInstances - 在指定的子网中创建测试实例,并附加先前创建的实例配置文件。

    (清理)如果步骤失败:

    1. aws:changeInstanceState - 终止测试实例。

    2. aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。

    3. aws:executeAwsApi - 删除自动化创建的 IAM 实例配置文件。

    4. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略。

    5. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色分离。

    6. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    7. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  14. aws:branch - 评估 TargetIPs 输入。

    (IPv6) 如果 TargetIPs 包含 IPv6:

    aws:executeAwsApi - 为测试实例分配 IPv6。

  15. aws:waitForAwsResourceProperty - 等待测试实例变为托管实例。

    (清理)如果步骤失败:

    1. aws:changeInstanceState - 终止测试实例。

    2. aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。

    3. aws:executeAwsApi - 删除自动化创建的 IAM 实例配置文件。

    4. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略。

    5. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色分离。

    6. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    7. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  16. aws:runCommand - 安装测试先决条件:

    (清理)如果步骤失败:

    1. aws:changeInstanceState - 终止测试实例。

    2. aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。

    3. aws:executeAwsApi - 删除自动化创建的 IAM 实例配置文件。

    4. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略。

    5. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色分离。

    6. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    7. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  17. aws:runCommand - 验证提供的 IP 是不是语法正确的 IPv4 和/或 IPv6 地址:

    (清理)如果步骤失败:

    1. aws:changeInstanceState - 终止测试实例。

    2. aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。

    3. aws:executeAwsApi - 删除自动化创建的 IAM 实例配置文件。

    4. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略。

    5. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色分离。

    6. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    7. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  18. aws:runCommand - 为提供的每个 IP 定义 MTR 测试。

    (清理)如果步骤失败:

    1. aws:changeInstanceState - 终止测试实例。

    2. aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。

    3. aws:executeAwsApi - 删除自动化创建的 IAM 实例配置文件。

    4. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略。

    5. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色分离。

    6. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    7. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  19. aws:runCommand - 为提供的每个 IP 定义第一个 ping 测试。

    (清理)如果步骤失败:

    1. aws:changeInstanceState - 终止测试实例。

    2. aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。

    3. aws:executeAwsApi - 删除自动化创建的 IAM 实例配置文件。

    4. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略。

    5. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色分离。

    6. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    7. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  20. aws:runCommand - 为提供的每个 IP 定义第二个 ping 测试。

    (清理)如果步骤失败:

    1. aws:changeInstanceState - 终止测试实例。

    2. aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。

    3. aws:executeAwsApi - 删除自动化创建的 IAM 实例配置文件。

    4. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略。

    5. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色分离。

    6. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    7. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  21. aws:runCommand - 为提供的每个 IP 定义 tracepath 测试。

    (清理)如果步骤失败:

    1. aws:changeInstanceState - 终止测试实例。

    2. aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。

    3. aws:executeAwsApi - 删除自动化创建的 IAM 实例配置文件。

    4. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略。

    5. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色分离。

    6. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    7. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  22. aws:runCommand - 为提供的每个 IP 定义 traceroute 测试。

    (清理)如果步骤失败:

    1. aws:changeInstanceState - 终止测试实例。

    2. aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。

    3. aws:executeAwsApi - 删除自动化创建的 IAM 实例配置文件。

    4. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略。

    5. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色分离。

    6. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    7. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  23. aws:runCommand-配置 CloudWatch 日志。

    (清理)如果步骤失败:

    1. aws:changeInstanceState - 终止测试实例。

    2. aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。

    3. aws:executeAwsApi - 删除自动化创建的 IAM 实例配置文件。

    4. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略。

    5. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色分离。

    6. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    7. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  24. aws:runCommand - 安排 cronjobs 每分钟运行一次测试。

    (清理)如果步骤失败:

    1. aws:changeInstanceState - 终止测试实例。

    2. aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。

    3. aws:executeAwsApi - 删除自动化创建的 IAM 实例配置文件。

    4. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略。

    5. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色分离。

    6. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    7. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  25. aws:sleep - 等待测试生成一些数据。

  26. aws:runCommand-设置所需的 CloudWatch 日志组保留时间。

    (清理)如果步骤失败:

    1. aws:changeInstanceState - 终止测试实例。

    2. aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。

    3. aws:executeAwsApi - 删除自动化创建的 IAM 实例配置文件。

    4. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略。

    5. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色分离。

    6. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    7. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  27. aws:runCommand-设置 CloudWatch 日志组指标筛选器。

    (清理)如果步骤失败:

    1. aws:changeInstanceState - 终止测试实例。

    2. aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。

    3. aws:executeAwsApi - 删除自动化创建的 IAM 实例配置文件。

    4. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略。

    5. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色分离。

    6. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    7. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

  28. aws:runCommand-创建 CloudWatch 仪表板。

    (清理)如果步骤失败:

    1. aws:executeAwsApi-删除 CloudWatch 仪表板(如果存在)。

    2. aws:changeInstanceState - 终止测试实例。

    3. aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。

    4. aws:executeAwsApi - 删除自动化创建的 IAM 实例配置文件。

    5. aws:executeAwsApi-从自动化创建的角色中删除 CloudWatch 内联策略。

    6. aws:executeAwsApi-将 AmazonSSM ManagedInstanceCore 托管策略与自动化创建的角色分离。

    7. aws:executeAwsApi - 删除自动化创建的 IAM 角色。

    8. aws:executeAwsApi - 删除自动化创建的安全组(如果存在)。

输出

创建CloudWatch仪表板。输出-仪表板的 URL。 CloudWatch

创建ManagedInstance。 InstanceIds -测试实例 ID。