

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

# 任務 2：定義識別、收集和儲存中繼資料的程序
<a name="metadata"></a>

在先前的任務中，您驗證了初始探索資料、遷移策略，以及大型遷移的遷移模式。在此任務中，您可以識別需要哪些中繼資料，並決定如何收集中繼資料。此任務包含下列步驟：
+ [步驟 1：定義所需的中繼資料](#metadata-1)
+ [步驟 2：建置中繼資料儲存和收集程序](#metadata-2)
+ [步驟 3：在 Runbook 中記錄中繼資料需求和收集程序](#metadata-3)

當您完成本節中的步驟時，請從中繼資料的角度考慮整個遷移週期。考慮產品組合評估、波動規劃、遷移、測試、切換後活動，然後分析所有可能的使用案例和相關的使用案例。考慮完成完整遷移程序所需的資訊，可協助您識別該模式的所有中繼資料。

## 步驟 1：定義所需的中繼資料
<a name="metadata-1"></a>

您必須先了解遷移模式，才能判斷所需的中繼資料屬性。例如，您需要不同的中繼資料，才能將伺服器遷移至 Amazon EC2，以及將資料庫遷移至 Amazon RDS。大多數模式是由許多小型任務組成。為了執行遷移模式，您需要知道需要哪些中繼資料屬性，然後收集該應用程式的中繼資料。您必須在初始化階段判斷並收集所需的中繼資料，以便在實作階段有效率地執行遷移，而不會延遲。

定義中繼資料屬性的人員或團隊從定義執行遷移模式所需的步驟和任務開始。這些任務會決定需要哪些中繼資料，因此處理每個任務會建置所需中繼資料的完整集合。決定需要哪些中繼資料的人員通常需要全面了解如何完成遷移模式。可能需要與撰寫遷移 Runbook 的人員進行協調。如需詳細資訊，請參閱[AWS 大型遷移的遷移手冊](https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-migration-playbook/)。

在大型遷移期間，有許多程序分散到所有依賴中繼資料的工作流程。及時且準確的中繼資料對大型遷移的成功有廣泛且重大的影響。

在此步驟中，您會定義模式或任務，然後使用 定義來識別所需的中繼資料。

### 識別遷移模式和支援任務的關鍵元件
<a name="metadata-1-components"></a>

在此步驟中，您可以為每個遷移模式或支援任務定義關鍵元件，例如動作、來源物件、目標物件和使用的工具。然後，根據您的答案命名模式或任務。

*支援的任務*包括產品組合和遷移工作流程在遷移期間需要執行的操作活動，例如波浪規劃、應用程式優先順序、相依性分析、控管、災難復原、效能測試或使用者接受度測試。由於您需要中繼資料來支援這些任務，因此您可以針對遷移模式和支援任務執行這些步驟。

1. **動作** – 識別遷移策略或支援任務。請記住，一個動作可能有與其相關聯的其他動作。例如，您可能想要定義遷移的操作。範例動作包括：
   + 遷移策略，例如重新託管、轉換或重新放置
   + 波規劃
   + 應用程式優先順序和相依性分析
   + 作業
   + 控管
   + 災難復原
   + 測試，例如效能測試或使用者接受度測試 (UAT)

1. **來源物件** – 識別要在其中執行動作的來源物件。範例來源物件包括：
   + 波
   + Server
   + 資料庫
   + 檔案共享
   + 應用程式

1. **工具** – 識別用於執行動作的服務或工具。您可以使用多個工具或服務。範例工具包括：
   + AWS Application Migration Service
   + AWS DataSync
   + AWS Database Migration Service (AWS DMS)
   + AWS Backup
   + 效能監控工具

1. **目標物件** – 識別當動作完成時，來源將駐留的目標物件、服務或位置。物件、服務或位置的範例包括：
   + Amazon Elastic Compute Cloud (Amazon EC2)
   + Amazon Relational Database Service (Amazon RDS)
   + Amazon Elastic File System (Amazon EFS)
   + Amazon Elastic Container Service (Amazon ECS)
   + Wave 計劃

1. **模式名稱** – 合併您對先前步驟的答案，如下所示：

   <action> <source object> on/to <target object> using <tool>

   範例如下：
   + 使用 Application Migration Service 或 Cloud Migration Factory （工具） 將 （動作） 波、應用程式或伺服器 （來源物件） 重新託管至 Amazon EC2 （目標物件） 
   + 使用 DataSync （工具） 將 （動作） 檔案共用 （來源物件） 複寫至 Amazon EFS （目標物件）
   + 使用 （工具） 將 （動作） 資料庫 （來源物件） 複寫至 Amazon RDS AWS DMS （目標物件）
   + 使用 Amazon CloudWatch （工具） 在 Amazon EC2 （目標物件） 上監控應用程式 （來源物件） 的效能 （動作） Amazon CloudWatch 
   + 遷移後使用 AWS Backup （工具） 在 Amazon EC2 （目標物件） 上備份 （動作） 伺服器 （來源物件）
   + 波浪規劃 （動作） 波浪、應用程式或伺服器 （來源物件） 以建立波浪計劃 （目標物件）

以下是如何從[遷移](discovery.md#migration-patterns)*模式資料表使用 Application Migration Service 或 Cloud Migration Factory 記錄模式 1：重新託管至 Amazon EC2 * 的範例。


****  

|  |  | 
| --- |--- |
| **Pattern ID** | 1 | 
| **Pattern name** | 使用 Application Migration Service 或 Cloud Migration Factory 重新託管至 Amazon EC2  | 
| **Action** | 重新託管遷移 | 
| **Source object** | Waves、應用程式或伺服器 | 
| **Tools** | 應用程式遷移服務或雲端遷移工廠 | 
| **Target object** | Amazon EC2 | 

### 判斷每個模式或任務所需的中繼資料
<a name="metadata-1-determine"></a>

現在您已定義模式或任務，您可以判斷來源物件、目標物件、工具和其他商業資訊所需的中繼資料。為了解釋此程序，此手冊使用*模式 1：使用 Application Migration Service 或 Cloud Migration Factory 從遷移模式資料表還原至 Amazon EC2 * 做為範例。 [](discovery.md#migration-patterns)請注意，對於某些模式或任務，某些步驟可能不適用。

1. **分析目標物件** – 從目標物件向後工作，手動建立物件並識別支援物件所需的中繼資料。擷取中繼資料，如下表所示。

   例如，當您建立 EC2 執行個體時，您必須選擇執行個體類型、儲存類型、儲存大小、子網路、安全群組和標籤。下表包含如果您的目標物件是 EC2 執行個體，您可能需要的中繼資料屬性範例。  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/large-migration-portfolio-playbook/metadata.html)

1. **分析工具** – 使用工具建立目標物件並檢查差異。擷取下表所示的工具特定中繼資料，如果遷移工具不支援，請從上一個資料表移除屬性。例如，您無法自訂 Application Migration Service 的作業系統類型和儲存體大小，因為重新託管遷移工具like-for-like 因此，如果上述資料表中包含這些屬性，則會移除目標作業系統和目標磁碟大小。在上一個範例資料表中，工具支援所有屬性，因此不需要任何動作。

   下表包含工具可能需要的中繼資料範例。  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/large-migration-portfolio-playbook/metadata.html)

1. **分析來源物件** – 透過評估動作來判斷來源物件所需的中繼資料，如下所示：
   + 若要遷移伺服器，您需要知道來源伺服器名稱和完整網域名稱 (FQDN)，才能連線至伺服器。
   + 若要遷移應用程式及其伺服器，您需要知道應用程式名稱、應用程式環境和application-to-server映射。
   + 若要執行產品組合評估、排定應用程式優先順序或定義移動群組，您需要知道application-to-server映射、application-to-database映射，以及application-to-application相依性。
   + 若要管理波，您需要知道波 ID 以及波的開始和結束時間。

   下表包含來源物件可能需要的中繼資料範例。  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/large-migration-portfolio-playbook/metadata.html)

1. **考慮其他屬性** – 除了主要動作之外，考慮與目標物件或應用程式相關的其他動作和屬性。對於範例模式，*模式 1：使用 Application Migration Service 或 Cloud Migration Factory 將 Amazon EC2 重新託管*，動作是重新託管，而目標物件是 Amazon EC2。此目標物件的其他相關動作可能包括備份至 Amazon EC2、在遷移後監控 EC2 執行個體，以及使用標籤來管理與 EC2 執行個體相關聯的成本。您可能也想要考慮其他可協助您管理遷移的應用程式屬性，例如應用程式擁有者，您可能需要聯絡這些屬性以提出問題或切換。

   下表包含常用的其他中繼資料範例。此資料表包含目標 EC2 執行個體的標籤。如需標籤及其使用方式的詳細資訊，請參閱 [Amazon EC2 文件中的標記您的](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) Amazon EC2 資源。  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/large-migration-portfolio-playbook/metadata.html)

1. **建立資料表** – 將先前步驟中識別的所有中繼資料合併為單一資料表。  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/large-migration-portfolio-playbook/metadata.html)

1. **重複** – 重複此程序，直到您已記錄每個模式所需的中繼資料為止。

## 步驟 2：建置中繼資料儲存和收集程序
<a name="metadata-2"></a>

在上一個步驟中，您定義了支援遷移所需的中繼資料。在此步驟中，您會建置收集和儲存中繼資料的程序。此步驟包含兩個任務：

1. 分析上一個步驟所需的中繼資料並識別來源。

1. 定義有效儲存和收集中繼資料的程序。

### 分析中繼資料來源
<a name="metadata-2-source"></a>

有許多常見的中繼資料來源。通常，您可以存取的第一件事是高階資產庫存，通常從組態管理資料庫 (CMDB) 或其他現有工具匯出。不過，您也需要使用自動化和手動程序，從其他來源收集中繼資料。

下表包含常見的來源、該來源的標準收集程序，以及您可以從該來源找到的常見中繼資料類型。


****  

| 中繼資料來源 | 集合類型 | 中繼資料類型 | 
| --- | --- | --- | 
| 探索工具 | 自動化 | 來源伺服器 | 
| CMDB | 自動化 | 來源伺服器 | 
| 來自其他工具的庫存，例如 的 [RVTools](https://www.robware.net/) VMware vSphere | 自動化 | 來源伺服器 | 
| 應用程式擁有者問卷 | 手動 | 來源伺服器、目標伺服器、Wave | 
| 應用程式擁有者面試 | 手動 | 來源伺服器、目標伺服器、Wave | 
| 應用程式設計文件 | 手動 | 目標伺服器 | 
| 登陸區域設計文件 | 手動 | 目標伺服器、工具 | 

列出中繼資料的所有可能來源之後，您會分析中繼資料類型，並將每個來源對應至您在上一個步驟中識別的中繼資料屬性。

1. 從 取得中繼資料屬性的完整清單[步驟 1：定義所需的中繼資料](#metadata-1)。

1. 分析每個中繼資料類型，並判斷哪些類型無法使用自動化程序擷取。這通常是**目標伺服器中繼資料**和**波動中繼資料**類型，因為這些類型需要應用程式擁有者的決策。例如，您將針對目標 EC2 執行個體使用哪個子網路和安全群組？

1. 分析每個中繼資料屬性，並將其映射至上表中的中繼資料來源。具有多個來源的組合很常見。您可以使用探索工具來收集一些來源伺服器中繼資料。如需有關使用探索工具收集中繼資料的資訊，請參閱 AWS 規範指引網站上的[自動化產品組合探索入門](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/get-started-with-automated-portfolio-discovery.html)。

1. 建立資料表，將中繼資料屬性對應至其類型和來源。下表為範例。  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/large-migration-portfolio-playbook/metadata.html)

### 定義單一中繼資料存放區
<a name="metadata-2-store"></a>

將每個中繼資料屬性映射至其來源後，您可以定義中繼資料的存放位置。無論您存放中繼資料的方式和位置為何，您只需要選擇一個儲存庫。這可確保您有單一的事實來源。在多個位置存放中繼資料是大型遷移的常見錯誤。

#### 選項 1：將中繼資料儲存在共用儲存庫的試算表中
<a name="metadata-2-store-1"></a>

雖然此選項聽起來像是非常手動的程序，但它是大型遷移最常見的資料存放區。將試算表存放在共用儲存庫中也很常見，例如 Microsoft SharePoint 網站。

Microsoft Excel 試算表很容易自訂，不需要很長時間就能建置。缺點是，如果您有許多中繼資料，它會變得非常複雜，並且很難管理資產之間的關係，例如伺服器、應用程式和資料庫之間的關係。另一個挑戰是版本管理。您只需要限制少數人的寫入存取權，或者需要使用自動化程序來更新試算表。

在[產品組合手冊範本](samples/portfolio-playbook-templates.zip)中，您可以使用*儀表板範本進行波動規劃和遷移 *(Excel 格式），做為建置您自己的資料存放區試算表的起點。

#### 選項 2：將中繼資料儲存在專用工具中
<a name="metadata-2-store-2"></a>

您可以使用預先建置的工具，例如 [TDS Transition Manager](https://www.transitionaldata.com/software/) (TDS 網站） 來存放您的資料，也可以建置自己的工具。當您建置自己的工具時，您需要類似選項 1 中 Excel 試算表索引標籤的資料庫資料表。例如：
+ 伺服器資料表
+ 應用程式資料表
+ 資料庫資料表
+ Application-to-server和application-to-database映射表
+ 波規劃資料表
+ 應用程式擁有者問卷表格

### 定義中繼資料收集程序
<a name="metadata-2-collection"></a>

在先前的步驟中，您將中繼資料映射至其來源，並定義了您要收集中繼資料的資料存放區。在此步驟中，您會建置程序以有效收集中繼資料。您應該將手動copy-and-paste程序降至最低，並使用自動化從每個來源收集中繼資料。有三個步驟：

1. 根據中繼資料映射表，為每個中繼資料來源建置擷取、轉換和載入 (ETL) 指令碼。

1. 建置排程任務，以定期自動從每個來源匯入中繼資料。

1. 建置匯出程序，或提供應用程式程式設計界面 (API) 存取儲存在儲存庫中的中繼資料。

下表是每個 ETL 指令碼收集的中繼資料屬性範例。中繼資料會存放在您在上一節中定義的位置，例如試算表或專用工具。


****  

| Metadata 屬性 | 中繼資料類型 | 中繼資料來源 | 收集程序 | 
| --- | --- | --- | --- | 
| `app_name` | 來源應用程式 | CMDB | ETL 指令碼 – CMDB | 
| `app_owner` | 來源應用程式 | CMDB | ETL 指令碼 – CMDB | 
| `app_to_server_mapping` | 來源應用程式 | CMDB | ETL 指令碼 – CMDB | 
| `app_to_DB_mapping` | 來源應用程式 | CMDB | ETL 指令碼 – CMDB | 
| `app_to_app_dependencies` | 來源應用程式 | 探索工具 | ETL 指令碼 – 探索工具 | 
| `server_name` | 來源伺服器 | CMDB | ETL 指令碼 – CMDB | 
| `server_FQDN` | 來源伺服器 | CMDB | ETL 指令碼 – CMDB | 
| `server_OS_family` | 來源伺服器 | CMDB | ETL 指令碼 – CMDB | 
| `server_OS_version` | 來源伺服器 | CMDB | ETL 指令碼 – CMDB | 
| `disk_size` | 來源伺服器 | 探索工具 | ETL 指令碼 – 探索工具 | 
| `instance_type` | 目標伺服器 | 探索工具 | ETL 指令碼 – 探索工具 | 
| `target_subnet` | 目標伺服器 | 應用程式擁有者問卷 | ETL 指令碼 – 應用程式擁有者 | 
| `target_security_group` | 目標伺服器 | 應用程式擁有者問卷 | ETL 指令碼 – 應用程式擁有者 | 
| `AWS_Region` | 目標伺服器 | 應用程式擁有者問卷 | ETL 指令碼 – 應用程式擁有者 | 
| `AWS_account_ID` | 目標伺服器 | 應用程式擁有者問卷 | ETL 指令碼 – 應用程式擁有者 | 
| `Name` | 目標伺服器 （標籤） | 應用程式擁有者問卷 | ETL 指令碼 – 應用程式擁有者 | 
| `business_unit` | 目標伺服器 （標籤） | 應用程式擁有者問卷 | ETL 指令碼 – 應用程式擁有者 | 
| `cost_center` | 目標伺服器 （標籤） | 應用程式擁有者問卷 | ETL 指令碼 – 應用程式擁有者 | 
| `wave_ID` | 波規劃 | 應用程式擁有者問卷 | ETL 指令碼 – 應用程式擁有者 | 
| `wave_start_date` | 波規劃 | 應用程式擁有者問卷 | ETL 指令碼 – 應用程式擁有者 | 
| `wave_cutover_date` | 波規劃 | 應用程式擁有者問卷 | ETL 指令碼 – 應用程式擁有者 | 

## 步驟 3：在 Runbook 中記錄中繼資料需求和收集程序
<a name="metadata-3"></a>

在此任務中，您會在*中繼資料管理 Runbook* 中記錄決策。在遷移期間，您的產品組合工作流遵循此 Runbook 作為收集和儲存中繼資料的標準程序。

1. 在[產品組合手冊範本](samples/portfolio-playbook-templates.zip)中，開啟用於*中繼資料管理的 Runbook 範本* (Microsoft Word 格式）。這可做為建置您自己的 Runbook 的起點。

1. 在*中繼資料屬性*區段中，為每個遷移模式建立中繼資料屬性資料表，並使用 中識別的中繼資料屬性填入資料表[步驟 1：定義所需的中繼資料](#metadata-1)。

1. 在*來源位置*區段中，記錄您在 中識別的來源[分析中繼資料來源](#metadata-2-source)。

1. 在*來源位置存取指示*區段中，記錄使用者存取中繼資料來源位置所需的步驟。

1. 在*中繼資料存放*區區段中，記錄使用者需要遵循的步驟，才能存取您在 中建立的中繼資料存放區[定義單一中繼資料存放區](#metadata-2-store)。

1. 在*資料收集類型*區段中，識別您要用於每個中繼資料來源的資料收集程序。理想情況下，您應該使用自動化指令碼來自動化所有中繼資料收集。

1. 在*依中繼資料屬性的資料收集*區段中，針對每個中繼資料屬性，根據 中的指示識別下列項目[定義中繼資料收集程序](#metadata-2-collection)：

   1. 中繼資料類型

   1. 中繼資料來源

   1. 中繼資料存放區

   1. 集合類型

1. 在*收集中繼資料*區段中，視需要更新使用案例的程序。這是產品組合工作流在收集波浪中繼資料時，在實作階段遵循的程序。

1. 確認您的 Runbook 完整且準確。此 Runbook 應該是遷移期間的事實來源。

1. 與 團隊分享您的中繼資料管理 Runbook 以供檢閱。

## 任務結束條件
<a name="metadata-exit-criteria"></a>

當您完成以下項目時，請繼續下一個任務：
+ 您已準備儲存所收集中繼資料的單一儲存庫。
+ 在您的中繼資料管理 Runbook 中，您已定義並記錄下列項目：
  + 每個遷移模式所需的中繼資料屬性
  + 中繼資料來源，以及如何存取每個來源的詳細說明
  + 中繼資料存放區以及如何存取它的詳細說明
  + 用於收集中繼資料的程序
  + 映射中繼資料屬性到中繼資料來源和收集程序的映射表