我想要使用 VM Import,在 AWS 上將內部部署伺服器建立為 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的副本。
解決方法
您可以使用 AWS Command Line Interface (AWS CLI) 來執行 VM Import/Export 作業。然後,系統會建立您伺服器的副本作為 Amazon Machine Image (AMI),並上傳至 Amazon Simple Storage Service (Amazon S3) 儲存貯體。您可以將 AMI 作為 EC2 執行個體啟動。
**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請確保您使用的是最新版本的 AWS CLI。
對於大規模遷移,AWS Server Migration Service (SMS) 會自動化遷移程序。您可以匯入在 VMware vSphere、Microsoft Hyper-V/SCVMM 及 Azure 上執行的內部部署虛擬機器。
在開始之前,請先執行下列操作:
- 請確認您的 VM 符合所有 VM 匯入/匯出需求。
- 請檢閱 VM Import/Export 支援的 Linux 與 Windows 作業系統、映像格式、授權選項以及限制。
- 如果您以 AWS Identity and Access Management (IAM) 使用者身分登入以使用 VM Import/Export,您的政策必須具備必要權限。
1. 請依照 VM 匯出所需組態中的指引操作。
2. 在內部部署用戶端上安裝 AWS CLI,並使用為 VM 匯入使用者產生的 AWS 憑證進行設定。
3. 在您計畫執行 EC2 執行個體的相同 AWS 區域中建立新的 S3 儲存貯體。
4. 建立名為「vmimport」的 IAM 角色,並使用信任政策 trust-policy.json,以允許 VM 匯入服務擔任該角色。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "vmie.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:Externalid": "vmimport"
}
}
}
]
}
5. 將名為「vmimport」的以下 IAM 政策附加至 IAM 角色以授予權限。
**注意:**請將 disk-image-file-bucket 替換為您的 S3 儲存貯體名稱。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::disk-image-file-bucket",
"arn:aws:s3:::disk-image-file-bucket/*"
]
},
{
"Effect": "Allow",
"Action": [
"ec2:ModifySnapshotAttribute",
"ec2:CopySnapshot",
"ec2:RegisterImage",
"ec2:Describe*"
],
"Resource": "*"
}
]
}
6. 使用您選擇的工具,將映像上傳至 S3 儲存貯體。
7. 從用戶端機器執行 AWS CLI 命令 import-image。
8. 若要檢查匯入任務狀態,請執行 AWS CLI 命令 describe-import-image-tasks。
9. 映像匯入為 AMI 之後,請依照使用舊版啟動執行個體精靈啟動執行個體的指示操作。或者,請依照使用新版啟動執行個體精靈啟動執行個體的指示操作。
相關資訊
將您的 VM 匯入為映像
在您的 AWS 帳戶中建立 IAM 使用者
以程式設計方式存取
Amazon Machine Images (AMI)