

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

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

# 使用 OpsCenter 的遷移 Runbook
<a name="migration-opscenter-runbooks"></a>

本指南提供step-by-step說明，讓您使用自動化遷移執行手冊，將 Amazon CloudWatch 警示和 Amazon EventBridge 規則從 AWS Systems Manager Incident Manager 遷移至 AWS Systems Manager OpsCenter。

如需 OpsCenter 功能的概觀，以及了解 Incident Manager 和 OpsCenter 之間的差異，請參閱 [遷移至 AWS Systems Manager OpsCenter](migration-opscenter.md)。

## 遷移概觀
<a name="migration-overview"></a>

遷移程序使用 [Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) Runbook 將您現有的 CloudWatch 警示和 EventBridge 規則與 OpsCenter 整合。此程序包含以下步驟：
+ **部署基礎設施** - 部署 CloudFormation 堆疊以建立遷移 Runbook 所需的資源。
+ **遷移 CloudWatch 警示和 EventBridge 規則** - 執行自動化 Runbook，將您的資源遷移至 OpsCenter。
+ **清除資源** - 選擇性地刪除複寫集和其他 Incident Manager 資源。

**注意**  
Runbook 支援單一帳戶區域對的遷移。如果您有跨多個帳戶或區域的資源，您必須為每個帳戶區域組合分別執行遷移。

## 步驟 1：部署 CloudFormation 範本
<a name="deploy-cloudformation-template"></a>

部署 CloudFormation 範本以建立遷移 Runbook 所需的 IAM 角色、Amazon S3 儲存貯體和 Amazon SNS 主題。

### 所需的 IAM 許可
<a name="required-iam-permissions"></a>

若要部署此 CloudFormation 範本，您需要 CloudFormation 堆疊操作 (`cloudformation:CreateStack`、`cloudformation:DescribeStacks`)、IAM 角色管理 (`iam:CreateRole`、`iam:AttachRolePolicy`、、`iam:PassRole`)`iam:PutRolePolicy`、Amazon S3 儲存貯體建立和組態 (`s3:CreateBucket`、`s3:PutBucket*`) 和 Amazon SNS 主題操作 (`sns:CreateTopic`、`sns:Subscribe`、) 的 IAM 許可`sns:SetTopicAttributes`。

如需 CloudFormation 許可的完整詳細資訊，請參閱 CloudFormation 《 使用者指南》中的[CloudFormation 許可參考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html)。

### 使用主控台部署 CloudFormation 範本
<a name="deploy-console"></a>

1. 下載並擷取包含`AWS-IncidentManager-MigrationResources.yaml`範本的 [AWS-IncidentManager-MigrationResources.zip](./samples/AWS-IncidentManager-MigrationResources.zip) 檔案。

1. 在 https：//[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation) 開啟 CloudFormation 主控台。

1. 選擇**建立堆疊**。

1. 在 **Specify template (指定範本)** 區段中，選擇 **Upload a template file (上傳範本檔案)**。

1. 選擇**選擇檔案**，然後選擇`AWS-IncidentManager-MigrationResources.yaml`檔案。

1. 選擇**下一步**。

1. 在**指定堆疊詳細資訊**頁面上，輸入下列內容：
   + **堆疊名稱** - 輸入名稱 （例如 `im-migration-infrastructure`)
   + **ApprovalEmail** - 輸入電子郵件地址以接收核准通知 （僅在 RequireManualApproval Runbook 參數設定為 true 時使用）。
   + **IsPrimaryMigrationRegion** - 選擇這`true`是否是您部署堆疊之帳戶中的第一個區域，否則請選擇 `false`

1. 選擇**下一步**。

1. 在 **Configure stack options** (設定堆疊選項) 頁面，選擇 **Next** (下一步)。

1. 在**檢閱**頁面上，向下捲動並選取**我確認 CloudFormation 可能會使用自訂名稱建立 IAM 資源**。

1. 選擇**提交**。

CloudFormation 會顯示 `CREATE_IN_PROGRESS` 狀態。當堆疊就緒`CREATE_COMPLETE`時，狀態會變更為 。

**注意**  
如果您在多個區域中有 CloudWatch 警示或 EventBridge 規則，請在您要執行遷移的每個區域中部署此 CloudFormation 堆疊。  
對於跨 AWS Organizations 的多帳戶部署，請使用兩個 CloudFormation StackSets：  
**主要 StackSet** - 針對每個帳戶一個區域將 IsPrimaryMigrationRegion 設為 true
**次要 StackSet** - 針對所有其他區域將 IsPrimaryMigrationRegion 設定為 false
  
如需說明，請參閱 CloudFormation 《 使用者指南》中的[使用 CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html)。

### 使用 部署 CloudFormation 範本 AWS CLI
<a name="deploy-cli"></a>

對於您帳戶中的第一個區域，請使用下列命令：

```
aws cloudformation create-stack \
    --stack-name im-migration-infrastructure \
    --template-body file://AWS-IncidentManager-MigrationResources.yaml \
    --parameters ParameterKey=ApprovalEmail,ParameterValue=your-email@example.com \
    ParameterKey=IsPrimaryMigrationRegion,ParameterValue=true \
    --capabilities CAPABILITY_NAMED_IAM \
    --region us-east-1
```

對於相同帳戶中的其他區域，將 `IsPrimaryMigrationRegion`設定為 `false`：

```
aws cloudformation create-stack \
    --stack-name im-migration-infrastructure \
    --template-body file://AWS-IncidentManager-MigrationResources.yaml \
    --parameters ParameterKey=ApprovalEmail,ParameterValue=your-email@example.com \
    ParameterKey=IsPrimaryMigrationRegion,ParameterValue=false \
    --capabilities CAPABILITY_NAMED_IAM \
    --region us-west-2
```

若要驗證堆疊狀態：

```
aws cloudformation describe-stacks \
    --stack-name im-migration-infrastructure \
    --query 'Stacks[0].StackStatus' \
    --output text
```

等到命令傳回，`CREATE_COMPLETE`再繼續下一個步驟。

## 步驟 2：遷移 CloudWatch 警示和 EventBridge 規則
<a name="migrate-resources"></a>

使用 Systems Manager Automation Runbook 將 CloudWatch 警示和 EventBridge 規則從 Incident Manager 遷移至 OpsCenter。

### 遷移 Runbook
<a name="migration-runbooks-overview"></a>
+ [AWS-MigrateIncidentManagerCloudWatchAlarms](https://console.aws.amazon.com/systems-manager/documents/AWS-MigrateIncidentManagerCloudWatchAlarms)
+ [AWS-MigrateIncidentManagerEventBridgeRules](https://console.aws.amazon.com/systems-manager/documents/AWS-MigrateIncidentManagerEventBridgeRules)

如需這些 Runbook 功能的詳細資訊，包括詳細的步驟說明、輸入參數和輸出，請參閱 Runbook 文件。

### Runbook 的運作方式
<a name="how-runbooks-work"></a>

兩個遷移 Runbook 都遵循相同的工作流程：
+ **探索和批次處理** - 探索使用 Incident Manager 回應計劃動作設定的所有 CloudWatch 警示或 EventBridge 規則，並將其整理成可設定的批次。
+ **手動核准 （選用）** - 在預設情況下， 需要明確核准才能繼續進行遷移，並具有 24 小時逾時。Amazon SNS 通知會傳送至 CloudFormation 部署期間指定的電子郵件地址。所有組態都會備份到 Amazon S3，並存放要遷移的完整資源清單以供手動檢閱。將 RequireManualApproval 設定為 false，即可略過此步驟。
+ **備份和遷移** - 如果手動核准設為 true， 會等待核准，然後繼續將每個組態備份到 Amazon S3 並執行遷移。如果設定為 false，則 會直接進行備份和遷移。

### 輸入參數
<a name="input-parameters"></a>

兩個 Runbook 都需要下列參數：

AutomationAssumeRole （必要）  
 CloudFormation 堆疊所`IM-Migration-Automation-Role`建立 的 ARN。

ApproverArn （必要）  
可以檢閱和核准遷移的 IAM 角色或使用者的 ARN。

S3BucketName （必要）  
 CloudFormation 堆疊建立的 Amazon S3 儲存貯體名稱。

SNSTopicArn （必要）  
 CloudFormation 堆疊所建立 Amazon SNS 主題的 ARN。

MaxNumberOfAlarmsToMigrate 或 MaxNumberOfRulesToMigrate （選用）  
在單一執行中要遷移的資源數量上限。有效值：1、5、10、50、100、500、5000、10000、25000、50000。預設：10000。

BatchSize （選用）  
每個批次中要處理的資源數量。有效值：25、50、100、200、250、300、350、400、450、500。預設：100。Runbook 每次執行最多支援 100 × BatchSize 資源。

RequireManualApproval （選用）  
布林值，用於控制是否需要在遷移之前手動核准。設為 true （預設） 時，您會收到 Amazon SNS 通知電子郵件，其中包含資源清單的 Amazon S3 位置，以及要核准、拒絕或取消的自動化執行主控台連結。設定為 false 時，執行手冊會在探索和備份之後自動繼續。有效值：true、false。預設：true。

### 使用主控台遷移
<a name="migrate-console"></a>

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

1. 在導覽窗格中，選擇 **Automation** (自動化)。

1. 搜尋 Runbook 名稱 (`AWS-MigrateIncidentManagerCloudWatchAlarms` 或 `AWS-MigrateIncidentManagerEventBridgeRules`)。

1. 選擇 **Execute automation (執行自動化)**。

1. 輸入 CloudFormation 堆疊輸出中的參數值。

1. （選用） `false` 如果您想要略過手動核准步驟，請將 **RequireManualApproval** 設定為 。

1. 選擇 **Execute (執行)**。

1. 如果 `RequireManualApproval` 設為 true （預設），您會在執行等待手動檢閱時收到電子郵件通知。電子郵件包含自動化執行主控台頁面的核准連結。檢閱 Amazon S3 儲存貯體中的資源清單，然後在 24 小時內從電子郵件連結或主控台頁面核准、拒絕或取消。遷移只會在核准後繼續進行。如果設定為 false，遷移會在備份後自動繼續進行。

1. 等待執行狀態變更為**成功**。

### 使用 遷移 AWS CLI
<a name="migrate-cli"></a>

**對於 CloudWatch 警示：**

```
aws ssm start-automation-execution \
    --document-name "AWS-MigrateIncidentManagerCloudWatchAlarms" \
    --parameters '{
        "AutomationAssumeRole": ["arn:aws:iam::123456789012:role/IM-Migration-Automation-Role"],
        "ApproverArn": ["arn:aws:iam::123456789012:role/Admin"],
        "S3BucketName": ["im-migration-logs-123456789012-us-east-1"],
        "SNSTopicArn": ["arn:aws:sns:us-east-1:123456789012:Automation-IM-Migration-Approvals"],
        "RequireManualApproval": ["false"]
    }' \
    --region us-east-1
```

**對於 EventBridge 規則：**

```
aws ssm start-automation-execution \
    --document-name "AWS-MigrateIncidentManagerEventBridgeRules" \
    --parameters '{
        "AutomationAssumeRole": ["arn:aws:iam::123456789012:role/IM-Migration-Automation-Role"],
        "ApproverArn": ["arn:aws:iam::123456789012:role/Admin"],
        "S3BucketName": ["im-migration-logs-123456789012-us-east-1"],
        "SNSTopicArn": ["arn:aws:sns:us-east-1:123456789012:Automation-IM-Migration-Approvals"],
        "RequireManualApproval": ["false"]
    }' \
    --region us-east-1
```

若要檢閱 Amazon S3 中的資源清單：

```
# For CloudWatch alarms
aws s3 cp s3://im-migration-logs-123456789012-us-east-1/review/CloudWatch/review_CW_alarms_to_migrate_123456789012_us-east-1.json ./

# For EventBridge rules
aws s3 cp s3://im-migration-logs-123456789012-us-east-1/review/EventBridge/review_EB_rules_to_migrate_123456789012_us-east-1.json ./
```

如果 RequireManualApproval 設為 true，請檢閱資源清單，並按一下電子郵件通知或自動化執行主控台頁面中的核准連結來核准遷移。如果設定為 false，遷移會在備份後自動繼續進行。

## 步驟 3：驗證您的遷移
<a name="verify-migration"></a>

完成遷移後，請確認您的資源正常運作：
+ **觸發測試警示或事件** - 啟用其中一個遷移的 CloudWatch 警示或 EventBridge 規則，以產生測試通知。
+ **確認 OpsItem 建立** - 當警示或事件觸發時，確認 OpsItem 已在 OpsCenter 中自動建立。
+ **驗證嚴重性映射** - 檢查 OpsItem 中是否正確保留原始 Incident Manager 組態的嚴重性層級。（僅適用於 CloudWatch 警示）。

## 步驟 4：清除 Incident Manager 資源
<a name="cleanup-resources"></a>

成功遷移 CloudWatch 警示和 EventBridge 規則之後，您可以選擇清除 Incident Manager 資源，以完全離開服務。

如需刪除複寫集、回應計劃、聯絡人、執行手冊和其他 Incident Manager 資源的詳細說明，請參閱 [清除 Incident Manager 資源](migration-cleanup.md)。

### 刪除 CloudFormation 堆疊 （選用）
<a name="delete-cloudformation-stacks"></a>

您可以刪除 CloudFormation 堆疊，以移除為遷移建立的 IAM 角色、Amazon SNS 主題和 Amazon S3 儲存貯體。

**重要**  
在刪除堆疊之前，必須清空包含所有已遷移資源備份的 Amazon S3 儲存貯體。 CloudFormation 無法刪除包含物件的 Amazon S3 儲存貯體。

**刪除 CloudFormation 堆疊**

```
aws cloudformation delete-stack --stack-name <your-stack-name>
```

## 監控和疑難排解
<a name="monitoring-troubleshooting"></a>

**CloudWatch Logs** - 遷移活動會記錄到 CloudWatch Logs：
+ CloudWatch 警示： `/aws/ssm/incidentmanager/cwmigration`
+ EventBridge 規則： `/aws/ssm/incidentmanager/ebmigration`

**Amazon S3 備份結構** - 所有組態都會在遷移之前備份至 Amazon S3：

```
migration-logs-{AccountId}-{Region}/
├── backups/
│   ├── CloudWatch/
│   │   └── {AccountId}/
│   │       └── {Region}/
│   │           └── {AlarmName}_backup.json
│   └── EventBridge/
│       └── {AccountId}/
│           └── {Region}/
│               └── {RuleName}_backup.json
└── review/
    ├── CloudWatch/
    │   └── review_CW_alarms_to_migrate_{AccountId}_{Region}.json
    └── EventBridge/
        └── review_EB_rules_to_migrate_{AccountId}_{Region}.json
```

**常見問題：**
+ **未收到 Amazon SNS 通知** （當 RequireManualApproval=true 時） - 檢查 Amazon SNS 主題訂閱：

  ```
  aws sns list-subscriptions-by-topic --topic-arn <sns-topic-arn>
  ```
+ **部分遷移失敗** - 檢查 CloudWatch Logs 以取得詳細的錯誤訊息，並以較低的批次大小重試自動化。

**轉返程序：**

如果您需要復原遷移：
+ 從 Amazon S3 擷取備份：

  ```
  aws s3 sync s3://im-migration-logs-123456789012-us-east-1/backups/ ./backups/
  ```
+ 還原資源：

  ```
  # For CloudWatch alarms
  aws cloudwatch put-metric-alarm --cli-input-json file://backups/CloudWatch/123456789012/us-east-1/MyAlarm_backup.json
  
  # For EventBridge rules
  aws events put-targets --rule MyRule --targets file://backups/EventBridge/123456789012/us-east-1/MyRule_backup.json
  ```

## 常見問答集
<a name="faq"></a>

問：如果自動化在核准期間逾時，會發生什麼情況？  
答：如果未收到核准，自動化會在 24 小時後逾時。您可以使用相同的參數重新啟動自動化。

問：我可以跨區域遷移資源嗎？  
答：否。每個區域都必須使用區域特定的自動化執行分別遷移。

問：遷移需要多長時間？  
答：遷移時間取決於資源數量：  
+ \~100 個警示/規則：5-10 分鐘
+ \~1000 個警示/規則：30-60 分鐘
+ \~10000 個警示/規則：2-4 小時

問：遷移至 OpsCenter 後是否保留嚴重性？  
答案：是。在 CloudWatch 警示遷移期間，會保留在 Incident Manager 回應計畫影響層級中設定的嚴重性，並自動對應至適當的 OpsCenter 嚴重性層級。這不適用於 EventBridge 規則。

問：執行自動化 Runbook 是否需要支付費用？  
答：否。遷移自動化執行手冊不會產生執行費用。不過，遷移後的 OpsCenter 用量會產生費用。如需詳細資訊，請參閱 [Systems Manager 定價](https://aws.amazon.com/systems-manager/pricing/)文件。

## 相關資源
<a name="related-resources-runbooks"></a>
+ [遷移至 AWS Systems Manager OpsCenter](migration-opscenter.md)
+ [AWS Systems Manager OpsCenter 使用者指南](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)
+ [Systems Manager 自動化](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html)
+ [匯出 Incident Manager 資料](export-data.md)
+ [清除 Incident Manager 資源](migration-cleanup.md)