

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

# EC2 的 Replatform
<a name="replatform-to-ec2"></a>

AWS 上的 Cloud Migration Factory 解決方案允許從資料存放區中定義的組態自動啟動 EC2 執行個體群組；部署已連接 EBS 磁碟區的 EC2 執行個體。這可讓您佈建新的 EC2 執行個體，允許透過 AWS CloudFormation 進行 Replatform，並在單一 CMF 使用者介面中使用 AWS MGN 重新託管內部部署伺服器。資料存放區必須包含伺服器的定義，才能使用此功能。一旦解決此問題，伺服器應該連結到波動。決定啟動 EC2 執行個體時，使用者可以針對波動啟動下列動作：
+ EC2 輸入驗證
+ EC2 產生 CF 範本
+ EC2 部署

## 先決條件
<a name="prerequisites-1"></a>

新增 Replatform 屬性存取權的許可。

## 指令碼執行平台選擇
<a name="script-execution-platform-selection"></a>

部署自動化指令碼之前，請判斷哪個運算平台最適合您的需求：
+  **傳統自動化伺服器**：最適合需要複雜相依性、多種程式設計語言或特定作業系統需求的案例
+  **SSM 自動化文件**：建議用於不需要存取內部部署環境的標準 Python 型自動化指令碼

## 初始組態
<a name="initial-configuration"></a>

新 EC2 執行個體的組態是透過使用 使用者介面建立新伺服器項目，或透過匯入包含伺服器項目的 CSV 擷取表單來執行。這些定義會轉換為存放在部署 AWS CMF 執行個體之相同 AWS 帳戶中 S3 儲存貯體中的 AWS CloudFormation 範本。 S3 

### 使用者介面定義
<a name="user-interface-definition-1"></a>

在 AWS Cloud Migration Factory 資料存放區中定義伺服器以搭配 Replatform 使用 EC2 功能時，需要使用 **Migration Strategy** of **Replatform** 設定伺服器。選取 **Replatform** 後，畫面上會顯示此功能所需的其他屬性。需要填入下列屬性，功能才能運作：

#### 必要屬性
<a name="required-attributes"></a>

 **AMI ID** - 用來啟動 EC2 執行個體的 Amazon Machine Image ID。

 **可用區域** - EC2 執行個體將部署到的可用區域。

 **根磁碟區大小** - 執行個體根磁碟區的大小，以 GB 為單位。

 **執行個體類型** - 要使用的 EC2 執行個體類型。

 **安全群組 ID** - 指派給執行個體的安全群組清單。

 **子網路 ID** - 要指派此 EC2 執行個體的子網路 ID。

 **租用** - 目前對 EC2 整合的 Replatform 唯一支援的選項是在產生範本時，****任何其他選項都會取代為**共用**。

#### 選擇性屬性
<a name="optional-attributes"></a>

 **啟用詳細監控** - 檢查以啟用詳細監控。

 **其他磁碟區名稱** - 其他 EBS 磁碟區名稱的清單。清單中的每個項目都需要映射到與**大小**和**類型**清單相同的行。

 **其他磁碟區大小** - 其他 EBS 磁碟區大小的清單。清單中的每個項目都必須對應至與**名稱**和**類型**清單相同的行。

 **其他磁碟區類型** - 其他 EBS 磁碟區類型的清單。清單中的每個項目都必須對應到與**名稱**和**大小**清單相同的行，如果未指定，則所有磁碟區的預設值為 **gp2**。

 **磁碟區加密的 EBS KMS 金鑰 ID** - 如果將加密 EBS 磁碟區，請指定**金鑰 ID**、**金鑰 ARN**、**金鑰別名**或**別名 ARN**。

 **啟用 EBS Optimized** - 選取以開啟 **EBS Optimized**。

 **根磁碟區名稱** - 從提供的選項中選取 ，如果未指定，則會使用 ID。

 **根磁碟區類型** - 提供要建立之磁碟區的 EBS 類型，若未指定，則預設為 **gp2**。

### 接收表單定義
<a name="intake-form-definition-1"></a>

接收表單可以包含詳細資訊，以使用 csv 檔案的單一資料列中的資料存放區建立或更新多種類型的記錄，這可啟用匯入相關資料。在下列範例中，波動、應用程式和伺服器記錄將在匯入期間自動建立並相互關聯。

範例：接收表單


| 欄名稱 | 範例資料 | 必要 | 備註 | 
| --- | --- | --- | --- | 
| wave\_name |  `wave1`  | 是 |  | 
| app\_name |  `app1`  | 是 |  | 
| aws\_accountid |  `1234567890`  | 是 |  | 
| server\_name |  `Server1`  | 是 |  | 
| server\_fqdn |  `Server1`  | 是 |  | 
| server\_os\_family |  `linux`  | 是 |  | 
| server\_os\_version |  `Amazon`  | 是 |  | 
| server\_tier |  `Web`  | 否 |  | 
| server\_environment |  `Dev`  | 否 |  | 
| subnet\_IDs |  `subnet-xxxxxxx`  | 是 |  | 
| securitygroup\_ID |  `sg-yyyyyyyyyy`  | 是 |  | 
| instanceType |  `m5.large`  | 是 |  | 
| iamRole |  `ec2customrole`  | 否 |  | 
| tenancy |  `Shared`  | 是 |  | 
| r\_type |  `Replatform`  | 是 |  | 
| root\_vol\_size |  `50`  | 是 |  | 
| ami\_id |  `ami-zzzzzzzzzz`  | 是 |  | 
| 可用區域 |  `us-west-2a`  | 是 |  | 
| root\_vol\_type |  `gp2`  | 否 |  | 
| add\_vols\_size |  `40:100`  | 否 |  | 
| add\_vols\_type |  `gp2:gp3`  | 否 |  | 
| ebs\_optimized |  `false`  | 否 |  | 
| ebs\_kmskey\_id |  `1111-1111-1111-1111`  | 否 |  | 
| detailed\_monitoring |  `true`  | 否 |  | 
| root\_vol\_name |  `Server1_root_volume`  | 否 |  | 
| add\_vols\_name |  `Server1_root_volumeA: Server1_root_volumeB`  | 否 |  | 

若要匯入擷取表單，請遵循與任何其他資料匯入 Cloud Migration Factory on AWS 解決方案相同的程序。

## 部署動作
<a name="deployment-actions"></a>

### EC2 輸入驗證
<a name="ec2-input-validation"></a>

定義執行個體參數之後，您必須先執行波動動作：**Replatform**>**EC2**>**EC2 輸入驗證**。此動作會驗證已為每個伺服器提供所有正確的參數，以建立有效的 CloudFormation 範本。

**注意**  
此驗證目前不會驗證輸入參數是否有效，只會存在於每個伺服器定義中。您必須先驗證正確的值，才能建立範本，否則範本的部署將會失敗。

### EC2 產生 CloudFormation 範本
<a name="ec2-generate-cloud-formation-template"></a>

驗證波動中包含的所有伺服器定義後，即可產生 CloudFormation 範本。若要執行此操作，請執行波動動作：**Replatform**>**EC2**>**EC2 Generate CF Template**。此動作會為波動中的每個應用程式建立 CloudFormation 範本，其中應用程式中的伺服器具有 **Replatform** 的**遷移策略**；具有定義之其他遷移策略的任何伺服器都不會包含在範本中。

執行後，每個應用程式的範本會存放在 S3 儲存貯體中：**-gfbuild-cftemplates **，該儲存貯體會在部署 AWS 上的 Cloud Migration Factory 解決方案時自動建立。此儲存貯體的資料夾結構如下所示：
+ 【目標 AWS 帳戶 ID】
+ 【Wave 名稱】
  +  **CFN\_Template\_** ** \\\_ ** ** 0yaml ** 

每次執行產生動作時，範本的新版本都會存放在 S3 儲存貯體中。範本的 S3 URIs 將在通知中提供，您可以在部署之前視需要檢閱或編輯這些範本。

CloudFormation 範本目前會產生下列 CloudFormation 資源類型：
+ AWS::EC2::Instance
+ AWS::EC2::Volume
+ AWS::EC2::VolumeAttachment

### EC2 部署
<a name="ec2-deployment"></a>

準備好部署新的 EC2 執行個體後，您可以透過波動動作 **Replatform**>**EC2**>EC2 **部署啟動 EC2**2 部署動作。**EC2 ** 此動作將針對波動中的每個應用程式使用最新版本的 CloudFormation 範本，並透過 AWS CloudFormation 將這些範本部署到選取的目標帳戶。