AWSSupport-SetupIPMonitoringFromVPC - AWS Systems Manager 自動化 Runbook 參考

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWSSupport-SetupIPMonitoringFromVPC

Description

AWSSupport-SetupIPMonitoringFromVPC 會在指定的子網路中建立 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,並透過持續執行 ping、MTR、 traceroute 和 tracetcp 測試來監控選取的目標 IPs (IPv4 或 IPv6)。結果會儲存在 Amazon CloudWatch Logs 日誌中,並套用指標篩選條件,以快速視覺化 CloudWatch 儀表板中的延遲和封包遺失統計資料。

其他資訊

CloudWatch Logs 資料可用於網路故障診斷和分析模式/趨勢。此外,您可以在封包遺失和/或延遲達到閾值時,使用 Amazon SNS 通知設定 CloudWatch 警示。使用 開啟案例時,也可以使用資料 AWS 支援,以協助快速隔離問題,並在調查網路問題時縮短解決時間。

注意

若要清除 AWSSupport-SetupIPMonitoringFromVPC 建立的資源,您可以使用 Runbook AWSSupport-TerminateIPMonitoringFromVPC 。如需詳細資訊,請參閱 AWSSupport-TerminateIPMonitoringFromVPC

執行此自動化 (主控台)

文件類型

 自動化

擁有者

Amazon

平台

Linux、macOS、 Windows

參數

  • AutomationAssumeRole

    類型:字串

    描述:(選用) 允許 Systems Manager Automation 代表您執行動作的 (IAM) 角色的 AWS Identity and Access Management Amazon Resource Name (ARN)。如果未指定角色,Systems Manager Automation 會使用啟動此 Runbook 的使用者許可。

  • 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 | t3.micro | t3.small | t3.medium | t3.large | t4g.micro | t4g.small | t4g.medium | t4g.large

    預設:t2.micro

    描述:(選用) EC2Rescue 執行個體的 EC2 執行個體類型。建議大小:t2.micro。

  • SubnetId

    類型:字串

    描述:(必要) 監控執行個體的子網路 ID。請注意,如果您指定私有子網路,則必須確保有網際網路存取權,以允許監控執行個體設定測試 (這表示,安裝 CloudWatch Logs 代理程式,與 Systems Manager 和 CloudWatch 互動)。

  • TargetIPs

    類型:字串

    描述:(必要) 要監控的 IPv4 及/或 IPv6 逗號分隔清單。不可使用空格。大小上限為 255 字元。請注意,如果您提供無效的 IP,則自動化會失敗並轉返測試設定。

必要的 IAM 許可

AutomationAssumeRole 參數需要下列動作才能成功使用 Runbook。

建議執行自動化的使用者連接 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", "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 - AMI 從 參數存放區取得最新的 Amazon Linux 2。

  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 - 連接 AmazonSSMManagedInstanceCore 受管政策

    (清除) 若政策連接失敗:

    1. aws:executeAwsApi - 如果連接,請將 AmazonSSMManagedInstanceCore 受管政策與自動化建立的角色分離。

    2. aws:executeAwsApi - 刪除自動化建立的 IAM 角色。

    3. aws:executeAwsApi - 如果存在,請刪除自動化建立的安全群組。

  9. aws:executeAwsApi - 連接內嵌政策,以允許設定 CloudWatch 日誌群組保留和建立 CloudWatch 儀表板

    (清除) 若內嵌政策連接失敗:

    1. aws:executeAwsApi - 如果已建立,請從自動化建立的角色中刪除 CloudWatch 內嵌政策。

    2. aws:executeAwsApi - 從自動化建立的角色分離 AmazonSSMManagedInstanceCore 受管政策。

    3. aws:executeAwsApi - 刪除自動化建立的 IAM 角色。

    4. aws:executeAwsApi - 如果存在,請刪除自動化建立的安全群組。

  10. aws:executeAwsApi - 建立 IAM 執行個體設定檔。

    (清除) 如果執行個體描述檔建立失敗:

    1. aws:executeAwsApi - 刪除自動化建立的 IAM 執行個體描述檔,如果存在的話。

    2. aws:executeAwsApi - 從自動化建立的角色刪除 CloudWatch 內嵌政策。

    3. aws:executeAwsApi - 從自動化建立的角色刪除 AmazonSSMManagedInstanceCore 受管政策。

    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 - 從自動化建立的角色分離 AmazonSSMManagedInstanceCore 受管政策。

    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 - 從自動化建立的角色分離 AmazonSSMManagedInstanceCore 受管政策。

    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 - 從自動化建立的角色分離 AmazonSSMManagedInstanceCore 受管政策。

    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 - 從自動化建立的角色分離 AmazonSSMManagedInstanceCore 受管政策。

    6. aws:executeAwsApi - 刪除自動化建立的 IAM 角色。

    7. aws:executeAwsApi - 如果存在,請刪除自動化建立的安全群組。

  17. aws:runCommand - 驗證提供的 IPs 在語法上是正確的 IPv4 和/或 IPv6 地址:

    (清除) 如果步驟失敗:

    1. aws:changeInstanceState - 終止測試執行個體。

    2. aws:executeAwsApi - 從角色移除 IAM 執行個體設定檔。

    3. aws:executeAwsApi - 刪除自動化建立的 IAM 執行個體描述檔。

    4. aws:executeAwsApi - 從自動化建立的角色刪除 CloudWatch 內嵌政策。

    5. aws:executeAwsApi - 從自動化建立的角色分離 AmazonSSMManagedInstanceCore 受管政策。

    6. aws:executeAwsApi - 刪除自動化建立的 IAM 角色。

    7. aws:executeAwsApi - 如果存在,請刪除自動化建立的安全群組。

  18. aws:runCommand - 為每個提供的 IPs 定義 MTR 測試。

    (清除) 如果步驟失敗:

    1. aws:changeInstanceState - 終止測試執行個體。

    2. aws:executeAwsApi - 從角色移除 IAM 執行個體設定檔。

    3. aws:executeAwsApi - 刪除自動化建立的 IAM 執行個體描述檔。

    4. aws:executeAwsApi - 從自動化建立的角色刪除 CloudWatch 內嵌政策。

    5. aws:executeAwsApi - 從自動化建立的角色分離 AmazonSSMManagedInstanceCore 受管政策。

    6. aws:executeAwsApi - 刪除自動化建立的 IAM 角色。

    7. aws:executeAwsApi - 如果存在,請刪除自動化建立的安全群組。

  19. aws:runCommand - 為每個提供的 IPs 定義第一個 ping 測試。

    (清除) 如果步驟失敗:

    1. aws:changeInstanceState - 終止測試執行個體。

    2. aws:executeAwsApi - 從角色移除 IAM 執行個體設定檔。

    3. aws:executeAwsApi - 刪除自動化建立的 IAM 執行個體描述檔。

    4. aws:executeAwsApi - 從自動化建立的角色刪除 CloudWatch 內嵌政策。

    5. aws:executeAwsApi - 從自動化建立的角色分離 AmazonSSMManagedInstanceCore 受管政策。

    6. aws:executeAwsApi - 刪除自動化建立的 IAM 角色。

    7. aws:executeAwsApi - 如果存在,請刪除自動化建立的安全群組。

  20. aws:runCommand - 為每個提供的 IPs 定義第二個 ping 測試。

    (清除) 如果步驟失敗:

    1. aws:changeInstanceState - 終止測試執行個體。

    2. aws:executeAwsApi - 從角色移除 IAM 執行個體設定檔。

    3. aws:executeAwsApi - 刪除自動化建立的 IAM 執行個體描述檔。

    4. aws:executeAwsApi - 從自動化建立的角色刪除 CloudWatch 內嵌政策。

    5. aws:executeAwsApi - 從自動化建立的角色分離 AmazonSSMManagedInstanceCore 受管政策。

    6. aws:executeAwsApi - 刪除自動化建立的 IAM 角色。

    7. aws:executeAwsApi - 如果存在,請刪除自動化建立的安全群組。

  21. aws:runCommand - 定義每個所提供 IPs的追蹤路徑測試。

    (清除) 如果步驟失敗:

    1. aws:changeInstanceState - 終止測試執行個體。

    2. aws:executeAwsApi - 從角色移除 IAM 執行個體設定檔。

    3. aws:executeAwsApi - 刪除自動化建立的 IAM 執行個體描述檔。

    4. aws:executeAwsApi - 從自動化建立的角色中刪除 CloudWatch 內嵌政策。

    5. aws:executeAwsApi - 將 AmazonSSMManagedInstanceCore 受管政策與自動化建立的角色分離。

    6. aws:executeAwsApi - 刪除自動化建立的 IAM 角色。

    7. aws:executeAwsApi - 如果存在,請刪除自動化建立的安全群組。

  22. aws:runCommand - 為每個提供的 IPs定義追蹤路由測試。

    (清除) 如果步驟失敗:

    1. aws:changeInstanceState - 終止測試執行個體。

    2. aws:executeAwsApi - 從角色移除 IAM 執行個體設定檔。

    3. aws:executeAwsApi - 刪除自動化建立的 IAM 執行個體描述檔。

    4. aws:executeAwsApi - 從自動化建立的角色中刪除 CloudWatch 內嵌政策。

    5. aws:executeAwsApi - 從自動化建立的角色分離 AmazonSSMManagedInstanceCore 受管政策。

    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 - 將 AmazonSSMManagedInstanceCore 受管政策與自動化建立的角色分離。

    6. aws:executeAwsApi - 刪除自動化建立的 IAM 角色。

    7. aws:executeAwsApi - 如果存在,請刪除自動化建立的安全群組。

  24. aws:runCommand - 排程 cronjob 每分鐘執行一次測試。

    (清除) 如果步驟失敗:

    1. aws:changeInstanceState - 終止測試執行個體。

    2. aws:executeAwsApi - 從角色移除 IAM 執行個體設定檔。

    3. aws:executeAwsApi - 刪除自動化建立的 IAM 執行個體描述檔。

    4. aws:executeAwsApi - 從自動化建立的角色刪除 CloudWatch 內嵌政策。

    5. aws:executeAwsApi - 從自動化建立的角色分離 AmazonSSMManagedInstanceCore 受管政策。

    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 - 從自動化建立的角色分離 AmazonSSMManagedInstanceCore 受管政策。

    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 - 將 AmazonSSMManagedInstanceCore 受管政策與自動化建立的角色分離。

    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 - 從自動化建立的角色分離 AmazonSSMManagedInstanceCore 受管政策。

    7. aws:executeAwsApi - 刪除自動化建立的 IAM 角色。

    8. aws:executeAwsApi - 如果存在,請刪除自動化建立的安全群組。

輸出

createCloudWatchDashboards.Output - CloudWatch 儀表板的 URL。

createManagedInstance.InstanceIds - 測試執行個體 ID。