我想要將 Amazon Machine Image (AMI) 的副本匯出為虛擬機器 (VM),以便在現場虛擬化環境中部署。
簡短描述
使用 AWS Command Line Interface (AWS CLI) 和 VM Import/Export 啟動映像匯出任務。這會將 AMI 的副本匯出為寫入 Amazon Simple Storage Service (Amazon S3) 儲存貯體的 VM 檔案。使用匯出的 VM 在現場虛擬化環境中部署新的標準化執行個體。大多數 AMI 可匯出至 Citrix Xen、Microsoft Hyper-V 或 VMware vSphere。
解決方法
先決條件
- 檢閱 VM 匯出限制以確認 VM Import/Export 支援 AMI。
- 如果您以 AWS Identity and Access Management (IAM) 使用者身分登入,請確認您有所需的 IAM 使用者權限。
**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
將 AMI 的副本匯出為映像
若要執行映像匯出任務,請執行下列動作:
-
從您要匯出的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體建立 Amazon Elastic Block Store (Amazon EBS) 支援的 AMI。
對於 Linux,請參閱建立一個 Amazon EBS 支援的 Linux AMI。
對於 Windows,請參閱建立自訂 Windows AMI。
-
在用戶端機器上安裝 AWS CLI。然後,使用您的 IAM 使用者的 AWS 憑證設定 AWS CLI。
-
在與您計劃匯出的 AMI 相同的 AWS 區域中建立新的 S3 儲存貯體。
-
在用於 VM Import/Export 的區域中啟用 AWS Security Token Service (AWS STS)。然後,建立必要的服務角色。
-
從安裝 AWS CLI 的用戶端機器上,執行 export-image 命令以啟動匯出映像任務:
aws ec2 export-image --image-id example-ami-id --disk-image-format example-disk-image-format --s3-export-location S3Bucket=example-export-bucket,S3Prefix=exports/
**注意:**在此範例中,Amazon S3 金鑰 prefixexport-ami-id.format 將匯出的檔案寫入指定的 S3 儲存貯體。您可以將字首新增至匯出的檔案。
export-image 命令輸出範例:
{
"DiskImageFormat": "vmdk",
"ExportImageTaskId": "export-ami-1234567890abcdef0"
"ImageId": "example-ami-id",
"RoleName": "vmimport",
"Progress": "0",
"S3ExportLocation": {
"S3Bucket": "example-export-bucket",
"S3Prefix": "exports/"
},
"Status": "active",
"StatusMessage": "validating"
}
-
若要檢查匯出映像任務的狀態,請執行 describe-export-image-tasks 命令:
aws ec2 describe-export-image-tasks --export-image-task-ids export-example-ami-id
describe-export-image-tasks 命令輸出範例:
{
"ExportImageTasks": [
{
"ExportImageTaskId": "export-ami-1234567890abcdef0"
"Progress": "21",
"S3ExportLocation": {
"S3Bucket": "my-export-bucket",
"S3Prefix": "exports/"
},
"Status": "active",
"StatusMessage": "updating"
}
]
}
-
確認匯出映像任務的狀態變更為已完成。這表示匯出的檔案已準備就緒作為 S3 儲存貯體中的物件。
已完成狀態的範例輸出:
{
"ExportImageTasks": [
{
"ExportImageTaskId": "example-export-ami-id"
"S3ExportLocation": {
"S3Bucket": "example-export-bucket",
"S3Prefix": "exports/"
},
"Status": "completed"
}
]
}
-
使用 Amazon S3 主控台存取您的 S3 儲存貯體。然後,找到並下載該物件。
相關資訊
直接從 Amazon Machine Image (AMI) 匯出 VM
在 AWS 帳戶中建立 IAM 使用者
AWS 安全憑證
Amazon Machine Image (AMI)
對 VM Import/Export 進行疑難排解