Crée une image personnalisée. Après avoir appelé cette opération pour créer une image personnalisée, vous pouvez appeler l'opération RunInstances pour créer des instances Elastic Compute Service (ECS) à partir de l'image créée, ou appeler l'opération ReplaceSystemDisk pour remplacer les disques système en utilisant cette image personnalisée.
Notes d'utilisation
Tenez compte des points suivants :
Vous ne pouvez utiliser l'image personnalisée créée que si celle-ci est dans l'état Disponible (Available).
Si les réponses contiennent
{"OperationLocks": {"LockReason" : "security"}}pour une instance lorsque vous consultez les informations de l'instance, cela signifie que l'instance est verrouillée pour des raisons de sécurité et toutes les opérations y sont interdites.Pour optimiser votre image, nous vous recommandons de spécifier le paramètre DetectionStrategy lors de la création de l'image. Pour plus d'informations, consultez la rubrique Présentation de la vérification des images.
Vous pouvez appeler l'opération CreateImage pour créer une image personnalisée en utilisant l'une des méthodes suivantes. Les paramètres de requête suivants sont classés par ordre de priorité : InstanceId > DiskDeviceMapping > SnapshotId. Si votre requête contient deux ou plusieurs de ces paramètres, l'image personnalisée est créée sur la base du paramètre ayant la priorité la plus élevée.
Méthode 1 : Créez une image personnalisée à partir d'une instance. Il vous suffit de spécifier l'ID de l'instance à l'aide du paramètre
InstanceId. L'instance doit être dans l'état En cours d'exécution (Running) ou Arrêtée (Stopped). Après avoir appelé l'opération CreateImage, un snapshot est créé pour chaque disque de l'instance. Lorsque vous créez une image personnalisée à partir d'une instance en cours d'exécution, les données en cache peuvent ne pas être écrites sur les disques. Dans ce cas, les données de l'image personnalisée peuvent différer légèrement de celles de l'instance. Nous vous recommandons d'arrêter les instances en appelant l'opération StopInstances avant de créer des images personnalisées à partir de ces instances.Méthode 2 : Créez une image personnalisée à partir du snapshot du disque système d'une instance. Il vous suffit de spécifier l'ID du snapshot du disque système à l'aide du paramètre
SnapshotId. Le snapshot du disque système spécifié doit avoir été créé après le 15 juillet 2013.Méthode 3 : Créez une image personnalisée à partir de plusieurs snapshots de disque. Vous devez spécifier le mappage des données entre les disques et les snapshots en utilisant les paramètres commençant par
DiskDeviceMapping.
Lorsque vous utilisez la méthode 3 pour créer une image personnalisée, tenez compte des points suivants :
Vous ne pouvez spécifier qu'un seul snapshot pour créer le disque système dans l'image personnalisée. Le nom de périphérique du disque système doit être /dev/xvda.
Vous pouvez spécifier jusqu'à 16 snapshots pour créer des disques de données dans l'image personnalisée. Les noms de périphérique des disques de données sont uniques et s'étendent de /dev/xvdb à /dev/xvdz par ordre alphabétique.
Le paramètre
SnapshotIdpeut ne pas être spécifié. Dans ce cas, un disque de données vide d'une taille spécifique est créé.Le snapshot de disque spécifié doit avoir été créé après le 15 juillet 2013.
Débogage
Paramètres de la requête
Paramètre | Type | Obligatoire | Exemple | Description |
Action | String | Oui | CreateImage | L'opération à effectuer. Définissez la valeur sur CreateImage. |
RegionId | String | Oui | cn-hangzhou | ID de la région dans laquelle créer l'image personnalisée. Appelez l'opération DescribeRegions pour obtenir la liste des régions les plus récentes. |
SnapshotId | String | Non | s-bp17441ohwkdca0**** | ID du snapshot à utiliser pour créer l'image personnalisée. |
InstanceId | String | Non | i-bp1g6zv0ce8oghu7**** | ID de l'instance à utiliser pour créer l'image personnalisée. |
ImageName | String | Non | TestCentOS | Nom de l'image personnalisée. La longueur doit être comprise entre 2 et 128 caractères. Le nom doit commencer par une lettre et ne peut pas débuter par http:// ou https://. Il peut contenir des chiffres, des lettres, des deux-points (:), des traits de soulignement (_) et des tirets (-). |
ImageFamily | String | Non | hangzhou-daily-update | Nom de la famille d'images de l'image personnalisée. La longueur doit être comprise entre 2 et 128 caractères. Le nom doit commencer par une lettre et ne peut pas débuter par acs: ou aliyun. Il ne peut pas contenir http:// ou https://. Il peut contenir des chiffres, des lettres, des deux-points (:), des traits de soulignement (_) et des tirets (-). |
ImageVersion | String | Non | 2017011017 | Version de l'image. Remarque Si vous spécifiez |
Description | String | Non | ImageTestDescription | Description de l'image. La longueur doit être comprise entre 2 et 256 caractères et ne peut pas commencer par http:// ou https://. |
Platform | String | Non | CentOS | Distribution du système d'exploitation du disque système dans l'image personnalisée. Si vous spécifiez un snapshot de disque de données pour créer le disque système de l'image personnalisée, utilisez Platform pour indiquer la distribution du système d'exploitation du disque système. Valeurs possibles :
Valeur par défaut : Others Linux. |
BootMode | String | Non | BIOS | Mode de démarrage de l'image personnalisée. Valeurs possibles :
Remarque Vous devez connaître les modes de démarrage pris en charge par l'image spécifiée. Lorsque vous utilisez ce paramètre pour modifier le mode de démarrage de l'image, spécifiez un mode pris en charge par l'image afin de garantir que les instances utilisant cette image puissent démarrer normalement. |
Architecture | String | Non | x86_64 | Architecture système du disque système. Si vous spécifiez un snapshot de disque de données pour créer le disque système de l'image personnalisée, utilisez Architecture pour indiquer l'architecture système du disque système. Valeurs possibles :
Valeur par défaut : x86_64. |
ClientToken | String | Non | 123e4567-e89b-12d3-a456-426655440000 | Jeton client utilisé pour garantir l'idempotence de la requête. Vous pouvez générer le jeton à l'aide du client, mais vous devez vous assurer qu'il est unique pour chaque requête. Le token ne peut contenir que des caractères ASCII et sa longueur ne doit pas dépasser 64 caractères. Pour plus d'informations, consultez Comment garantir l'idempotence. |
ResourceGroupId | String | Non | rg-bp67acfmxazb4p**** | ID du groupe de ressources auquel attribuer l'image personnalisée. Si vous ne spécifiez pas ce paramètre, l'image est attribuée au groupe de ressources par défaut. Remarque Si vous appelez l'opération CreateImage en tant qu'utilisateur RAM non autorisé à gérer le groupe de ressources par défaut et que vous ne spécifiez pas |
DiskDeviceMapping.N.SnapshotId | String | Non | s-bp17441ohwkdca0**** | ID du snapshot utilisé pour créer le disque N dans l'image personnalisée. |
DiskDeviceMapping.N.Size | Integer | Non | 2000 | Taille du disque N dans l'image personnalisée. Unité : Go. Les valeurs valides et la valeur par défaut de DiskDeviceMapping.N.Size varient selon la valeur de DiskDeviceMapping.N.SnapshotId.
|
DiskDeviceMapping.N.Device | String | Non | /dev/vdb | Nom de périphérique du disque N dans l'image personnalisée. Valeurs possibles :
|
DiskDeviceMapping.N.DiskType | String | Non | system | Type du disque N dans l'image personnalisée. Vous pouvez spécifier ce paramètre pour créer le disque système de l'image personnalisée à partir d'un snapshot de disque de données. Si vous ne spécifiez pas ce paramètre, le type de disque est déterminé par le snapshot correspondant. Valeurs possibles :
|
Tag.N.key | String | Non | null | Clé du tag N à ajouter à l'image personnalisée. Remarque Ce paramètre sera supprimé à l'avenir. Nous vous recommandons d'utiliser le paramètre Tag.N.Key pour garantir la compatibilité future. |
Tag.N.Key | String | Non | KeyTest | Clé du tag N à ajouter à l'image personnalisée. Valeurs possibles de N : 1 à 20. La clé du tag ne peut pas être une chaîne vide. Sa longueur maximale est de 128 caractères et elle ne peut pas contenir |
Tag.N.Value | String | Non | ValueTest | Valeur du tag N à ajouter à l'image personnalisée. Valeurs possibles de N : 1 à 20. La valeur du tag peut être une chaîne vide. Sa longueur maximale est de 128 caractères. Elle ne peut pas commencer par |
Tag.N.value | String | Non | null | Valeur du tag N à ajouter à l'image personnalisée. Remarque Ce paramètre sera supprimé à l'avenir. Nous vous recommandons d'utiliser le paramètre Tag.N.Value pour garantir la compatibilité future. |
DetectionStrategy | String | Non | Standard | Mode de vérification de l'image. Si vous ne spécifiez pas ce paramètre, l'image n'est pas vérifiée. Seul le mode de vérification standard est pris en charge. Remarque Ce paramètre est pris en charge pour la plupart des images Linux et Windows. Pour plus d'informations sur les éléments de vérification des images et les limites du système d'exploitation pour la vérification des images, consultez Présentation de la vérification des images et Limites du système d'exploitation pour la vérification des images. |
Paramètres de la réponse
|
Paramètre |
Type |
Exemple |
Description |
|
ImageId |
String |
m-bp146shijn7hujku**** |
ID de l'image personnalisée. |
|
RequestId |
String |
C8B26B44-0189-443E-9816-******* |
ID de la requête. |
Exemples
Exemple de requête
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>
Exemple de réponse en cas de réussite
Format XML
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateImageResponse>
<RequestId>C8B26B44-0189-443E-9816-*******</RequestId>
<ImageId>m-bp146shijn7hujku****</ImageId>
</CreateImageResponse>
Format JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "C8B26B44-0189-443E-9816-*******",
"ImageId" : "m-bp146shijn7hujku****"
}
Codes d'erreur
|
Code d'état HTTP |
Code d'erreur |
Message d'erreur |
description |
|
400 |
InvalidImageName.Malformed |
The specified Image name is wrongly formed. |
Le nom de l'image spécifié est invalide. La longueur doit être comprise entre 2 et 128 caractères. Il doit commencer par une lettre et ne peut pas commencer par acs: ou aliyun. Il ne peut pas contenir http:// ou https://. Il peut contenir des lettres, des chiffres, des points (.), des deux-points (:), des traits de soulignement (_) et des tirets (-). |
|
400 |
InvalidImageName.Duplicated |
The specified Image name has already bean used. |
Le nom de l'image spécifié existe déjà. |
|
400 |
InvalidDescription.Malformed |
The specified description is wrongly formed. |
Le paramètre Description spécifié est invalide. La description doit comporter entre 2 et 256 caractères et ne peut pas commencer par http:// ou https://. |
|
400 |
InvalidImageVersion.Malformed |
The specified ImageVersion is wrongly formed. |
La version de l'image spécifiée est invalide ou vous n'êtes pas autorisé à utiliser le snapshot. |
|
400 |
IncorrectInstanceStatus |
The current status of the instance does not support this operation. |
Cette opération n'est pas prise en charge dans l'état actuel de l'instance. |
|
400 |
InstanceLockedForSecurity |
The specified operation is denied as your instance is locked for security reasons. |
L'instance est verrouillée pour des raisons de sécurité. |
|
400 |
InvalidDevice.Malformed |
The specified parameter DiskDeviceMapping.n.Device is not valid. |
Le paramètre DiskDeviceMapping.N.Device spécifié est invalide. |
|
400 |
MissingParameter |
The input parameter SnapshotId or InstanceId or DiskDeviceMapping that is mandatory for processing this request is not supplied. |
Les paramètres SnapshotId, InstanceId ou les paramètres commençant par DiskDeviceMapping ne sont pas spécifiés. |
|
400 |
InvalidSize.ValueNotSupported |
The specified parameter DiskDeviceMapping.n.Size beyond the permitted range. |
Le paramètre DiskDeviceMapping.N.Size spécifié n'est pas dans la plage autorisée. |
|
400 |
InvalidDevice.InUse |
The specified parameter DiskDeviceMapping.n.Device has been occupied. |
Les noms de périphérique spécifiés dans la valeur DiskDeviceMapping.N.Device sont déjà utilisés. |
|
400 |
OperationDenied |
The specified parameter DiskDeviceMapping.n.SnapshotId does not contain system disk snapshot. |
Le paramètre DiskDeviceMapping.N.SnapshotID spécifié ne contient pas d'ID de snapshot de disque système. |
|
400 |
OperationDenied |
The specified parameter DiskDeviceMapping.n.SnapshotId contains two or more system disk snapshots. |
Le paramètre DiskDeviceMapping.N.SnapshotID spécifié contient déjà un ID de snapshot de disque système. |
|
400 |
InvalidDiskCategory.CreateImage |
The specified diskCategory is not allowed to create image. |
L'opération n'est pas prise en charge par la catégorie de disque spécifiée. |
|
400 |
InvalidArchitecture.Malformed |
The specified Architecture is wrongly formed. |
Le paramètre Architecture spécifié est invalide. |
|
400 |
InvalidPlatform.Malformed |
The specified Platform is wrongly formed. |
Le paramètre Platform spécifié est invalide. |
|
400 |
OperationDenied |
Not support creating system image from an encrypted snapshot/disk. |
Un disque ou un snapshot chiffré ne peut pas être utilisé pour créer des images personnalisées. |
|
400 |
InvalidParameter.AllEmpty |
%s |
Les paramètres requis ne sont pas spécifiés. |
|
400 |
Duplicate.TagKey |
The Tag.N.Key contain duplicate key. |
La clé de tag spécifiée existe déjà. Les clés de tag doivent être uniques. |
|
400 |
InvalidTagKey.Malformed |
The specified Tag.n.Key is not valid. |
Le paramètre Tag.N.Key spécifié est invalide. |
|
400 |
InvalidTagValue.Malformed |
The specified Tag.n.Value is not valid. |
Le paramètre Tag.N.Value spécifié est invalide. |
|
400 |
InvalidDiskType.ValueNotSupported |
The specified disk type is not supported. |
Le type de disque spécifié est invalide. |
|
400 |
IdempotenceParamNotMatch |
Request uses a client token in a previous request but is not identical to that request. |
Cette requête et la requête précédente contiennent le même jeton client mais des paramètres différents. |
|
403 |
InvalidSnapshotId.NotReady |
The current status of the DiskDeviceMapping.n.SnapshotId or SnapshotId does not support this operation. |
L'opération n'est pas prise en charge dans l'état actuel du snapshot spécifié. |
|
403 |
InvalidSnapshot.TooOld |
This operation is denied because the specified snapshot by DiskDeviceMapping.n.SnapshotId or SnapshotId is created before 2013-07-15. |
Cette opération est refusée. Le snapshot spécifié par le paramètre DiskDeviceMapping.N.SnapshotId ou SnapshotId a été créé avant le 15 juillet 2013. |
|
403 |
OperationDenied |
The specified snapshot is not allowed to create image. |
Le snapshot spécifié ne peut pas être utilisé pour créer des images. |
|
403 |
QuotaExceed.Image |
The Image Quota exceeds. |
Le quota d'images personnalisées a été atteint. |
|
403 |
OperationDenied |
The specified snapshot is not from system disk. |
Le snapshot spécifié n'est pas un snapshot de disque système. |
|
403 |
InvalidParamter.Conflict |
The specified same token is trying to make requests with different parameters. |
Le même jeton est utilisé pour effectuer des requêtes contenant des paramètres différents. |
|
403 |
InvalidAccountStatus.NotEnoughBalance |
Your account does not have enough balance. |
Le solde de votre compte est insuffisant. Rechargez votre compte et réessayez. |
|
403 |
InvalidAccountStatus.SnapshotServiceUnavailable |
Snapshot service has not been opened yet. |
L'opération n'est pas prise en charge car le service de snapshot n'est pas activé. |
|
403 |
UserNotInTheWhiteList |
The user is not in the white list of create image by data disk snapshot. |
Vous n'êtes pas autorisé à créer une image à partir de snapshots de disques de données. Réessayez lorsque vous y serez autorisé. |
|
403 |
IncorrectDiskStatus.Invalid |
Device status is invalid, please restart instance and try again. |
Le périphérique est dans un état invalide. Redémarrez l'instance et réessayez. |
|
403 |
OperationDenied.InvalidSnapshotCategory |
%s |
L'opération n'est pas prise en charge par le type de snapshot. |
|
403 |
QuotaExceed.Snapshot |
The snapshot quota exceeds. |
Le nombre maximal de snapshots a été atteint. Pour stocker des snapshots, supprimez ceux qui ne sont plus nécessaires. |
|
403 |
IncorrectDiskStatus.Transferring |
The specified device is transferring, you can retry after the process is finished. |
Le disque spécifié est en cours de migration. Attendez que la migration soit terminée et réessayez. |
|
403 |
IncorrectDiskStatus |
The current disk status does not support this operation. |
L'opération n'est pas prise en charge dans l'état actuel du disque. Assurez-vous que le disque est disponible et qu'il n'y a pas de paiements en souffrance. |
|
403 |
IncorrectDiskStatus.CreatingSnapshot |
A previous snapshot creation is in process. |
Un autre snapshot est en cours de création pour le disque. Attendez que le snapshot soit créé et réessayez. |
|
403 |
InvalidParameter.KMSKeyId.CMKNotEnabled |
The CMK needs to be enabled. |
La clé maîtresse cliente (CMK) n'est pas activée lorsqu'un ID de clé Key Management Service (KMS) est spécifié pour un disque. Vous pouvez appeler l'opération DescribeKey de KMS pour interroger les informations sur la CMK spécifiée. |
|
403 |
InvalidParameter.KMSKeyId.KMSUnauthorized |
ECS service have no right to access your KMS. |
ECS n'est pas autorisé à accéder à vos ressources KMS. |
|
403 |
QuotaExceed.Tags |
%s |
Le nombre de tags spécifiés dépasse la limite supérieure. %s est une variable. Un message d'erreur est renvoyé dynamiquement en fonction des conditions d'appel. |
|
403 |
HibernationConfigured.InstanceOperationForbidden |
The operation is not permitted due to limit of the hibernation configured instance. |
L'opération ne peut pas être effectuée en raison des limitations des instances pour lesquelles la fonctionnalité de mise en veille prolongée est activée. |
|
403 |
SnapshotNotReady |
The specified snapshot is not ready. |
Le snapshot spécifié est en cours de création et ne peut pas être utilisé pour créer des images. |
|
403 |
IncorrectInstanceStatus.NeedRestart |
The instance needs to be restarted after adding a disk in a shutdown status. |
L'instance n'a pas été redémarrée. Si vous attachez des disques à une instance à l'état Arrêté, vous devez redémarrer l'instance avant de pouvoir créer des images personnalisées à partir de celle-ci. |
|
404 |
InvalidSnapshotId.NotFound |
The specified SnapshotId does not exist. |
Le paramètre SnapshotId spécifié n'existe pas. |
|
404 |
InvalidInstanceId.NotFound |
The specified InstanceId does not exist. |
Le paramètre InstanceId spécifié n'existe pas. |
|
404 |
InvalidResourceGroup.NotFound |
The ResourceGroup provided does not exist in our records. |
Le paramètre ResourceGroupId spécifié n'existe pas. |
|
500 |
InternalError |
The process of creating snapshot has failed due to some unknown error. |
Le snapshot ne peut pas être créé. |
|
500 |
InternalError |
The request processing has failed due to some unknown error, exception or failure. |
Une erreur interne s'est produite. Réessayez ultérieurement. |
Pour obtenir la liste des codes d'erreur, consultez les Codes d'erreur de service.