在事件管理員中使用系統管理員自動化手冊 - Incident Manager

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

在事件管理員中使用系統管理員自動化手冊

您可以使用 AWS Systems ManagerAutomation 的 AWS Systems Manager Runbook (一種功能) 來自動化AWS 雲端環境中的常見應用程式和基礎結構工作。

每個 runbook 定義了 runbook 工作流程,這是由系統管理員在受管理的節點或其他AWS資源類型上執行的動作組成。您可以使用 runbook 來自動化AWS資源的維護、部署和補救。

在事件管理員中,runbook 驅動事件回應和緩和措施,並指定要用作回應計畫的一部分的 runbook。

在您的回應計畫中,您可以從數十種預先設定的 Runbook 中進行選擇,以處理常用的自動化工作,或是建立自訂的 Runbook。當您在回應計畫定義中指定 runbook 時,系統可以在事件開始時自動啟動 runbook。

重要

跨區域容錯移轉所建立的事件不會叫用回應計畫中指定的 Runbook。

如需系統管理員自動化、手冊,以及搭配事件管理員使用 Runbook 的相關資訊,請參閱下列主題:

啟動和執行手冊工作流程所需的 IAM 許可

事件管理員需要執行 Runbook 的權限,做為事件回應的一部分。若要提供這些權限,您可以使用 AWS Identity and Access Management (IAM) 角色、Runbook 服務角色和自動化AssumeRole

Runbook 服務角色是必要的服務角色。此角色為事件管理員提供存取和啟動 runbook 工作流程所需的權限。

自動化AssumeRole提供執行 runbook 中指定的個別命令所需的權限。

注意

如果未指AssumeRole定,系統管理員自動化會嘗試針對個別命令使用 Runbook 服務角色。如果未指定AssumeRole,則必須將必要的權限新增至 Runbook 服務角色。如果你不這樣做,runbook 無法運行這些命令。

不過,為了安全性最佳作法,我們建議您使用個別的AssumeRole。使用單獨的方式AssumeRole,您可以限制必須新增至每個角色的必要權限。

如需有關自動化的詳細資訊AssumeRole,請參閱《AWS Systems Manager使用者指南》中的 < 設定自動化的服務角色 (假定角色) 存取權限 >。

您可以在 IAM 主控台中自行建立任一類型的角色。-您也可以在建立或更新回應計劃時,讓事件管理員為您建立任何一種角色。

Runbook 服務角色權限

Runbook 服務角色權限是透過類似下列的原則提供。

第一個陳述式允許事件管理員啟動系統管理員StartAutomationExecution作業。然後,此作業會在三種 Amazon 資源名稱 (ARN) 格式所表示的資源上執行。

第二個陳述式允許 Runbook 服務角色在受影響的帳戶中執行時,該 runbook 服務角色扮演另一個帳戶中的角色。如需詳細資訊,請參閱《AWS Systems Manager使用指南》中的「在多個AWS 區域帳戶中執行自動化」。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:StartAutomationExecution", "Resource": [ "arn:aws:ssm:*:{{DocumentAccountId}}:automation-definition/{{DocumentName}}:*", "arn:aws:ssm:*:{{DocumentAccountId}}:document/{{DocumentName}}:*", "arn:aws:ssm:*::automation-definition/{{DocumentName}}:*" ] }, { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::*:role/AWS-SystemsManager-AutomationExecutionRole", "Condition": { "StringEquals": { "aws:CalledViaLast": "ssm.amazonaws.com" } } } ] }
自動化AssumeRole權限

當您建立或更新回應計劃時,您可以從數個AWS受管理的策略中選擇要附加至「事AssumeRole件管理員」建立的策略。這些原則提供執行在事件管理員 runbook 案例中使用的一些常見作業的權限。您可以選擇這些受管理的策略中的一個或多個來為您的AssumeRole策略提供權限。下表說明從「事件管理員」主控台建立時,您可以AssumeRole從中選擇的策略。

AWS 受管政策名稱 策略描述
AmazonSSMAutomationRole 授予系統管理員自動化服務的權限,以執行 Runbook 中定義的活動。將此政策指派給管理員和信任的高權限使用者。
AWSIncidentManagerResolverAccess

授與使用者啟動、檢視和更新事件的權限。您還可以使用它們在事件儀表板中創建客戶時間表事件和相關項目。

您可以使用這些受管理的原則來授與許多常見事件回應案例的權限。但是,您需要的特定任務所需的權限可能會有所不同。在這些情況下,您需要為AssumeRole. 如需相關資訊,請參閱AWS Systems Manager自動化工作流程簿參考

使用工作流程簿參數

將 Runbook 加入回應計劃時,您可以指定 Runbook 在執行時間應使用的參數。回應計劃支援具有靜態和動態值的參數。對於靜態值,您可以在定義回應計劃中的參數時輸入值。對於動態值,系統會透過從事件中收集資訊來確定正確的參數值。Incident Manager 支援以下動態參數:

Incident ARN

當 Incident Manager 建立事件時,系統會擷取對應事件記錄的 Amazon Resource Name (ARN),並在 Runbook 中為此參數輸入該名稱。

注意

此值只能指派給 String 類型的參數。如果指派給任何其他類型的參數,則無法執行 Runbook。

Involved resources

當 Incident Manager 建立事件時,系統會擷取事件所涉及資源的 ARN。然後,這些資源 ARN 會指派給 Runbook 中的此參數。

關於相關資源

事件管理員可以使用CloudWatch警示、事件和手動建立的EventBridge事件中指定的AWS資源 ARN 填入 runbook 參數值。本節說明在填入此參數時,「事件管理員」可擷取 ARN 的不同資源類型。

CloudWatch 警示

當事件是透過CloudWatch警示動作建立時,事件管理員會自動從關聯的指標中擷取下列類型的資源。然後,它會使用下列相關資源填入所選參數:

AWS 服務 資源類型

Amazon DynamoDB

全域次要索引

串流

資料表

Amazon EC2

映像

執行個體

AWS Lambda

函數別名

函數版本

函數

Amazon Relational Database Service (Amazon RDS)

叢集

數據庫實例

Amazon Simple Storage Service (Amazon S3)

儲存貯體

EventBridge 規則

當系統從事件建立事件時,EventBridge事件管理員會將事件中的Resources屬性填入選擇的參數。如需詳細資訊,請參閱 Amazon EventBridge使用者指南中的 Amazon EventBridge 事件

手動建立的事件

當您使用 StartIncidentAPI 動作建立事件時,事件管理員會使用 API 呼叫中的資訊填入選擇的參數。具體而言,它會使用在參數中傳遞INVOLVED_RESOURCE的類型項目來填入relatedItems參數。

注意

INVOLVED_RESOURCES值只能指定給類型的參數StringList。如果指派給任何其他類型的參數,則無法執行 Runbook。

定義一個工作手冊

建立 runbook 時,您可以遵循此處提供的步驟,或者您可以遵循「系統管理員使用者指南」中「使用手冊」一節中提供的更詳細的指南。如果您要建立多帳戶、多區域 Runbook,請參閱《統管理員使用指南》中的〈在多個帳戶AWS 區域和帳戶中執行自動化〉。

定義一個工作手冊
  1. 開啟系統管理員主控台,網址為 https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Documents (文件)

  3. 選擇 Create automation (建立自動化)

  4. 輸入唯一且可識別的 Runbook 名稱。

  5. 輸入工作手冊的描述。

  6. 為要承擔的自動化文件提供 IAM 角色。這允許 Runbook 自動運行命令。如需詳細資訊,請參閱設定自動化工作流程的服務角色存取權限

  7. (選擇性) 新增 Runbook 開頭的任何輸入參數。您可以在啟動 runbook 時使用動態或靜態參數。動態參數使用 Runbook 啟動時事件中的值。靜態參數使用您提供的值。

  8. (選擇性) 新增目標類型。

  9. (選擇性) 新增標籤。

  10. 填寫在運行手冊將採取的步驟,當它運行。每個步驟都需要:

    • 名稱。

    • 步驟用途的描述。

    • 要在步驟中執行的動作。Runbook 使用「暫停」動作類型來描述手動步驟。

    • (選擇性) 指令屬性。

  11. 添加所有必需的 runbook 步驟後,選擇創建自動化

若要啟用跨帳戶功能,請與事件期間使用 runbook 的所有應用程式帳戶共用管理帳戶中的 runbook。

共用工作手冊
  1. 開啟系統管理員主控台,網址為 https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Documents (文件)

  3. 在文件清單中,選擇您要共用的文件,然後選擇 [檢視詳細資料]。在 Permissions (許可) 索引標籤中,驗證您是文件的擁有者。只有文件擁有者可以分享文件。

  4. 選擇 編輯

  5. 若要公開共享命令,選擇 Public (公有),然後選擇 Save (儲存)。若要私下共用命令,選擇 Private (私有),輸入 AWS 帳戶 ID,選擇 Add permission (新增許可),然後選擇 Save (儲存)。

事件管理員手冊範本

事件管理員提供下列 runbook 範本,以協助您的小組開始撰寫系統管理員自動化中的 Runbook。您可以直接使用此範本,也可以編輯範本以包含應用程式和資源的特定詳細資訊。

尋找事件管理員工作流程簿範本
  1. 開啟系統管理員主控台,網址為 https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Documents (文件)

  3. 在 [件] 區域中,AWSIncidents-在搜尋欄位中輸入,以顯示所有「事件管理員」Runbook。

    提示

    輸入AWSIncidents-為自由文字,而不是使用文件名稱前置詞篩選選項。

使用範本
  1. 開啟系統管理員主控台,網址為 https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Documents (文件)

  3. 從文件清單中選擇您要更新的範本。

  4. 選擇 [內] 索引標籤,然後複製文件的內容。

  5. 在導覽窗格中,選擇 Documents (文件)

  6. 選擇 Create automation (建立自動化)

  7. 輸入唯一且可識別的名稱。

  8. 選擇編輯器索引標籤。

  9. 選擇 編輯

  10. 在 [文件編輯器] 區域中貼上或輸入複製的詳細資訊。

  11. 選擇 Create automation (建立自動化)

AWSIncidents-CriticalIncidentRunbookTemplate

AWSIncidents-CriticalIncidentRunbookTemplate是一個以手動步驟提供事件管理員事件生命週期的範本。這些步驟非常通用,可用於大多數應用程式,但足以讓回應人員開始解決事件。