如何使用 VM Import/Export 在 AMI 上匯出以 VM 為基礎的執行個體?

2 分的閱讀內容
0

我想要將 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。

先決條件:

解決方法

**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請確定您使用的是最新版本的 AWS CLI

1.    從您要匯出的 Amazon Elastic Compute Cloud (EC2) 執行個體建立 Amazon Elastic Block Store (Amazon EBS) 支援的 AMI。

2.    在用戶端機器上安裝 AWS CLI。然後,使用您的 IAM 使用者的 AWS 憑證設定 AWS CLI。

3.    在與您計劃匯出的 AMI 相同的 AWS 區域中建立新的 S3 儲存貯體

4.    在用於 VM Import/Export 的區域中啟用 AWS Security Token Service (AWS STS)。然後,建立必要的服務角色

5.    從安裝 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 將匯出的檔案寫入您指定的 Amazon 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"  
}

6.    若要檢查匯出映像任務的狀態,請執行 describe-export-image-tasks 命令:

aws ec2 describe-export-image-tasks --example-image-task-id 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"  
        }  
    ]  
}

7.    確認匯出映像任務的狀態變更為已完成。這表示匯出的檔案已準備就緒作為 Amazon S3 儲存貯體中的物件。

已完成狀態的範例輸出:

{  
    "ExportImageTasks": [  
        {  
            "ExportImageTaskId": "example-export-ami-id"  
            "S3ExportLocation": {  
                "S3Bucket": "example-export-bucket",  
                "S3Prefix": "exports/"  
            },  
            "Status": "completed"  
        }  
    ]  
}

8.    使用 Amazon S3 主控台存取您的 Amazon S3 儲存貯體。然後,找到並下載該物件

相關資訊

直接從 Amazon Machine Image (AMI) 匯出 VM

在 AWS 帳戶中建立 IAM 使用者

AWS 安全憑證

Amazon Machine Image (AMI)

對 VM Import/Export 進行疑難排解

AWS 官方
AWS 官方已更新 6 個月前