本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWSSupport-SetupIPMonitoringFromVPC
描述
AWSSupport-SetupIPMonitoringFromVPC 在指定的子网中创建 EC2 实例,并通过持续运行 ping、MTR、traceroute 和 tracetcp 测试来监控选定的目标 IP(IPv4 或 IPv6)。结果存储在 Amazon CloudWatch Logs 日志中,通过应用指标筛选条件在 CloudWatch 控制面板中快速显示延迟和数据包丢失统计数据。
附加信息
CloudWatch Logs 数据可用于网络故障排除和模式/趋势分析。此外,您还可以配置 CloudWatch 警报,以在数据包丢失和/或延迟达到阈值时发送 Amazon SNS 通知。提出技术支持案例时也可以使用这些数据,以便在调查网络问题时帮助快速查明问题,缩短解决问题的时间。
要清除 AWSSupport-SetupIPMonitoringFromVPC 创建的资源,您可以使用运行手册 AWSSupport-TerminateIPMonitoringFromVPC
。有关更多信息,请参阅 AWSSupport-TerminateIPMonitoringFromVPC.
文档类型
Automation
所有者
Amazon
平台
Linux、macOS、Windows
参数
-
AutomationAssumeRole
类型:字符串
说明:(可选)允许 Systems Manager Automation 代表您执行操作的 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称 (ARN)。如果未指定任何角色,则 Systems Manager Automation 使用运行此文档的用户的权限。
-
CloudWatchLogGroupNamePrefix
类型:字符串
默认值:/AWSSupport-SetupIPMonitoringFromVPC
说明:(可选)为测试结果创建的每个 CloudWatch 日志组使用的前缀。
-
CloudWatchLogGroupRetentionInDays
类型:字符串
有效值: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
默认值:t2.micro
说明:(可选)EC2Rescue 实例的 EC2 实例类型。建议大小:t2.micro。
-
SubnetId
类型:字符串
说明:(必需)监控实例的子网 ID。注意,如果指定了私有子网,则必须确保具有 Internet 访问权限,以允许监控实例设置测试(也就是说,安装 CloudWatch Logs 代理,与 Systems Manager 和 CloudWatch). 交互)。
-
TargetIPs
类型:字符串
说明:(必需)要监控的以逗号分隔的 IPv4 和/或 IPv6 列表。不允许使用空格。最大大小为 255 个字符。注意,如果提供的 IP 无效,则 Automation 将失败并回滚测试设置。
所需的 IAM 权限
AutomationAssumeRole
需要执行以下操作才能成功运行 Automation 文档。
建议为运行 Automation 的用户附加 AmazonSSMAutomationRole 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" ], "Resource": [ "*" ], "Effect": "Allow" } ] }
文档步骤
-
aws:executeAwsApi - 描述提供的子网。
-
aws:branch - 评估 TargetIPs 输入。
(IPv6) 如果 TargetIPs 包含 IPv6:
aws:assertAwsResourceProperty - 检查提供的子网是否关联了 IPv6 池
-
aws:executeAwsApi - 从 Amazon Linux 2 获取最新的 Parameter Store. AMI。
-
aws:executeAwsApi - 在子网的 VPC 中为测试创建一个安全组。
(清理)如果安全组创建失败:
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
aws:executeAwsApi - 允许测试安全组中的所有出站流量。
(清理)如果安全组出口规则创建失败:
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
aws:executeAwsApi - 为测试 EC2 实例创建一个 IAM 角色
(清理)如果角色创建失败:
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色(如果存在)。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:executeAwsApi - 附加 AmazonSSMManagedInstanceCore 托管策略
(清理)如果附加策略失败:
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离(如果已附加)。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:executeAwsApi - 附加内联策略以允许设置 CloudWatch 日志组保留期和创建 CloudWatch 控制面板
(清理)如果附加内联策略失败:
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略(如果已创建)。
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:executeAwsApi - 创建 IAM 实例配置文件。
(清理)如果实例配置文件创建失败:
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 实例配置文件(如果存在)。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 AmazonSSMManagedInstanceCore 托管策略。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:executeAwsApi - 将 IAM 实例配置文件与 IAM 角色相关联。
(清理)如果实例配置文件和角色关联失败:
-
aws:executeAwsApi - 从角色中删除 IAM 实例配置文件(如果已关联)。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 实例配置文件。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略。
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:sleep - 等待实例配置文件变为可用。
-
aws:runInstances - 在指定的子网中创建测试实例,并附加先前创建的实例配置文件。
(清理)如果步骤失败:
-
aws:changeInstanceState - 终止测试实例。
-
aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 实例配置文件。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略。
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:branch - 评估 TargetIPs 输入。
(IPv6) 如果 TargetIPs 包含 IPv6:
aws:executeAwsApi - 为测试实例分配 IPv6。
-
aws:waitForAwsResourceProperty - 等待测试实例变为托管实例。
(清理)如果步骤失败:
-
aws:changeInstanceState - 终止测试实例。
-
aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 实例配置文件。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略。
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:runCommand - 安装测试必备组件:
(清理)如果步骤失败:
-
aws:changeInstanceState - 终止测试实例。
-
aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 实例配置文件。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略。
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:runCommand - 验证提供的 IP 是不是语法正确的 IPv4 和/或 IPv6 地址:
(清理)如果步骤失败:
-
aws:changeInstanceState - 终止测试实例。
-
aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 实例配置文件。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略。
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:runCommand - 为提供的每个 IP 定义 MTR 测试。
(清理)如果步骤失败:
-
aws:changeInstanceState - 终止测试实例。
-
aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 实例配置文件。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略。
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:runCommand - 为提供的每个 IP 定义第一个 ping 测试。
(清理)如果步骤失败:
-
aws:changeInstanceState - 终止测试实例。
-
aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 实例配置文件。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略。
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:runCommand - 为提供的每个 IP 定义第二个 ping 测试。
(清理)如果步骤失败:
-
aws:changeInstanceState - 终止测试实例。
-
aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 实例配置文件。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略。
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:runCommand - 为提供的每个 IP 定义 tracepath 测试。
(清理)如果步骤失败:
-
aws:changeInstanceState - 终止测试实例。
-
aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 实例配置文件。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略。
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:runCommand - 为提供的每个 IP 定义第一个 traceroute 测试。
(清理)如果步骤失败:
-
aws:changeInstanceState - 终止测试实例。
-
aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 实例配置文件。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略。
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:runCommand - 配置 CloudWatch 日志。
(清理)如果步骤失败:
-
aws:changeInstanceState - 终止测试实例。
-
aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 实例配置文件。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略。
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:runCommand - 安排 cronjobs 每分钟运行一次测试。
(清理)如果步骤失败:
-
aws:changeInstanceState - 终止测试实例。
-
aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 实例配置文件。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略。
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:sleep - 等待测试生成一些数据。
-
aws:runCommand - 设置所需的 CloudWatch 日志组保留期。
(清理)如果步骤失败:
-
aws:changeInstanceState - 终止测试实例。
-
aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 实例配置文件。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略。
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:runCommand - 设置 CloudWatch 日志组指标筛选条件。
(清理)如果步骤失败:
-
aws:changeInstanceState - 终止测试实例。
-
aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 实例配置文件。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略。
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
-
aws:runCommand - 创建 CloudWatch 控制面板。
(清理)如果步骤失败:
-
aws:executeAwsApi - 删除 CloudWatch 控制面板(如果存在)。
-
aws:changeInstanceState - 终止测试实例。
-
aws:executeAwsApi - 从角色中删除 IAM 实例配置文件。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 实例配置文件。
-
aws:executeAwsApi - 从 Automation 创建的角色中删除 CloudWatch 内联策略。
-
aws:executeAwsApi - 将 AmazonSSMManagedInstanceCore 托管策略与 Automation 创建的角色分离。
-
aws:executeAwsApi - 删除 Automation 创建的 IAM 角色。
-
aws:executeAwsApi - 删除 Automation 创建的安全组(如果存在)。
-
输出
createCloudWatchDashboards.Output - CloudWatch 控制面板的 URL。
createManagedInstance.InstanceIds - 测试实例 ID。