Bir görüntüyü Elastic Compute Service (ECS) hizmetine aktarır. Aktarılan görüntü, hedef bölgede özel bir görüntü olarak bulunur. Aktarılan görüntüyü kullanarak ECS örnekleri oluşturabilir (RunInstances) veya ECS örneklerinin sistem disklerini değiştirebilirsiniz (ReplaceSystemDisk).
Kullanım notları
Aşağıdaki hususlara dikkat edin:
Görüntüyü aktarmadan önce, görüntüyü bir Object Storage Service (OSS) paketinde depolamanız gerekir. Daha fazla bilgi için bkz.Nesne yükleme.
Bazı senaryolarda, kaynak sunucunun işletim sistemi verilerine dayalı bir görüntü oluşturmak, bu görüntüyü ECS'e aktarmak ve ardından aktarılan görüntüden bir ECS örneği oluşturmak isteyebilirsiniz. Kaynak sunucu fiziksel bir sunucu, sanal makine veya bulut ana bilgisayarı olabilir. Kaynak sunucuda virtio sürücüsü yüklü değilse, oluşturulan ECS örneği başlatılamayabilir. Bu sorunu önlemek için, görüntü aktarmadan önce kaynak sunucuda virtio sürücüsünün yüklü olduğunu doğrulamanız gerekir. Daha fazla bilgi için bkz.virtio sürücüsünü yükleme.
-
İlk kez görüntü aktarmadan önce, Resource Access Management (RAM) kullanarak ECS'in OSS paketlerinize erişmesine izin vermeniz gerekir. ECS'in OSS paketlerinize erişim izni yoksa, ImportImage işlemini çağırdığınızda NoSetRoletoECSServiceAcount hata kodu döndürülür. Yetkilendirmeyi RAM konsolundaki Cloud Kaynak Erişimi Yetkilendirme sayfasında tek tıkla tamamlayabilirsiniz. Yetkilendirmeyi bir RAM rolü ve RAM ilkeleri kullanarak da tamamlayabilirsiniz. Aşağıdaki örnekler, yetkilendirme yordamındaki bazı adımlar için gereken ilkeleri ve izinleri göstermektedir. Daha fazla bilgi için bkz. RAM kullanıcılarını kullanarak kaynaklara erişimi kontrol etme.
1. AliyunECSImageImportDefaultRole adlı bir rol oluşturun. Bu tam rol adını kullanmanız gerekir. Aksi takdirde görüntü aktarılamaz. Rol için aşağıdaki güven ilkesini yapılandırın: { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "ecs.aliyuncs.com" ] } } ], "Version": "1" }
2. AliyunECSImageImportRolePolicy sistem ilkesini role ekleyin. Ayrıca aşağıdaki içeriği içeren özel bir ilke oluşturup bu ilkeyi role ekleyebilirsiniz: { "Version": "1", "Statement": [ { "Action": [ "oss:GetObject", "oss:GetBucketLocation", "oss:GetBucketInfo" ], "Resource": "*", "Effect": "Allow" } ] }
Aktarılmakta olan bir görüntüyü silemezsiniz. Ancak, görüntü aktarma görevini iptal etmek için CancelTask işlemini çağırabilirsiniz.
Bir görüntüyü yalnızca görüntü dosyasının yüklendiği OSS paketi ile aynı bölgeye aktarabilirsiniz.
DiskDeviceMapping.N içindeki N parametresinin geçerli değerleri 1 ile 17 arasındadır. N değeri 1 olarak ayarlandığında, disk bir sistem diskidir. N değeri 2 ile 17 arasında bir değer olarak ayarlandığında, disk bir veri diskidir. N değeri 17'den büyük olarak ayarlandığında, DiskDeviceMapping.N önekli parametreler yoksayılır.
-
Architecture parametresini arm64 olarak ayarladığınızda veya Platform parametresini CentOS Stream, Anolis, AlmaLinux, UOS, Kylin veya Rocky Linux olarak ayarladığınızda aşağıdaki hususlara dikkat edin:
-
Aktarılan bir görüntü için parolanın ayarlanabilmesini veya anahtar çiftinin değiştirilebilmesini sağlamak amacıyla, görüntüyü aktarmadan önce görüntünün aşağıdaki gereksinimleri karşıladığından emin olun:
İşletim sisteminin çekirdeği CONFIG_FW_CFG_SYSFS özelliğini destekler. Varsayılan olarak Linux topluluğu çekirdeği %4,6 ve sonraki sürümler ile CentOS çekirdeği %3,10.0-826.el7 ve sonraki sürümler bu özelliği destekler. Görüntünün kaynak sunucusunda grep -nr CONFIG_FW_CFG_SYSFS /boot/config-$(uname -r) komutunu çalıştırabilirsiniz. Komut çıktısı CONFIG_FW_CFG_SYSFS=y içeriyorsa, görüntünün çekirdeği CONFIG_FW_CFG_SYSFS özelliğini destekler.
İşletim sisteminde en son sürüm Alibaba Cloud cloud-init yüklüdür. cloud-init sürümü %19,1 ise, alt sürüm %19,1.3 veya üzeri olmalıdır. İşletim sisteminin bazı erken sürümlerinde cloud-init sürümü %0,7.6a ise, alt sürüm %0,7.6a15 veya üzeri olmalıdır. Daha fazla bilgi için bkz.cloud-init yükleme.
İşletim sistemi SHA-512 şifreleme algoritmasını destekler.
-
Aktarılan bir görüntünün disklerin ve dosya sistemlerinin yeniden boyutlandırılmasını desteklemesini istiyorsanız, görüntüyü aktarmadan önce görüntünün aşağıdaki gereksinimleri karşıladığından emin olun:
İşletim sisteminin çekirdek sürümü %3,6'dan sonradır.
Görüntü growpart komutunu destekler. Bu komutu desteklemek için cloud-utils-growpart paketini yüklemeniz gerekir. Paketi yükleme yöntemleri işletim sistemlerine göre değişir. Daha fazla bilgi için bkz.Linux örneğindeki disklerin bölümlerini ve dosya sistemlerini genişletme.
Görüntü resize2fs komutunu destekler. Bu komutu desteklemek için e2fsprogs paketini yüklemeniz gerekir. Paket varsayılan olarak işletim sisteminde yüklüdür. Paket yüklü değilse yükleyin.
İşletim sisteminde en son sürüm Alibaba Cloud cloud-init yüklüdür. cloud-init sürümü %19,1 ise, alt sürüm %19,1.3 veya üzeri olmalıdır. İşletim sisteminin bazı erken sürümlerinde cloud-init sürümü %0,7.6a ise, alt sürüm %0,7.6a15 veya üzeri olmalıdır. Daha fazla bilgi için bkz.cloud-init yükleme.
-
Aktarmak istediğiniz görüntü ARM64 mimarisini kullanıyorsa, gerçek zamanlı saati (RTC) Eşgüdümlü Evrensel Saat (UTC) zaman standardını kullanacak şekilde yapılandırmanız gerekir. Daha fazla bilgi için bkz.Linux zamanı ve saat dilimleri.
Görüntüleri aktarırken DetectionStrategy parametresini belirtmenizi öneririz. Bu sayede görüntü denetimi sonuçlarına göre görüntüleri optimize edebilirsiniz. Daha fazla bilgi için bkz.Görüntü denetimi öğeleri.
Hata ayıklama
İstek parametreleri
|
Parametre |
Tür |
Zorunlu |
Örnek |
Açıklama |
| Action | String | Evet | ImportImage | Gerçekleştirmek istediğiniz işlem. Değeri ImportImage olarak ayarlayın. |
| RegionId | String | Evet | cn-hangzhou | Aktarılacak görüntünün yüklendiği OSS paketinin bölge kimliği. En güncel bölge listesini sorgulamak için DescribeRegions işlemini çağırabilirsiniz. |
| ImageName | String | Hayır | ImageTestName | Görüntü adı. Ad 2 ila 128 karakter uzunluğunda olmalıdır. Ad bir harfle başlamalı ve |
| Description | String | Hayır | TestDescription | Görüntü açıklaması. Açıklama 2 ila 256 karakter uzunluğunda olmalı ve |
| Architecture | String | Hayır | x86_64 | İşletim sistemi mimarisi. Geçerli değerler:
Varsayılan değer: x86_64. |
| OSType | String | Hayır | linux | İşletim sistemi platformu. Geçerli değerler:
Varsayılan değer: linux. |
| Platform | String | Hayır | Aliyun | İşletim sistemi dağıtımı. Geçerli değerler:
Varsayılan değer: Others Linux. |
| BootMode | String | Hayır | BIOS | Görüntünün önyükleme modu. Geçerli değerler:
Varsayılan değer: BIOS. Not Belirtilen görüntünün desteklediği önyükleme modları hakkında bilgi sahibi olmalısınız. Bu parametreyi kullanarak görüntünün önyükleme modunu değiştirdiğinizde, bu görüntüyü kullanan örneklerin normal şekilde başlatılabilmesini sağlamak için görüntü tarafından desteklenen bir önyükleme modu belirtin. |
| RoleName | String | Hayır | AliyunECSImageImportDefaultRole | Görüntüyü aktarmak için kullanılacak RAM rolünün adı. |
| LicenseType | String | Hayır | Auto | Görüntü aktarıldıktan sonra işletim sistemini etkinleştirmek için kullanılacak lisans türü. Geçerli değerler:
Varsayılan değer: Auto. |
| ResourceGroupId | String | Hayır | rg-bp67acfmxazb4p**** | Görüntünün atanacağı kaynak grubunun kimliği. |
| DiskDeviceMapping.N.DiskImSize | Integer | Hayır | 80 | Görüntü aktarıldıktan sonra özel görüntüdeki N. diskin boyutu. Birim: GiB. Bu parametreyi kullanarak özel görüntüdeki sistem diskinin ve veri disklerinin boyutlarını belirtebilirsiniz. Sistem diskinin boyutunu belirtirken, belirtilen boyutun aktarılan görüntü dosyasının boyutundan büyük veya buna eşit olduğundan emin olun. Birim: GiB. Geçerli değerler:
Görüntü dosyası bir OSS paketine yüklendikten sonra, OSS paketindeki görüntü dosyasının boyutunu görüntüleyebilirsiniz. Not Bu parametre gelecekte kaldırılacaktır. Gelecekteki uyumluluğu sağlamak için DiskDeviceMapping.N.DiskImageSize kullanmanızı öneririz. |
| DiskDeviceMapping.N.Device | String | Hayır | null | Özel görüntüdeki N. diskin cihaz adı. Not Bu parametre gelecekte kaldırılacaktır. Gelecekteki uyumluluğu sağlamak için bu parametreyi kullanmamanızı öneririz. |
| DiskDeviceMapping.N.OSSBucket | String | Hayır | ecsimageos | Görüntünün depolandığı OSS paketi. Not İlk kez görüntü aktarmadan önce, RAM kullanarak ECS'in OSS paketlerinize erişmesine izin vermeniz gerekir. ECS'in OSS paketlerinize erişim izni yoksa, ImportImage işlemini çağırdığınızda NoSetRoletoECSServiceAcount hata kodu döndürülür. Daha fazla bilgi için bu konudaki " Kullanım notları" bölümüne bakın. |
| DiskDeviceMapping.N.Format | String | Hayır | QCOW2 | Görüntünün biçimi. Geçerli değerler:
Bu parametre varsayılan olarak boştur; bu, sistemin görüntünün biçimini kontrol ettiği ve kontrol sonucunu bu parametrenin değeri olarak kullandığı anlamına gelir. |
| DiskDeviceMapping.N.OSSObject | String | Hayır | CentOS_5.4_32.raw | Yüklenen görüntünün OSS paketinde saklandığı nesnenin adı (anahtarı). |
| DiskDeviceMapping.N.DiskImageSize | Integer | Hayır | 80 | Görüntü aktarıldıktan sonra özel görüntüdeki N. diskin boyutu. Bu parametreyi kullanarak özel görüntüdeki sistem diskinin ve veri disklerinin boyutlarını belirtebilirsiniz. Sistem diskinin boyutunu belirtirken, belirtilen boyutun aktarılan görüntü dosyasının boyutundan büyük veya buna eşit olduğundan emin olun. Birim: GiB. Geçerli değerler:
Görüntü dosyası bir OSS paketine yüklendikten sonra, OSS paketindeki görüntü dosyasının boyutunu görüntüleyebilirsiniz. |
| Tag.N.Key | String | Hayır | TestKey | Özel görüntüye eklenecek N. etiketin anahtarı. N için geçerli değerler: 1 ila 20. Etiket anahtarı boş bir dize olamaz. Etiket anahtarı en fazla 128 karakter uzunluğunda olabilir ve |
| Tag.N.Value | String | Hayır | TestValue | Özel görüntüye eklenecek N. etiketin değeri. N için geçerli değerler: 1 ila 20. Etiket değeri boş bir dize olabilir. Etiket değeri en fazla 128 karakter uzunluğunda olabilir ve |
| DetectionStrategy | String | Hayır | Standard | Görüntüyü denetleme modu. Bu parametreyi belirtmezseniz, görüntü denetlenmez. Yalnızca standart denetim modu desteklenir. Not Bu parametre çoğu Linux ve Windows görüntüsü için desteklenir. Görüntü denetimi öğeleri ve görüntü denetimi için işletim sistemi sınırlamaları hakkında daha fazla bilgi için bkz. Görüntü denetimine genel bakış ve Görüntü denetimi için işletim sistemi sınırlamaları. |
Yanıt parametreleri
|
Parametre |
Tür |
Örnek |
Açıklama |
|
RequestId |
String |
473469C7-AA6F-4DC5-B3DB-A3DC0DE3**** |
İsteğin kimliği. |
|
ImageId |
String |
m-bp67acfmxazb4p**** |
Görüntünün kimliği. |
|
TaskId |
String |
t-bp67acfmxazb4p**** |
Görüntü aktarma görevinin kimliği. |
|
RegionId |
String |
cn-hangzhou |
Görüntünün bölge kimliği. |
Örnekler
Örnek istekler
http(s)://ecs.aliyuncs.com/?Action=ImportImage
&RegionId=cn-hangzhou
&DiskDeviceMapping.1.Format=QCOW2
&DiskDeviceMapping.1.OSSBucket=ecsimageos
&DiskDeviceMapping.1.OSSObject=CentOS_5.4_32.raw
&DiskDeviceMapping.1.DiskImageSize=80
&ImageName=Test
&Description=Test
&Architecture=x86_64
&OSType=linux
&Platform=Aliyun
&LicenseType=Aliyun
&DetectionStrategy=Standard
&<Common request parameters>
Örnek başarılı yanıtlar
XML biçimi
HTTP/1.1 200 OK
Content-Type:application/xml
<ImportImageResponse>
<RequestId>473469C7-AA6F-4DC5-B3DB-A3DC0DE3****</RequestId>
<ImageId>m-bp67acfmxazb4p****</ImageId>
<TaskId>t-bp67acfmxazb4p****</TaskId>
<RegionId>cn-hangzhou</RegionId>
</ImportImageResponse>
JSON biçimi
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****",
"ImageId" : "m-bp67acfmxazb4p****",
"TaskId" : "t-bp67acfmxazb4p****",
"RegionId" : "cn-hangzhou"
}
Hata kodları
|
HTTP durum kodu |
Hata kodu |
Hata mesajı |
Açıklama |
|
400 |
UnsupportedSuffix.OSSObject |
Belirtilen OSS nesne soneki desteklenmiyor. |
Belirtilen OSS nesne soneki desteklenmiyor. |
|
400 |
InvalidImageName.Malformed |
Belirtilen Image adı hatalı biçimlendirilmiş. |
Geçersiz ImageName biçimi. Ad 2 ila 128 karakter uzunluğunda olmalıdır. Ad bir harfle başlamalı ve acs: veya aliyun ile başlayamaz. http:// veya https:// içeremez. Ad harf, rakam, nokta (.), iki nokta üst üste (:), alt çizgi (_) ve tire (-) içerebilir. |
|
400 |
InvalidOSSObject.Malformed |
Belirtilen OSS nesnesi hatalı biçimlendirilmiş. |
Geçersiz DiskDeviceMapping.N.OSSObject değeri. |
|
400 |
InvalidDescription.Malformed |
Belirtilen Image açıklaması hatalı biçimlendirilmiş. |
Geçersiz Description biçimi. |
|
400 |
InvalidArchitecture.Malformed |
Belirtilen Architecture hatalı biçimlendirilmiş. |
Geçersiz Architecture biçimi. |
|
400 |
InvalidPlatform.Malformed |
Belirtilen Platform hatalı biçimlendirilmiş. |
Geçersiz Platform değeri. |
|
400 |
InvalidOSType.Malformed |
Belirtilen OSType hatalı biçimlendirilmiş. |
Geçersiz OSType biçimi. |
|
400 |
InvalidImageName.Duplicated |
Hedef görüntü mevcut. |
Görüntü adı zaten var. |
|
400 |
InvalidImageSize |
%s |
Geçersiz görüntü boyutu. |
|
400 |
InvalidDataDiskSize |
Belirtilen DiskDeviceMapping.N.DiskImSize belirtilen aralıkta olmalıdır. |
Geçersiz DiskDeviceMapping.N.DiskImSize değeri. |
|
400 |
InvalidImageFormat.Malformed |
Belirtilen Image Formatı hatalı biçimlendirilmiş. |
Geçersiz ImageFormat değeri. |
|
400 |
InvalidRegionId.NotFound |
Belirtilen RegionId mevcut değil. |
Geçersiz RegionId değeri. |
|
400 |
InvalidRegion.NotSupport |
Belirtilen bölge görüntü aktarımını veya dışa aktarımını desteklemiyor. |
Bu işlem, belirtilen bölgedeki görüntü üzerinde gerçekleştirilemez. |
|
400 |
InvalidOSSBucket.NotFound |
Belirtilen OSS paketi bu bölgede mevcut değil. |
OSS paketi bulunamadı. |
|
400 |
InvalidOSSObject.NotFound |
Belirtilen OSS nesnesi bu bölgede mevcut değil. |
OSS nesnesi bulunamadı. |
|
400 |
InvalidOSSBucket.NotMatched |
Belirtilen OSS paketi yanlış, %s. |
Geçersiz DiskDeviceMapping.N.OSSBucket değeri. Daha fazla bilgi için hata mesajındaki %s yer tutucusunun dönüş değerine bakın. |
|
403 |
ImageIsImporting |
Belirtilen Image aktarılıyor. |
Belirtilen görüntü aktarılıyor. İşlem gerçekleştirilemiyor. |
|
403 |
QuotaExceed.Image |
Image Kotası aşıldı. |
Özel görüntü kotası tükenmiş. |
|
403 |
ImportImageFailed |
Görüntü aktarma başarısız oldu, Lütfen yöneticiyle iletişime geçin. |
Görüntü aktarılamıyor. Bir sistem yöneticisiyle iletişime geçin. |
|
403 |
UserNotInTheWhiteList |
Kullanıcı görüntü aktarma izin listesinde değil. |
Görüntü aktarma yetkiniz yok. |
|
403 |
NoSetRoletoECSServiceAcount |
ECS hizmet hesabının OSS'nize erişim hakkı yok. Lütfen ECS hizmet hesabına OSS'nize erişim rolü ekleyin. |
ECS, belirtilen OSS paketine veya nesnesine erişim yetkisine sahip değil. |
|
403 |
MissingParameter.DiskDeviceMapping |
Belirtilen DiskDeviceMapping parametresi sağlanmadı. |
DiskDeviceMapping ile başlayan bir parametre gereklidir. |
|
403 |
InvalidVHDImage.IncorrectSize |
Belirtilen VHD görüntüsünün boyutu 'header.MaxTableEntries * header.BlockSize' spesifikasyonunu karşılamıyor. |
Belirtilen VHD görüntüsünün boyutu header.MaxTableEntries çarpı header.BlockSize sınırını karşılamıyor. |
|
403 |
InvalidOSSBucket.EncryptUnsupported |
Şifrelenmiş OSS paketlerinden nesnelere erişim desteklenmiyor. |
Şifrelenmiş OSS paketlerinden nesneleri okuyamazsınız. |
|
403 |
InvalidArchitecture.PlatformUnsupported |
Seçtiğiniz OS platformu belirtilen mimariyi desteklemiyor. |
Seçilen işletim sistemi belirtilen mimari türünü desteklemiyor. |
|
403 |
InvalidAccountStatus.OSSDisabled |
Hesap durumu geçersiz olduğu için OSS devre dışı bırakıldı. |
Hesap geçersiz olduğu için OSS devre dışı bırakıldı. |
|
404 |
InvalidResourceGroup.NotFound |
Sağlanan ResourceGroup kayıtlarımızda mevcut değil. |
Kaynak grubu bulunamadı. |
Hata kodlarının listesi için bkz. Hizmet hata kodları.