

AWS Systems Manager Incident Manager 不再開放給新客戶。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[AWS Systems Manager Incident Manager 可用性變更](https://docs.aws.amazon.com/incident-manager/latest/userguide/incident-manager-availability-change.html)。

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

# 在 Incident Manager 中整合 Systems Manager Automation Runbook 以進行事件修復
<a name="runbooks"></a>

您可以使用 中的工具 [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) Runbook AWS Systems Manager來自動化 AWS 雲端 環境中常見的應用程式和基礎設施任務。

每個 Runbook 都會定義 *Runbook 工作流程*，由 Systems Manager 在您的受管節點或其他 AWS 資源類型上執行的動作組成。您可以使用 Runbook 自動化資源 AWS 的維護、部署和修復。



在 Incident Manager 中， Runbook 會驅動事件回應和緩解，而您會指定 Runbook 做為回應計畫的一部分。

在您的回應計劃中，您可以從數十個預先設定的 Runbook 中，為常見的自動化任務進行選擇，也可以建立自訂 Runbook。當您在回應計畫定義中指定 Runbook 時，系統可在事件開始時自動啟動 Runbook。

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

如需 Systems Manager 自動化、執行手冊和搭配 Incident Manager 使用執行手冊的詳細資訊，請參閱下列主題：
+ 若要將 Runbook 新增至回應計劃，請參閱 [在 Incident Manager 中建立和設定回應計劃](response-plans.md)。
+ 若要進一步了解 Runbook，請參閱*AWS Systems Manager 《 使用者指南*》中的[AWS Systems Manager 自動化](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html)和 *[AWS Systems Manager Automation Runbook 參考](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-runbook-reference.html)*。
+ 如需使用 Runbook 的成本資訊，請參閱 [Systems Manager 定價](https://aws.amazon.com/systems-manager/pricing/)。
+ 如需在 Amazon CloudWatch 警示或 Amazon EventBridge 事件建立事件時自動叫用 Runbook 的資訊，請參閱[教學課程：搭配 Incident Manager 使用 Systems Manager Automation Runbook](https://docs.aws.amazon.com//incident-manager/latest/userguide/tutorials-runbooks.html)。

**Topics**
+ [啟動和執行 Runbook 工作流程所需的 IAM 許可](#runbook-permissions)
+ [使用 Runbook 參數](#runbooks-parameters)
+ [定義 Runbook](#runbook-create)
+ [Incident Manager Runbook 範本](#runbooks-template)

## 啟動和執行 Runbook 工作流程所需的 IAM 許可
<a name="runbook-permissions"></a>

Incident Manager 需要許可，才能在事件回應中執行 Runbook。若要提供這些許可，您可以使用 AWS Identity and Access Management (IAM) 角色、 *Runbook 服務角色*和 *Automation `AssumeRole`*。

Runbook 服務角色是必要的服務角色。此角色為 Incident Manager 提供存取和啟動 Runbook 工作流程所需的許可。

自動化`AssumeRole`提供執行 Runbook 中指定的個別命令所需的許可。

**注意**  
如果未指定 `AssumeRole` ，Systems Manager Automation 會嘗試將 Runbook 服務角色用於個別命令。如果您未指定 `AssumeRole`，則必須將必要的許可新增至 Runbook 服務角色。如果沒有，則 Runbook 無法執行這些命令。  
不過，根據安全最佳實務，建議您使用個別的 `AssumeRole`。使用個別的 `AssumeRole`，您可以限制您必須新增至每個角色的必要許可。

如需自動化 的詳細資訊`AssumeRole`，請參閱*AWS Systems Manager 《 使用者指南*》中的[設定自動化的服務角色 （擔任角色） 存取](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-setup.html#automation-setup-configure-role)。

您可以在 IAM 主控台中自行手動建立任一類型的角色。- 您也可以讓 Incident Manager 在您建立或更新回應計畫時為您建立任一類型的角色。

**Runbook 服務角色許可**  
Runbook 服務角色許可是透過類似以下內容的政策提供。

第一個陳述式允許 Incident Manager 啟動 Systems Manager `StartAutomationExecution`操作。然後，此操作會在由三種 Amazon Resource Name (ARN) 格式表示的資源上執行。

第二個陳述式允許 Runbook 服務角色在受影響的帳戶中執行 Runbook 時，擔任另一個帳戶中的角色。如需詳細資訊，請參閱*AWS Systems Manager 《 使用者指南*》[中的在多個 AWS 區域 和 帳戶中執行自動化](https://docs.aws.amazon.com/systems-manager/latest/userguide/running-automations-multiple-accounts-regions.html)。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ssm:StartAutomationExecution",
            "Resource": [
                "arn:aws:ssm:*:111122223333:document/{{DocumentName}}",
                "arn:aws:ssm:*:111122223333:automation-execution/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::*:role/AWS-SystemsManager-AutomationExecutionRole",
            "Condition": {
                "StringEquals": {
                    "aws:CalledViaLast": "ssm.amazonaws.com"
                }
            }
        }
    ]
}
```

------

**Automation AssumeRole 許可**  
``當您建立或更新回應計劃時，您可以從數個 AWS 受管政策中選擇連接到 Incident Manager 建立的 AssumeRole。這些政策提供許可，以執行在 Incident Manager Runbook 案例中使用的許多常見操作。您可以選擇一或多個這些受管政策，以提供`AssumeRole`政策的許可。``下表說明從 `AssumeRole` Incident Manager 主控台建立 時可以選擇的政策。


| AWS 受管政策名稱 | 政策描述 | 
| --- | --- | 
| AmazonSSMAutomationRole | 准許 Systems Manager Automation 服務執行 Runbook 中定義的活動。將此政策指派給管理員和信任的高權限使用者。 | 
| AWSIncidentManagerResolverAccess |  准許使用者啟動、檢視和更新事件。您也可以使用它們在事件儀表板中建立客戶時間軸事件和相關項目。  | 

您可以使用這些受管政策，授予許多常見事件回應案例的許可。不過，您需要的特定任務所需的許可可能會有所不同。在這些情況下，您需要為 提供額外的政策許可`AssumeRole`。如需詳細資訊，請參閱 *[AWS Systems Manager Automation Runbook 參考](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-runbook-reference.html)*。

## 使用 Runbook 參數
<a name="runbooks-parameters"></a>

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

`Incident ARN`  
當 Incident Manager 建立事件時，系統會擷取對應事件記錄的 Amazon Resource Name (ARN)，並在 Runbook 中為此參數輸入該名稱。  
此值只能指派給 `String` 類型的參數。如果指派給任何其他類型的參數，則無法執行 Runbook。

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

### 關於相關聯的資源
<a name="runbooks-parameters-involved-resources"></a>

Incident Manager 可以將 CloudWatch 警示、EventBridge 事件和手動建立的事件中指定的 AWS 資源 ARNs 填入 Runbook 參數值。本節說明在填入此參數時 Incident Manager 可以擷取 ARNs的不同類型的資源。

**CloudWatch 警示**  
從 CloudWatch 警示動作建立事件時，Incident Manager 會自動從相關聯的指標擷取下列類型的資源。然後，它會將下列涉及的資源填入所選的參數：


****  

| AWS 服務 | Resource Type (資源類型) | 
| --- | --- | 
|  Amazon DynamoDB  |  全域次要索引 串流 表格  | 
|  Amazon EC2  |  映像 執行個體  | 
|  AWS Lambda  |  函數別名 函數版本 函數  | 
|  Amazon Relational Database Service (Amazon RDS)  |  叢集 資料庫執行個體  | 
|  Amazon Simple Storage Service (Amazon S3)  |  儲存貯體  | 

**EventBridge 規則**  
當系統從 EventBridge 事件建立事件時，Incident Manager 會在事件中以 `Resources` 屬性填入所選的參數。如需詳細資訊，請參閱《[Amazon EventBridge 使用者指南](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)*》中的 Amazon EventBridge *事件。

**手動建立的事件**  
當您使用 [StartIncident](https://docs.aws.amazon.com/incident-manager/latest/APIReference/API_StartIncident.html) API 動作建立事件時，Incident Manager 會使用 API 呼叫中的資訊填入所選的參數。具體而言，它會使用在 參數中傳遞的 類型項目`INVOLVED_RESOURCE`來填入`relatedItems`參數。

**注意**  
此`INVOLVED_RESOURCES`值只能指派給類型 的參數`StringList`。如果指派給任何其他類型的參數，則無法執行 Runbook。

## 定義 Runbook
<a name="runbook-create"></a>

建立 Runbook 時，您可以遵循此處提供的步驟，也可以遵循 Systems Manager 使用者指南中的[使用 Runbook ](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html)一節所提供的更詳細指南。 **如果您要建立多帳戶、多區域 Runbook，請參閱 *Systems Manager 使用者指南*[中的在多個 AWS 區域 和 帳戶中執行自動化](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html)。

**定義 Runbook**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Documents (文件)**。

1. 選擇 **Create automation (建立自動化)**。

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

1. 輸入 Runbook 的描述。

1. 為要擔任的自動化文件提供 IAM 角色。這可讓 Runbook 自動執行命令。如需詳細資訊，請參閱[設定自動化工作流程的服務角色存取](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-setup.html#automation-setup-configure-role)。

1. （選用） 新增 Runbook 開頭的任何輸入參數。您可以在啟動 Runbook 時使用動態或靜態參數。動態參數會使用 Runbook 啟動所在事件中的值。靜態參數會使用您提供的值。

1. （選用） 新增**目標**類型。

1. (選用) 新增標籤。

1. 填寫執行手冊時將採取的步驟。每個步驟都需要：
   + 名稱。
   + 步驟用途的描述。
   + 步驟期間要執行的動作。Runbook 使用**暫停**動作類型來描述手動步驟。
   + （選用） 命令屬性。

1. 新增所有必要的 Runbook 步驟後，選擇**建立自動化**。

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

**共用 Runbook**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Documents (文件)**。

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

1. 選擇**編輯**。

1. 若要公開共享命令，選擇 **Public (公有)**，然後選擇 **Save (儲存)**。若要私下共用命令，請選擇**私有**，輸入 AWS 帳戶 ID，選擇**新增許可**，然後選擇**儲存**。

## Incident Manager Runbook 範本
<a name="runbooks-template"></a>

Incident Manager 提供下列 Runbook 範本，以協助您的團隊在 Systems Manager 自動化中開始撰寫 Runbook。您可以照原樣使用此範本，或對其進行編輯，以包含應用程式和資源的特定詳細資訊。

**尋找 Incident Manager Runbook 範本**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Documents (文件)**。

1. 在**文件**區域中，**AWSIncidents-**在搜尋欄位中輸入 以顯示所有 Incident Manager Runbook。
**提示**  
輸入 **AWSIncidents-**做為任意文字，而不是使用**文件名稱字首**篩選條件選項。

**使用範本**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 Systems Manager 主控台。

1. 在導覽窗格中，選擇 **Documents (文件)**。

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

1. 選擇**內容**索引標籤，然後複製文件的內容。

1. 在導覽窗格中，選擇 **Documents (文件)**。

1. 選擇 **Create automation (建立自動化)**。

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

1. 選擇**編輯器**索引標籤。

1. 選擇**編輯**。

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

1. 選擇 **Create automation (建立自動化)**。

### `AWSIncidents-CriticalIncidentRunbookTemplate`
<a name="runbooks-template-critical"></a>

`AWSIncidents-CriticalIncidentRunbookTemplate` 是提供手動步驟中 Incident Manager 事件生命週期的範本。這些步驟的通用性足以在大多數應用程式中使用，但詳細程度足以讓回應者開始使用事件解決。