

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

# 使用 AWS DMS 診斷支援 AMI
<a name="CHAP_SupportAmi"></a>

如果您在使用 時遇到網路相關問題 AWS DMS，您的支援工程師可能需要有關網路組態的詳細資訊。我們希望確保 AWS Support 盡可能在最短的時間內取得所需的資訊。因此，我們開發了具有診斷工具的預先建置 Amazon EC2 AMI，以測試您的 AWS DMS 聯網環境。

Amazon Machine Image (AMI) 上安裝的診斷測試包括：
+ Virtual Private Cloud (VPC)
+ 網路封包遺失
+ 網路延遲
+ 最大傳輸單位 (MTU) 大小

**Topics**
+ [啟動新的 AWS DMS 診斷 Amazon EC2 執行個體](#CHAP_SupportAmi_Launch)
+ [建立 IAM 角色](#CHAP_SupportAmi_Iam)
+ [執行診斷測試](#CHAP_SupportAmi_Run)
+ [後續步驟](#CHAP_SupportAmi_NextSteps)
+ [依地區劃分的 AMI ID](#CHAP_SupportAmi_AmiIDs)
+ [AWS 系統修補程式管理員](#CHAP_PatchManager)

**注意**  
如果 Oracle 來源發生效能問題，您可以評估 Oracle 還原或封存日誌的讀取效能，以找出效能的改善方法。如需詳細資訊，請參閱[評估 Oracle 還原或封存日誌的讀取效能](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Oracle.ReadPerformUtil)。

## 啟動新的 AWS DMS 診斷 Amazon EC2 執行個體
<a name="CHAP_SupportAmi_Launch"></a>

在本節中，您將啟動新的 Amazon EC2 執行個體。如需如何啟動 Amazon EC2 執行個體的相關資訊，請參閱《[Amazon EC2 使用者指南](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/)》中的 [Amazon EC2 Linux 執行個體入門](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html)。

使用下列設定啟動 Amazon EC2 執行個體：
+ 在**應用程式和作業系統映像 (Amazon Machine Image)** 中，搜尋 **DMS-DIAG-AMI** AMI。如果您登入 主控台，您可以使用[此查詢](https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#Images:visibility=public-images;search=:dms-diag-ami;v=3;)搜尋 AMI。如需區域中 AWS 診斷 AMI 的 AMI ID，請參閱[依地區劃分的 AMI ID](#CHAP_SupportAmi_AmiIDs)以下內容。
+ 對於**執行個體類型**，我們建議您選擇 **t2.micro**。
+ 在**網路設定**中，選擇複寫執行個體所使用的相同 VPC。

執行個體處於作用中狀態之後，請連線至該執行個體。如需連接至 Amazon EC2 Linux 執行個體的詳細資訊，請參閱[連接至 Linux 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html)。

## 建立 IAM 角色
<a name="CHAP_SupportAmi_Iam"></a>

如果您想要使用最低必要許可在複寫執行個體上執行診斷測試，請建立使用下列許可政策的 IAM 角色：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "dms:DescribeEndpoints",
                "dms:DescribeTableStatistics",
                "dms:DescribeReplicationInstances",
                "dms:DescribeReplicationTasks",
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "*"
        }
    ]
}
```

------

將該角色連接到新的 IAM 使用者。如需建立 IAM 角色、政策和使用者的相關資訊，請參閱《[IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/)》中的下列主題：
+ [IAM 入門](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html)
+ [建立 IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html)
+ [建立 IAM 政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)

## 執行診斷測試
<a name="CHAP_SupportAmi_Run"></a>

建立 Amazon EC2 執行個體並連線到該執行個體之後，請執行下列動作在複寫執行個體上執行診斷測試。

1. 設定 AWS CLI：

   ```
   $ aws configure
   ```

   提供您要用來執行診斷測試之 AWS 使用者帳戶的存取憑證。為 VPC 和複寫執行個體提供區域。

1. 顯示您區域中可用的 AWS DMS 任務。將範例區域替換成您的區域。

   ```
   $ dms-report -r us-east-1 -l
   ```

   此命令會顯示您任務的狀態。  
![\[顯示任務清單的診斷工具。\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-diagami1.png)

1. 顯示任務端點和設定。將 *<DMS-Task-ARN>* 替換為任務 Amazon Resource Name (ARN)。

   ```
   $ dms-report -t <DMS-Task-ARN>
   ```

   此命令會顯示任務的端點和設定。  
![\[顯示任務端點清單的診斷工具。\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-diagami2.png)

1. 執行診斷測試。將 *<DMS-Task-ARN>* 替換為任務 ARN。

   ```
   $ dms-report -t <DMS-Task-ARN> -n y
   ```

   此命令會顯示複寫執行個體的 VPC、網路封包傳輸、網路延遲和網路最大傳輸單位 (MTU) 大小的診斷資料。  
![\[顯示網路資料的診斷工具。\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-diagami3.png)

## 後續步驟
<a name="CHAP_SupportAmi_NextSteps"></a>

下列各節說明以網路診斷測試結果為基礎的疑難排解資訊：

### VPC 測試
<a name="CHAP_SupportAmi_NextSteps_Vpc"></a>

此測試會驗證診斷 Amazon EC2 執行個體與複寫執行個體是否位於相同的 VPC。如果診斷 Amazon EC2 執行個體與複寫執行個體不在相同的 VPC，請終止 Amazon EC2 執行個體，然後在正確的 VPC 中重新建立。您無法在建立 Amazon EC2 執行個體之後變更其 VPC。

### 網路封包遺失測試
<a name="CHAP_SupportAmi_NextSteps_Npl"></a>

此測試會將 10 個封包傳送至下列端點，並檢查封包是否遺失：
+ 連接埠 80 上的 AWS DMS Amazon EC2 中繼資料服務
+ 來源端點
+ 目標端點

所有封包應成功到達。如果有任何封包遺失，請向網路工程師諮詢以判斷問題並找出解決方案。

### 網路延遲測試
<a name="CHAP_SupportAmi_NextSteps_Nl"></a>

此測試會將 10 個封包傳送至與先前測試相同的端點，並檢查封包延遲。所有封包的延遲時間應小於 100 毫秒。如果任何封包的延遲時間超過 100 毫秒，請向網路工程師諮詢以判斷問題並找出解決方案。

### 最大傳輸單位 (MTU) 大小測試
<a name="CHAP_SupportAmi_NextSteps_Mtu"></a>

此測試會在與先前測試相同的端點上使用 Traceroute 工具來偵測 MTU 大小。測試中的所有封包都應具有相同的 MTU 大小。如果任何封包的 MTU 大小不同，請向系統專家諮詢以判斷問題並找出解決方案。

## 依地區劃分的 AMI ID
<a name="CHAP_SupportAmi_AmiIDs"></a>

若要查看您 AWS 區域中可用的 DMS 診斷 AMIs 清單，請執行下列 AWS CLI 範例。

```
aws ec2 describe-images --owners 343299325021 --filters "Name=name, Values=DMS-DIAG*" --query "sort_by(Images, &CreationDate)[-1].[Name, ImageId, CreationDate]" --output text
```

如果輸出未顯示任何結果，表示您的 AWS 區域無法使用 DMS 診斷 AMI。解決方法是遵循下列步驟，從另一個區域複製診斷 AMI。如需詳細資訊，請參閱[複製 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)。
+ 在可用區域中啟動執行個體。
+ 建立映像。影像將由您擁有。
+ 將 AMI 複製到您的區域，例如中東 （阿拉伯聯合大公國） 區域。
+ 在本機區域啟動執行個體。

## AWS 系統修補程式管理員
<a name="CHAP_PatchManager"></a>

AWS Systems Patch Manager 會自動修補 EC2 執行個體上的作業系統和應用程式。

**若要設定修補程式管理員，請執行下列步驟：**

1. 啟用 Systems Manager：

   1. 將 `AmazonSSMManagedInstanceCore` IAM 政策連接至 EC2 執行個體角色。

   1. 確保已安裝 SSM Agent (Amazon Linux 2、Ubuntu 20.04\$1 AMIs預設值）。

1. 透過定義關鍵/安全性更新的規則來建立修補程式基準，包括修補程式應用程式的排程。

1. 使用 SSM 中的維護時段，排定在定義的時間套用修補程式的更新。

1. 在 Systems Manager 中檢查修補狀態和合規報告，以確認合規性。