本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 支援,以協助快速隔離問題,並在調查網路問題時縮短解決時間。
文件類型
自動化
擁有者
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
預設:t3.micro
描述:(選用) EC2Rescue 執行個體的 EC2 執行個體類型。建議大小:t3.micro。
-
SubnetId
類型:字串
描述:(必要) 監控執行個體的子網路 ID。請注意,如果您指定私有子網路,則必須確保有網際網路存取權,以允許監控執行個體設定測試 (即安裝 CloudWatch Logs 代理程式、與 Systems Manager 和 CloudWatch 互動)。
-
TargetIPs
類型:字串
描述:(必要) 要監控的 IPv4 及/或 IPv6 逗號分隔清單。不可使用空格。大小上限為 255 字元。請注意,如果您提供無效的 IP,則自動化會失敗並轉返測試設定。
-
TestInstanceSecurityGroupId
類型:字串
描述:(選用) 測試執行個體的安全群組 ID。如果未指定,自動化會在執行個體建立期間建立一個。確定安全群組允許對監控 IPs傳出存取。
-
TestInstanceProfileName
類型:字串
描述:(選用) 測試執行個體的現有 IAM 執行個體描述檔名稱。如果未指定,自動化會在執行個體建立期間建立一個。角色必須具有下列許可:
logs:CreateLogStream、logs:DescribeLogStreams、logs:DescribeLogGroups和logs:PutLogEvents以及 AWS 受管政策AmazonSSMManagedInstanceCore。 -
TestInterval
類型:字串
描述:(選用) 測試間隔之間的分鐘數。預設值為
1分鐘,最大值為10分鐘。 -
RetainDashboardAndLogsOnDeletion
類型:字串
描述:(選用)
False指定 在刪除 AWS AWS CloudFormation 堆疊時刪除 Amazon CloudWatch 儀表板和日誌。預設值為True。根據預設,儀表板和日誌會保留,且不再需要時需要手動刪除。
必要的 IAM 許可
AutomationAssumeRole 參數需要下列動作才能成功使用 Runbook。
警告
建議傳遞TestInstanceProfileName參數或確保已設置安全護欄,以防止濫用可變 IAM 許可。
建議執行自動化的使用者連接 AmazonSSMAutomationRole IAM 受管政策。此外,使用者必須將以下政策連接至其使用者帳戶、群組或角色:
如果提供 TestInstanceProfileName 參數,則不需要下列 IAM 許可來執行 Runbook:
-
iam:CreateRole
-
iam:CreateInstanceProfile
-
iam:DetachRolePolicy
-
iam:AttachRolePolicy
-
iam:AddRoleToInstanceProfile
-
iam:RemoveRoleFromInstanceProfile
-
iam:DeleteRole
-
iam:DeleteRolePolicy
-
iam:DeleteInstanceProfile
文件步驟
-
aws:executeAwsApi- 描述提供的子網路,以取得 VPC ID 和 IPv6 CIDR 區塊關聯狀態。 -
aws:executeScript- 驗證提供的目標 IPs 在語法上是正確的 IPv4 和/或 IPv6 地址、取得所選執行個體類型的架構,並確認子網路是否具有 IPv6 集區關聯,如果任何目標 IP 是 IPv6。 -
aws:createStack- 建立佈建測試 Amazon EC2 執行個體、IAM 執行個體描述檔 (若未提供)、安全群組 (若未提供)、CloudWatch 日誌群組和 CloudWatch 儀表板的 AWS CloudFormation 堆疊。(清除) 如果步驟失敗:
aws:executeScript- 描述 CloudFormation 堆疊事件以識別失敗原因。aws:deleteStack- 刪除 CloudFormation 堆疊和所有相關聯的資源。 -
aws:waitForAwsResourceProperty- 等待 CloudFormation 堆疊完成建立。(清除) 如果步驟失敗:
aws:executeScript- 描述 CloudFormation 堆疊事件以識別失敗原因。aws:deleteStack- 刪除 CloudFormation 堆疊和所有相關聯的資源。 -
aws:executeScript- 描述 CloudFormation 堆疊資源以取得測試執行個體 ID、安全群組 ID、IAM 角色、執行個體描述檔和儀表板名稱。(清除) 如果步驟失敗:
aws:executeScript- 描述 CloudFormation 堆疊事件以識別失敗原因。aws:deleteStack- 刪除 CloudFormation 堆疊和所有相關聯的資源。 -
aws:waitForAwsResourceProperty- 等待測試執行個體成為受管執行個體。(清除) 如果步驟失敗:
aws:deleteStack- 刪除 CloudFormation 堆疊和所有相關聯的資源。 -
aws:runCommand- 在測試執行個體上安裝 CloudWatch 代理程式。(清除) 如果步驟失敗:
aws:deleteStack- 刪除 CloudFormation 堆疊和所有相關聯的資源。 -
aws:runCommand- 定義每個所提供 IPs 的網路測試指令碼 (MTR、ping、 tracepath 和 traceroute)。(清除) 如果步驟失敗:
aws:deleteStack- 刪除 CloudFormation 堆疊和所有相關聯的資源。 -
aws:runCommand- 使用每 TestInterval 分鐘執行的 cronjob 開始網路測試並排程後續執行。(清除) 如果步驟失敗:
aws:deleteStack- 刪除 CloudFormation 堆疊和所有相關聯的資源。 -
aws:runCommand- 設定 CloudWatch 代理程式將測試結果從 推送/home/ec2-user/logs/至 CloudWatch Logs。(清除) 如果步驟失敗:
aws:deleteStack- 刪除 CloudFormation 堆疊和所有相關聯的資源。 -
aws:runCommand- 在 中設定測試結果的日誌輪換/home/ec2-user/logs/。 -
aws:executeScript- 為 CloudFormation 堆疊建立的所有 CloudWatch 日誌群組設定保留政策。 -
aws:executeScript- 建立用於 ping 延遲和 ping 封包遺失的 CloudWatch 日誌群組指標篩選條件。(清除) 如果步驟失敗:
aws:deleteStack- 刪除 CloudFormation 堆疊和所有相關聯的資源。 -
aws:executeScript- 更新 CloudWatch 儀表板,以包含 ping 延遲和 ping 封包遺失統計資料的小工具。(清除) 如果步驟失敗:
aws:executeAwsApi- 刪除存在的 CloudWatch 儀表板。aws:deleteStack- 刪除 CloudFormation 堆疊和所有相關聯的資源。 -
aws:branch- 評估 SleepTime 參數。如果設定為0,自動化會結束而不刪除堆疊。 -
aws:sleep- 先等待指定的 SleepTime 持續時間,再刪除 CloudFormation 堆疊。 -
aws:deleteStack- 刪除 CloudFormation 堆疊。根據 RetainDashboardAndLogsOnDeletion 參數,CloudWatch 儀表板和日誌群組會保留或刪除。(清除) 如果堆疊刪除失敗:
aws:executeScript- 描述 CloudFormation 堆疊事件以識別刪除失敗原因。
輸出
updateCloudWatchDashboard.StackUrl - CloudFormation 堆疊的 URL。
updateCloudWatchDashboard.DashboardUrl - CloudWatch 儀表板的 URL。
updateCloudWatchDashboard.DashboardName - CloudWatch 儀表板的名稱。
updateCloudWatchDashboard.LogGroups - 已建立的 CloudWatch 日誌群組清單。
describeStackResources.HelperInstanceId - 測試執行個體 ID。
describeStackResources.StackName - CloudFormation 堆疊名稱。