Membuat custom image. Setelah memanggil operasi ini untuk membuat custom image, Anda dapat menggunakan operasi RunInstances guna membuat instans Elastic Compute Service (ECS) dari custom image tersebut atau menggunakan operasi ReplaceSystemDisk untuk mengganti disk sistem dengan custom image tersebut.
Catatan penggunaan
Perhatikan hal-hal berikut:
Custom image yang telah dibuat hanya dapat digunakan jika status imagenya adalah Available.
Jika respons berisi
{"OperationLocks": {"LockReason" : "security"}}saat melakukan kueri informasi instans, maka instans tersebut dikunci karena alasan keamanan dan semua operasi dilarang dilakukan padanya.Untuk mengoptimalkan image Anda, kami menyarankan agar Anda menentukan DetectionStrategy saat membuat image. Untuk informasi selengkapnya, lihat Overview of image check.
Anda dapat memanggil operasi CreateImage untuk membuat custom image dengan salah satu metode berikut. Parameter permintaan diurutkan berdasarkan prioritas: InstanceId > DiskDeviceMapping > SnapshotId. Jika permintaan Anda mencakup dua atau lebih parameter tersebut, custom image akan dibuat berdasarkan parameter dengan prioritas tertinggi.
Metode 1: Membuat custom image dari sebuah instans. Cukup tentukan ID instans menggunakan parameter
InstanceId. Instans harus berada dalam statusRunningatau Stopped. Setelah Anda memanggil operasiCreateImage, sebuah snapshot akan dibuat untuk setiap disk pada instans tersebut. Jika Anda membuat custom image dari instans yang sedang berjalan, data cache mungkin belum ditulis ke disk, sehingga data pada custom image bisa sedikit berbeda dari data pada instans. Untuk menghindari hal ini, kami menyarankan agar Anda menghentikan instans terlebih dahulu dengan memanggil operasi StopInstances sebelum membuat custom image.Metode 2: Membuat custom image dari snapshot disk sistem suatu instans. Cukup tentukan ID snapshot disk sistem melalui parameter
SnapshotId. Snapshot disk sistem yang ditentukan harus dibuat setelah 15 Juli 2013.Metode 3: Membuat custom image dari beberapa snapshot disk. Anda harus menentukan pemetaan antara disk dan snapshot menggunakan parameter
DiskDeviceMapping.
Saat menggunakan Metode 3 untuk membuat custom image, perhatikan hal-hal berikut:
Anda hanya dapat menentukan satu snapshot untuk membuat disk sistem dalam custom image. Nama perangkat disk sistem harus /dev/xvda.
Anda dapat menentukan hingga 16 snapshot untuk membuat disk data dalam custom image. Nama perangkat disk data bersifat unik dan berurutan secara alfabetis dari /dev/xvdb hingga /dev/xvdz.
Parameter
SnapshotIddapat tidak ditentukan. Dalam hal ini, disk data kosong dengan ukuran tertentu akan dibuat.Snapshot disk yang ditentukan harus dibuat setelah 15 Juli 2013.
Debugging
Parameter permintaan
Parameter | Tipe | Wajib | Contoh | Deskripsi |
Action | String | Ya | CreateImage | Operasi yang ingin Anda lakukan. Tetapkan nilainya ke CreateImage. |
RegionId | String | Ya | cn-hangzhou | ID wilayah tempat pembuatan custom image. Anda dapat memanggil operasi DescribeRegions untuk mengkueri daftar wilayah terbaru. |
SnapshotId | String | Tidak | s-bp17441ohwkdca0**** | ID snapshot yang ingin Anda gunakan untuk membuat custom image. |
InstanceId | String | Tidak | i-bp1g6zv0ce8oghu7**** | ID instans yang ingin Anda gunakan untuk membuat custom image. |
ImageName | String | Tidak | TestCentOS | Nama custom image. Nama harus terdiri dari 2 hingga 128 karakter. Nama harus dimulai dengan huruf dan tidak boleh diawali dengan http:// atau https://. Nama dapat berisi angka, huruf, titik dua (:), garis bawah (_), dan tanda hubung (-). |
ImageFamily | String | Tidak | hangzhou-daily-update | Nama keluarga gambar dari custom image. Nama harus terdiri dari 2 hingga 128 karakter. Nama harus dimulai dengan huruf dan tidak boleh diawali dengan acs: atau aliyun. Nama tidak boleh mengandung http:// atau https://. Nama dapat berisi angka, huruf, titik dua (:), garis bawah (_), dan tanda hubung (-). |
ImageVersion | String | Tidak | 2017011017 | Versi gambar. Catatan Jika Anda menentukan |
Description | String | Tidak | ImageTestDescription | Deskripsi gambar. Deskripsi harus terdiri dari 2 hingga 256 karakter dan tidak boleh diawali dengan http:// atau https://. |
Platform | String | Tidak | CentOS | Distribusi sistem operasi untuk disk sistem dalam custom image. Jika Anda menentukan snapshot disk data untuk membuat disk sistem custom image, gunakan Platform untuk menentukan distribusi sistem operasi untuk disk sistem tersebut. Nilai yang valid:
Nilai default: Others Linux. |
BootMode | String | Tidak | BIOS | Mode boot dari custom image. Nilai yang valid:
Catatan Anda harus memahami mode boot mana saja yang didukung oleh image yang ditentukan. Saat menggunakan parameter ini untuk mengubah mode boot image, tentukan mode boot yang didukung oleh image tersebut agar instans yang menggunakan image ini dapat dinyalakan secara normal. |
Architecture | String | Tidak | x86_64 | Arsitektur sistem dari disk sistem. Jika Anda menentukan snapshot disk data untuk membuat disk sistem custom image, gunakan Architecture untuk menentukan arsitektur sistem dari disk sistem tersebut. Nilai yang valid:
Nilai default: x86_64. |
ClientToken | String | Tidak | 123e4567-e89b-12d3-a456-426655440000 | Token klien yang digunakan untuk memastikan idempotensi permintaan. Anda dapat menghasilkan token ini di sisi klien, tetapi pastikan bahwa token tersebut unik di antara permintaan yang berbeda. token hanya boleh berisi karakter ASCII dan panjangnya tidak boleh melebihi 64 karakter. Untuk informasi selengkapnya, lihat How to ensure idempotence. |
ResourceGroupId | String | Tidak | rg-bp67acfmxazb4p**** | ID kelompok sumber daya tempat custom image akan ditugaskan. Jika Anda tidak menentukan parameter ini, image akan ditugaskan ke kelompok sumber daya default. Catatan Jika Anda memanggil operasi CreateImage sebagai Pengguna Resource Access Management (RAM) yang tidak memiliki otorisasi untuk mengelola kelompok sumber daya default dan tidak menentukan |
DiskDeviceMapping.N.SnapshotId | String | Tidak | s-bp17441ohwkdca0**** | ID snapshot yang digunakan untuk membuat disk N dalam custom image. |
DiskDeviceMapping.N.Size | Integer | Tidak | 2000 | Ukuran disk N dalam custom image. Satuan: GiB. Nilai valid dan nilai default DiskDeviceMapping.N.Size bervariasi tergantung pada nilai DiskDeviceMapping.N.SnapshotId.
|
DiskDeviceMapping.N.Device | String | Tidak | /dev/vdb | Nama perangkat disk N dalam custom image. Nilai yang valid:
|
DiskDeviceMapping.N.DiskType | String | Tidak | system | Tipe disk N dalam custom image. Anda dapat menentukan parameter ini untuk membuat disk sistem custom image dari snapshot disk data. Jika Anda tidak menentukan parameter ini, tipe disk ditentukan oleh snapshot yang sesuai. Nilai yang valid:
|
Tag.N.key | String | Tidak | null | Kunci tag N yang akan ditambahkan ke custom image. Catatan Parameter ini akan dihapus di masa mendatang. Kami menyarankan agar Anda menggunakan parameter Tag.N.Key untuk memastikan kompatibilitas di masa depan. |
Tag.N.Key | String | Tidak | KeyTest | Kunci tag N yang akan ditambahkan ke custom image. Nilai valid untuk N: 1 hingga 20. Kunci tag tidak boleh berupa string kosong. Panjang kunci tag maksimal 128 karakter dan tidak boleh mengandung |
Tag.N.Value | String | Tidak | ValueTest | Nilai tag N yang akan ditambahkan ke custom image. Nilai valid untuk N: 1 hingga 20. Nilai tag boleh berupa string kosong. Panjang nilai tag maksimal 128 karakter. Nilai tag tidak boleh diawali dengan |
Tag.N.value | String | Tidak | null | Nilai tag N yang akan ditambahkan ke custom image. Catatan Parameter ini akan dihapus di masa mendatang. Kami menyarankan agar Anda menggunakan parameter Tag.N.Value untuk memastikan kompatibilitas di masa depan. |
DetectionStrategy | String | Tidak | Standard | Mode pemeriksaan image. Jika Anda tidak menentukan parameter ini, image tidak akan diperiksa. Hanya mode pemeriksaan standar yang didukung. Catatan Parameter ini didukung untuk sebagian besar image Linux dan Windows. Untuk informasi selengkapnya tentang item pemeriksaan image dan batasan sistem operasi untuk pemeriksaan image, lihat Overview of image check dan Operating system limits for image check. |
Parameter respons
Parameter | Tipe | Contoh | Deskripsi |
ImageId | String | m-bp146shijn7hujku**** | ID custom image. |
RequestId | String | C8B26B44-0189-443E-9816-******* | ID permintaan. |
Contoh
Contoh permintaan
https://ecs.aliyuncs.com/?Action=CreateImage
&RegionId=cn-hangzhou
&DiskDeviceMapping.1.Size=2000
&DiskDeviceMapping.1.SnapshotId=s-bp17441ohwkdca0****
&DiskDeviceMapping.1.DiskType=system
&SnapshotId=s-bp17441ohwkdca0****
&InstanceId=i-bp1g6zv0ce8oghu7****
&ImageName=TestCentOS
&ImageVersion=2017011017
&Description=ImageTestDescription
&Platform=CentOS
&Architecture=x86_64
&ClientToken=123e4567-e89b-12d3-a456-426655440000
&Tag.1.Key=KeyTest
&Tag.1.Value=ValueTest
&<Common request parameters>Contoh respons sukses
XML format
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateImageResponse>
<RequestId>C8B26B44-0189-443E-9816-*******</RequestId>
<ImageId>m-bp146shijn7hujku****</ImageId>
</CreateImageResponse>JSON format
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "C8B26B44-0189-443E-9816-*******",
"ImageId" : "m-bp146shijn7hujku****"
}Kode kesalahan
Kode status HTTP | Kode kesalahan | Pesan kesalahan | Deskripsi |
400 | InvalidImageName.Malformed | The specified Image name is wrongly formed. | Pesan kesalahan dikembalikan karena nama image yang ditentukan tidak valid. Nama harus terdiri dari 2 hingga 128 karakter. Nama harus dimulai dengan huruf dan tidak boleh diawali dengan acs: atau aliyun. Nama tidak boleh mengandung http:// atau https://. Nama dapat berisi huruf, angka, titik (.), titik dua (:), garis bawah (_), dan tanda hubung (-). |
400 | InvalidImageName.Duplicated | The specified Image name has already bean used. | Pesan kesalahan dikembalikan karena nama image yang ditentukan sudah ada. |
400 | InvalidDescription.Malformed | The specified description is wrongly formed. | Pesan kesalahan dikembalikan karena parameter Description yang ditentukan tidak valid. Deskripsi harus terdiri dari 2 hingga 256 karakter dan tidak boleh diawali dengan http:// atau https://. |
400 | InvalidImageVersion.Malformed | The specified ImageVersion is wrongly formed. | Pesan kesalahan dikembalikan karena versi image yang ditentukan tidak valid atau karena Anda tidak memiliki otorisasi untuk menggunakan snapshot tersebut. |
400 | IncorrectInstanceStatus | The current status of the instance does not support this operation. | Pesan kesalahan dikembalikan karena operasi ini tidak didukung saat instans berada dalam status saat ini. |
400 | InstanceLockedForSecurity | The specified operation is denied as your instance is locked for security reasons. | Pesan kesalahan dikembalikan karena instans dikunci karena alasan keamanan. |
400 | InvalidDevice.Malformed | The specified parameter DiskDeviceMapping.n.Device is not valid. | Pesan kesalahan dikembalikan karena parameter DiskDeviceMapping.N.Device yang ditentukan tidak valid. |
400 | MissingParameter | The input parameter SnapshotId or InstanceId or DiskDeviceMapping that is mandatory for processing this request is not supplied. | Pesan kesalahan dikembalikan karena SnapshotId, InstanceId, atau parameter yang diawali dengan DiskDeviceMapping tidak ditentukan. |
400 | InvalidSize.ValueNotSupported | The specified parameter DiskDeviceMapping.n.Size beyond the permitted range. | Pesan kesalahan dikembalikan karena parameter DiskDeviceMapping.N.Size yang ditentukan berada di luar rentang yang diizinkan. |
400 | InvalidDevice.InUse | The specified parameter DiskDeviceMapping.n.Device has been occupied. | Pesan kesalahan dikembalikan karena nama perangkat yang ditentukan dalam nilai DiskDeviceMapping.N.Device sudah digunakan. |
400 | OperationDenied | The specified parameter DiskDeviceMapping.n.SnapshotId does not contain system disk snapshot. | Pesan kesalahan dikembalikan karena parameter DiskDeviceMapping.N.SnapshotID yang ditentukan tidak berisi ID snapshot disk sistem. |
400 | OperationDenied | The specified parameter DiskDeviceMapping.n.SnapshotId contains two or more system disk snapshots. | Pesan kesalahan dikembalikan karena parameter DiskDeviceMapping.N.SnapshotID yang ditentukan sudah berisi ID snapshot disk sistem. |
400 | InvalidDiskCategory.CreateImage | The specified diskCategory is not allowed to create image. | Pesan kesalahan dikembalikan karena operasi ini tidak didukung oleh kategori disk yang ditentukan. |
400 | InvalidArchitecture.Malformed | The specified Architecture is wrongly formed. | Pesan kesalahan dikembalikan karena parameter Architecture yang ditentukan tidak valid. |
400 | InvalidPlatform.Malformed | The specified Platform is wrongly formed. | Pesan kesalahan dikembalikan karena parameter Platform yang ditentukan tidak valid. |
400 | OperationDenied | Not support creating system image from an encrypted snapshot/disk. | Pesan kesalahan dikembalikan karena disk atau snapshot terenkripsi tidak dapat digunakan untuk membuat custom image. |
400 | InvalidParameter.AllEmpty | %s | Pesan kesalahan dikembalikan karena parameter yang diperlukan tidak ditentukan. |
400 | Duplicate.TagKey | The Tag.N.Key contain duplicate key. | Pesan kesalahan dikembalikan karena kunci tag yang ditentukan sudah ada. Kunci tag harus unik. |
400 | InvalidTagKey.Malformed | The specified Tag.n.Key is not valid. | Pesan kesalahan dikembalikan karena parameter Tag.N.Key yang ditentukan tidak valid. |
400 | InvalidTagValue.Malformed | The specified Tag.n.Value is not valid. | Pesan kesalahan dikembalikan karena parameter Tag.N.Value yang ditentukan tidak valid. |
400 | InvalidDiskType.ValueNotSupported | The specified disk type is not supported. | Pesan kesalahan dikembalikan karena tipe disk yang ditentukan tidak valid. |
400 | IdempotenceParamNotMatch | Request uses a client token in a previous request but is not identical to that request. | Pesan kesalahan dikembalikan karena permintaan ini dan permintaan sebelumnya menggunakan token klien yang sama tetapi parameter yang berbeda. |
403 | InvalidSnapshotId.NotReady | The current status of the DiskDeviceMapping.n.SnapshotId or SnapshotId does not support this operation. | Pesan kesalahan dikembalikan karena operasi ini tidak didukung saat snapshot yang ditentukan berada dalam status saat ini. |
403 | InvalidSnapshot.TooOld | This operation is denied because the specified snapshot by DiskDeviceMapping.n.SnapshotId or SnapshotId is created before 2013-07-15. | Pesan kesalahan dikembalikan karena operasi ini ditolak. Snapshot yang ditentukan oleh parameter DiskDeviceMapping.N.SnapshotId atau SnapshotId dibuat sebelum 15 Juli 2013. |
403 | OperationDenied | The specified snapshot is not allowed to create image. | Pesan kesalahan dikembalikan karena snapshot yang ditentukan tidak dapat digunakan untuk membuat image. |
403 | QuotaExceed.Image | The Image Quota exceeds. | Pesan kesalahan dikembalikan karena kuota untuk custom image telah habis. |
403 | OperationDenied | The specified snapshot is not from system disk. | Pesan kesalahan dikembalikan karena snapshot yang ditentukan bukan snapshot disk sistem. |
403 | InvalidParamter.Conflict | The specified same token is trying to make requests with different parameters. | Pesan kesalahan dikembalikan karena token yang sama digunakan untuk membuat permintaan yang berisi parameter berbeda. |
403 | InvalidAccountStatus.NotEnoughBalance | Your account does not have enough balance. | Pesan kesalahan dikembalikan karena saldo akun Anda tidak mencukupi. Tambahkan dana ke akun Anda dan coba lagi. |
403 | InvalidAccountStatus.SnapshotServiceUnavailable | Snapshot service has not been opened yet. | Pesan kesalahan dikembalikan karena operasi ini tidak didukung saat layanan snapshot belum diaktifkan. |
403 | UserNotInTheWhiteList | The user is not in the white list of create image by data disk snapshot. | Pesan kesalahan dikembalikan karena Anda tidak memiliki otorisasi untuk membuat image dari snapshot disk data. Coba lagi setelah Anda memiliki otorisasi tersebut. |
403 | IncorrectDiskStatus.Invalid | Device status is invalid, please restart instance and try again. | Pesan kesalahan dikembalikan karena perangkat berada dalam status tidak valid. Restart instans dan coba lagi. |
403 | OperationDenied.InvalidSnapshotCategory | %s | Pesan kesalahan dikembalikan karena operasi ini tidak didukung oleh tipe snapshot. |
403 | QuotaExceed.Snapshot | The snapshot quota exceeds. | Pesan kesalahan dikembalikan karena jumlah maksimum snapshot telah tercapai. Untuk menyimpan snapshot, hapus snapshot yang tidak lagi diperlukan. |
403 | IncorrectDiskStatus.Transferring | The specified device is transferring, you can retry after the process is finished. | Pesan kesalahan dikembalikan karena disk yang ditentukan sedang dalam proses migrasi. Tunggu hingga migrasi selesai dan coba lagi. |
403 | IncorrectDiskStatus | The current disk status does not support this operation. | Pesan kesalahan dikembalikan karena operasi ini tidak didukung saat disk berada dalam status saat ini. Pastikan disk tersedia dan Anda tidak memiliki pembayaran tertunda untuk disk tersebut. |
403 | IncorrectDiskStatus.CreatingSnapshot | A previous snapshot creation is in process. | Pesan kesalahan dikembalikan karena snapshot lain sedang dibuat untuk disk tersebut. Tunggu hingga pembuatan snapshot selesai dan coba lagi. |
403 | InvalidParameter.KMSKeyId.CMKNotEnabled | The CMK needs to be enabled. | Pesan kesalahan dikembalikan karena customer master key (CMK) tidak diaktifkan saat ID kunci Key Management Service (KMS) ditentukan untuk disk. Anda dapat memanggil operasi DescribeKey milik KMS untuk mengkueri informasi tentang CMK yang ditentukan. |
403 | InvalidParameter.KMSKeyId.KMSUnauthorized | ECS service have no right to access your KMS. | Pesan kesalahan dikembalikan karena ECS tidak memiliki otorisasi untuk mengakses sumber daya KMS Anda. |
403 | QuotaExceed.Tags | %s | Pesan kesalahan dikembalikan karena jumlah tag yang ditentukan melebihi batas atas. %s adalah variabel. Pesan kesalahan dikembalikan secara dinamis berdasarkan kondisi pemanggilan. |
403 | HibernationConfigured.InstanceOperationForbidden | The operation is not permitted due to limit of the hibernation configured instance. | Pesan kesalahan dikembalikan karena operasi tidak dapat dilakukan akibat batasan instans yang diaktifkan fitur hibernasi instansnya. |
403 | SnapshotNotReady | The specified snapshot is not ready. | Pesan kesalahan dikembalikan karena snapshot yang ditentukan sedang dalam proses pembuatan dan tidak dapat digunakan untuk membuat image. |
403 | IncorrectInstanceStatus.NeedRestart | The instance needs to be restarted after adding a disk in a shutdown status. | Pesan kesalahan dikembalikan karena instans belum direstart. Jika Anda menyambungkan disk ke instans yang berstatus Stopped, Anda harus merestart instans tersebut sebelum membuat custom image darinya. |
404 | InvalidSnapshotId.NotFound | The specified SnapshotId does not exist. | Pesan kesalahan dikembalikan karena parameter SnapshotId yang ditentukan tidak ada. |
404 | InvalidInstanceId.NotFound | The specified InstanceId does not exist. | Pesan kesalahan dikembalikan karena parameter InstanceId yang ditentukan tidak ada. |
404 | InvalidResourceGroup.NotFound | The ResourceGroup provided does not exist in our records. | Pesan kesalahan dikembalikan karena parameter ResourceGroupId yang ditentukan tidak ada. |
500 | InternalError | The process of creating snapshot has failed due to some unknown error. | Pesan kesalahan dikembalikan karena snapshot tidak dapat dibuat. |
500 | InternalError | The request processing has failed due to some unknown error, exception or failure. | Pesan kesalahan dikembalikan karena terjadi kesalahan internal. Coba lagi nanti. |
Untuk daftar kode kesalahan, lihat Kode kesalahan layanan.