建立一份自訂鏡像。您可以使用建立的自訂鏡像建立 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 中 n 的取值範圍:[1, 17]
|
DiskDeviceMapping.N.SnapshotId | String | 否 | DiskDeviceMapping.N. 磁碟的快照 ID。 |
ImageName | String | 否 | 鏡像名稱。
|
ImageVersion | String | 否 | 鏡像版本號碼。長度為 [1, 40] 個英文字元。 |
Description | String | 否 | 鏡像的描述資訊。
|
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 | 缺少參數 SnapshotId 、InstanceId 或 DiskDeviceMapping 。 |
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 | 指定快照不存在。 |