建立一份自訂鏡像。您可以使用建立的自訂鏡像建立 ECS 執行個體(RunInstances)或者更換執行個體的系統硬碟(ReplaceSystemDisk)。

描述

調用該介面時,您需要注意:

  • 您需要等待鏡像狀態變為 可用Available)後才能使用鏡像資源。

  • 安全控制 的 ECS 執行個體的 OperationLocks 中標記了 "LockReason" : "security" 時,不能建立自訂鏡像。

建立方法

以下描述了三種通過該介面建立自訂鏡像的方法。

方法一. 如果您需要針對某一台執行個體的系統硬碟建立自訂鏡像,只需要指定執行個體系統硬碟的一份曆史快照 ID (SnapshotId)。其中,指定的快照不能是 2013 年 7 月 15 日(含)之前建立的快照。

方法二. 如果您需要使用一台 ECS 執行個體做執行個體模板,只需要指定執行個體 ID (InstanceId)。該台執行個體的狀態必須為 運行中Running)或者 已停止Stopped)。介面調用成功後,該台執行個體的每塊磁碟均會新增一份快照。

方法三. 如果您需要將多個快照組合成一個鏡像模板,只需要建立幾個磁碟資料關聯(DiskDeviceMapping)。通過這種方法建立自訂鏡像時,您需要注意:

  • 只能指定一個系統硬碟快照,系統硬碟的裝置名稱必須為 /dev/xvda。

  • 可以指定多個資料盤快照,資料盤裝置名稱預設由系統有序分配,從 /dev/xvdb 依次排序到 /dev/xvdz,不能重複。

  • 可以不指定 SnapshotId,不指定時會建立一個指定大小的沒有任何資料的空資料盤。

  • 指定的快照不能是 2013 年 7 月 15 日(含)之前建立的快照。

請求參數

名稱 類型 是否必需 描述
Action String 系統規定參數。取值:CreateImage
RegionId String 鏡像所在的地區 ID。您可以調用 DescribeRegions 查看最新的阿里雲地區列表。
SnapshotId String 快照 ID。從指定的快照建立自訂鏡像。
InstanceId String 執行個體 ID。
DiskDeviceMapping.N.Size String 磁碟的大小。單位為 GB。取值範圍:[5, 2000]
  • 如果不指定磁碟大小,預設為快照(DiskDeviceMapping.N.SnapshotId)的大小。
  • 如果沒有指定快照 (DiskDeviceMapping.N.SnapshotId),預設磁碟大小為 5 GB。
  • 如果指定了磁碟大小,不能小於對應快照(DiskDeviceMapping.N.SnapshotId)的大小。
DiskDeviceMapping.n 中 n 的取值範圍:[1, 17]
  • n =1 表示系統硬碟。
  • n =2、3、……17 表示資料盤。
DiskDeviceMapping.N.SnapshotId String DiskDeviceMapping.N. 磁碟的快照 ID。
ImageName String 鏡像名稱。
  • 長度為 [2, 128] 個英文或中文字元,必須以大小字母或中文開頭,可包含數字、半形冒號(:)、底線(_)或者連字號(-)。
  • 不能以 http:// 和 https:// 開頭。
ImageVersion String 鏡像版本號碼。長度為 [1, 40] 個英文字元。
Description String 鏡像的描述資訊。
  • 長度為 [0, 256] 個英文或中文字元。
  • 不能以 http:// 和 https:// 開頭。
  • 不填則為空白,預設為空白。
ClientToken String 用於保證請求的等冪性。由用戶端產生該參數值,要保證在不同請求間唯一。只支援 ASCII 字元,且不能超過 64 個字元。更多詳情,請參閱 如何保證等冪性

返回參數

名稱 類型 描述
ImageId String 鏡像 ID

樣本

請求樣本
https://ecs.aliyuncs.com/?Action=CreateImage
&RegionId=cn-hangzhou
&SnapshotId=s-snapshot1
&ImageName=demo_image
&<公用請求參數>
返回樣本

XML 格式

<CreateImageResponse>
    <RequestId>C8B26B44-0189-443E-9816-D951F59623A9</RequestId>
    <ImageId>m-63DFD5FB2</ImageId>
</CreateImageResponse>
JSON 格式
{
    "RequestId": "C8B26B44-0189-443E-9816-D951F59623A9",
    "ImageId": "m-63DFD5FB2"
}

錯誤碼

以下為本介面特有的錯誤碼。更多錯誤碼,請訪問 API 錯誤中心

錯誤碼 錯誤資訊 HTTP 狀態代碼 說明
IncorrectInstanceStatus The current status of the instance does not support this operation. 400 指定的執行個體狀態不正確。
InstanceLockedForSecurity The specified operation is denied as your instance is locked for security reasons. 400 指定的執行個體被安全鎖定。
InvalidDescription.Malformed The specified description is wrongly formed. 400 無效的 Description 取值。
InvalidImageName.Duplicated The specified Image name has already been used. 400 指定的 ImageName 已經被使用。
InvalidImageName.Malformed The specified Image name is wrongly formed. 400 無效的 ImageName 取值(字元不支援或者超出長度)。
InvalidImageVersion.Malformed The specified ImageVersion is wrongly formed. 400 無效的 ImageVersion 取值。或者您無法使用指定的 ImageVersion
InvalidInstanceId.NotFound The specified InstanceId does not exist. 400 指定執行個體不存在。
InvalidInstanceId.ValueNotSupported The specified InstanceId is not allowed to create image. 400 指定的執行個體不能建立快照。
InvalidSize.ValueNotSupported The specified parameter DiskDeviceMapping.n.Size beyond the permitted range. 400 指定的 DiskDeviceMapping.n.Size超出範圍。
MissingParameter The input parameter SnapshotId or InstanceId or DiskDeviceMapping that is mandatory for processing this request is not supplied. 400 缺少參數 SnapshotIdInstanceIdDiskDeviceMapping
OperationDenied The specified parameter DiskDeviceMapping.n.SnapshotId does not contain system disk snapshot. 400 參數 DiskDeviceMapping.n.SnapshotId中必須包含系統硬碟快照。
OperationDenied The specified parameter DiskDeviceMapping.n.SnapshotId contains two or more system disk snapshots. 400 參數 DiskDeviceMapping.n.SnapshotId只能包含一個系統硬碟快照。
InvalidAccountStatus.NotEnoughBalance Your account does not have enough balance. 403 賬戶餘額不足。
InvalidAccountStatus.SnapshotServiceUnavailable Snapshot service has not been opened yet. 403 快照服務未開通。
InvalidParamter.Conflict The specified same token is trying to make requests with different parameters. 403 ClientToken 和參數不一致。
InvalidSnapshot.TooOld This operation is denied because the specified snapshot by DiskDeviceMapping.n.SnapshotId or SnapshotId is created before 2013-07-15. 403 指定快照建立於 2013 年 7 月 15 日(含)之前,不能建立鏡像。
InvalidSnapshotId.NotReady The current status of the DiskDeviceMapping.n.SnapshotId or SnapshotId does not support this operation. 403 指定快照的狀態不對。
OperationDenied The specified snapshot is not allowed to create image. 403 特定磁碟的快照不能建立鏡像。
OperationDenied The specified snapshot is not from system disk. 403 只有系統硬碟快照才能建立鏡像。
QuotaExceed.Image The Image Quota exceeds. 403 自訂鏡像額度已用完。
InvalidRegionId.NotFound The specified RegionId does not exist. 404 指定的 RegionId 不存在。
InvalidSnapshotId.NotFound The specified SnapshotId does not exist. 404 找不到指定的快照。
InvalidSnapshotId.NotFound The specified SnapshotId does not exist. 404 指定快照不存在。