カスタムイメージを作成します。インスタンスの作成 (RunInstances) または既存のインスタンスのシステムディスクを変更 (ReplaceSystemDisk) するために、カスタムイメージを使用できます。

説明

このインターフェイスを呼び出すときは、次の点を考慮してください。

  • ステータスが 使用可能 (Available) になった後でのみ、カスタムイメージを使用できます。

  • 指定されたインスタンスがロックされている場合、インスタンスのOperationLocks は、LockReason: “security”を示します。その場合カスタムイメージを作成できません。

アプローチ

カスタムイメージの作成には、次のような 3 つのアプローチがあります。

アプローチ 1. ECS インスタンスのシステムディスクに基づいてカスタムイメージを作成する場合は、システムディスクスナップショットの 1 つ (SnapshotId) を指定してカスタムイメージを作成できます。ただし、指定されたスナップショットが、 2013 年 7 月 15 日以前のものは作成できません。

アプローチ 2. ECS インスタンス全体のテンプレートを作成する場合は、(InstanceId) を指定してカスタムイメージを作成できます。指定されたインスタンスのステータスが実行中 (Running) または停止済み (Stopped) であることを確認する必要があります。呼び出しが成功すると、指定されたインスタンスの各ディスクに新しいスナップショットが作成されます。

アプローチ 3. 複数のスナップショットを結合してイメージテンプレートを作成する場合は、DiskDeviceMappingを指定してカスタムイメージを作成できます。DiskDeviceMapping を指定するときは、次の点を考慮してください。

  • システムディスクスナップショットは 1 つしか指定できません。システムディスクのデバイス名は /dev/xvda でなければなりません。

  • 複数のデータディスクスナップショットを指定できます。データディスクのデバイス名は、/dev/xvdb から /dev/xvdz に順に割り当てられ、重複はありません。

  • SnapshotIdは必須ではありません。SnapshotId を指定しない場合は、空のサイズのディスクが作成されます。

  • ただし、指定された SnapshotId が、 2013 年 7 月 15 日以前のものは作成できません。

リクエストパラメーター

名前 必須かどうか 説明
Action String はい インターフェイスの名前。値: CreateImage.
RegionId String はい イメージのリージョン ID。詳細については、「DescribeRegions」をご参照ください 。
SnapshotId String いいえ スナップショット ID。カスタムイメージは、指定されたスナップショットから作成されます。
InstanceId String いいえ インスタンス ID。
DiskDeviceMapping.N.Size String いいえ ディスクのサイズ。単位は、GiBです。値の範囲:[5, 20000] GiB
  • このパラメーターを指定しない場合、デフォルト値はスナップショットサイズ (DiskDeviceMapping.N.SnapshotId) の値です。
  • スナップショットID (DiskDeviceMapping.N.SnapshotId) を指定しない場合、デフォルトのサイズは 5 GiB です。
  • サイズの値は、スナップショットのサイズ (DiskDeviceMapping.N.SnapshotId) より小さくすることはできません。
DiskDeviceMapping.n の n の値の範囲は、[1, 17] です。
  • n =1:指定されたディスクがシステムディスクであることを示します。
  • n =2, 3, ……17:指定されたディスクがデータディスクであることを示します。
DiskDeviceMapping.N.SnapshotId String いいえ ディスクのスナップショット ID DiskDeviceMapping.N.
ImageName String いいえ イメージ名。
  • 長さは [2, 128] 文字です。アルファベットまたは漢字、平仮名、片仮名で始める必要があります。数字、コロン (:)、アンダースコア (_)、またはハイフン (-) が使用できます。
  • http:// または https:// で始めることはできません。
ImageVersion String いいえ イメージのバージョン番号。長さの制限は、 [1,40] で英数字が使用できます。
Description String いいえ イメージの説明。
  • 長さは [0, 256] 文字です。
  • http:// または https:// で始めることはできません。
  • デフォルト値:null
ClientToken String いいえ リクエストのべき等性を保証します 。値はクライアントによって生成されます。すべてのリクエストで一意でなければならず、最大で 64 ASCII 文字が使用できます。詳細については、「べき等性を確保する方法」をご参照ください。

レスポンスパラメーター

名前 説明
ImageId String イメージ ID。

リクエストの例
  1. https://ecs.aliyuncs.com/?Action=CreateImage&RegionId=cn-hangzhou&SnapshotId=s-snapshot1&ImageName=demo_image&<Common Request Parameters>
レスポンスの例

XML 形式

  1. <CreateImageResponse> <RequestId>C8B26B44-0189-443E-9816-D951F59623A9</RequestId> <ImageId>m-63DFD5FB2</ImageId></CreateImageResponse>
JSON 形式
  1. { 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 input parameter InstanceId that is mandatory for processing this  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 指定された InstanceId は存在しません。
InvalidInstanceId.ValueNotSupported The specified InstanceId is not allowed to create image. 400 指定された InstanceId を使用して、カスタムイメージを作成することはできません。
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 必要な SnapshotIdInstanceId、または 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 のリストに含まれるシステムディスクスナップショットは 1 つだけです。
Invalidaccountant status. Your account does not have enough balance. 403 登録されたクレジットカードが無効であるか、 アカウントの残高が不足しています。
InvalidAccountStatus.SnapshotServiceUnavailable Snapshot service has not been opened yet. 403 まだスナップショットサービスに登録されていません。ECS コンソールにアクセスして登録し、アカウントを有効にしてください。
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 指定された SnapshotId は見つかりませんでした。
InvalidSnapshotId.NotFound The specified SnapshotId does not exist. 404 指定された SnapshotId は存在しません。