Cree una imagen personalizada. Después de llamar a esta operación para crear una imagen personalizada, puede llamar a la operación RunInstances para crear instancias de Elastic Compute Service (ECS) a partir de la imagen creada, o llamar a la operación ReplaceSystemDisk para reemplazar discos del sistema mediante dicha imagen.
Notas de uso
Tome en cuenta los puntos a continuación:
Solo puede usar la imagen personalizada creada si esta se encuentra en estado Available (Available).
Si al consultar la información de una instancia las respuestas contienen
{"OperationLocks": {"LockReason" : "security"}}, significa que la instancia está bloqueada por motivos de seguridad y todas las operaciones sobre ella están prohibidas.Para optimizar su imagen, se recomienda especificar DetectionStrategy al crearla. Para obtener más información, consulte Descripción general de la verificación de imágenes.
Puede llamar a la operación CreateImage para crear una imagen personalizada mediante uno de los métodos a continuación. Los parámetros de solicitud se ordenan por prioridad: InstanceId > DiskDeviceMapping > SnapshotId. Si su solicitud contiene dos o más de estos parámetros, la imagen personalizada se crea con base en el parámetro de mayor prioridad.
Método 1: Crear una imagen personalizada a partir de una instancia. Solo necesita especificar el ID de la instancia mediante el parámetro
InstanceId. La instancia debe estar en estado Running (Running) o Stopped (Stopped). Al llamar a la operación CreateImage, se genera una instantánea para cada disco de la instancia. Cuando se crea una imagen personalizada desde una instancia en ejecución, es posible que los datos en caché no se hayan escrito aún en los discos; en ese caso, los datos de la imagen podrían diferir ligeramente de los de la instancia. Se recomienda detener las instancias mediante la operación StopInstances antes de crear imágenes personalizadas a partir de ellas.Método 2: Crear una imagen personalizada a partir de la instantánea del disco del sistema de una instancia. Solo necesita especificar el ID de la instantánea del disco del sistema mediante el parámetro
SnapshotId. La instantánea del disco del sistema especificada debe haberse creado después del 15 de julio de 2013.Método 3: Crear una imagen personalizada a partir de varias instantáneas de disco. Debe especificar la asignación entre discos e instantáneas mediante los parámetros que comienzan con
DiskDeviceMapping.
Al utilizar el Método 3 para crear una imagen personalizada, considere lo siguiente:
Solo puede especificar una instantánea para crear el disco del sistema en la imagen personalizada. El nombre del dispositivo del disco del sistema debe ser /dev/xvda.
Puede especificar hasta 16 instantáneas para crear discos de datos en la imagen personalizada. Los nombres de dispositivo de los discos de datos son únicos y van de /dev/xvdb a /dev/xvdz en orden alfabético.
Es posible que no se especifique
SnapshotId. En este caso, se crea un disco de datos vacío con un tamaño específico.La instantánea de disco especificada debe haberse creado después del 15 de julio de 2013.
Depuración
Parámetros de solicitud
Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
Action | String | Sí | CreateImage | La operación que desea ejecutar. Establezca el valor en CreateImage. |
RegionId | String | Sí | cn-hangzhou | El ID de la región donde se creará la imagen personalizada. Puede llamar a la operación DescribeRegions para consultar la lista más reciente de regiones. |
SnapshotId | String | No | s-bp17441ohwkdca0**** | El ID de la instantánea que desea utilizar para crear la imagen personalizada. |
InstanceId | String | No | i-bp1g6zv0ce8oghu7**** | El ID de la instancia que desea utilizar para crear la imagen personalizada. |
ImageName | String | No | TestCentOS | El nombre de la imagen personalizada. Debe tener entre 2 y 128 caracteres de longitud. Tiene que comenzar con una letra y no puede iniciar con http:// ni https://. Puede contener dígitos, letras, dos puntos (:), guiones bajos (_) y guiones (-). |
ImageFamily | String | No | hangzhou-daily-update | El nombre de la familia de imágenes de la imagen personalizada. Debe tener entre 2 y 128 caracteres de longitud. Tiene que comenzar con una letra y no puede iniciar con acs: ni aliyun. No puede contener http:// ni https://. Puede incluir dígitos, letras, dos puntos (:), guiones bajos (_) y guiones (-). |
ImageVersion | String | No | 2017011017 | La versión de la imagen. Nota Si especifica |
Description | String | No | ImageTestDescription | La descripción de la imagen. Debe tener entre 2 y 256 caracteres de longitud y no puede comenzar con http:// ni https://. |
Platform | String | No | CentOS | La distribución del sistema operativo para el disco del sistema en la imagen personalizada. Si especifica una instantánea de disco de datos para crear el disco del sistema de la imagen, utilice Platform para indicar la distribución del sistema operativo. Valores válidos:
Valor predeterminado: Others Linux. |
BootMode | String | No | BIOS | El modo de arranque de la imagen personalizada. Valores válidos:
Nota Debe familiarizarse con los modos de arranque compatibles con la imagen especificada. Al usar este parámetro para cambiar el modo de arranque, asegúrese de seleccionar uno admitido por la imagen para garantizar que las instancias que la utilicen puedan iniciarse correctamente. |
Architecture | String | No | x86_64 | La arquitectura del sistema del disco del sistema. Si especifica una instantánea de disco de datos para crear el disco del sistema de la imagen personalizada, utilice Architecture para definir dicha arquitectura. Valores válidos:
Valor predeterminado: x86_64. |
ClientToken | String | No | 123e4567-e89b-12d3-a456-426655440000 | El token de cliente que se usa para garantizar la idempotencia de la solicitud. Puede generar el token desde el cliente, pero debe asegurarse de que sea único entre distintas solicitudes. El token solo puede contener caracteres ASCII y no debe exceder los 64 caracteres de longitud. Para obtener más información, consulte Cómo garantizar la idempotencia. |
ResourceGroupId | String | No | rg-bp67acfmxazb4p**** | El ID del resource group al que se asignará la imagen personalizada. Si no especifica este parámetro, la imagen se asigna al resource group predeterminado. Nota Si llama a la operación CreateImage como usuario de Resource Access Management (RAM) sin autorización para gestionar el resource group predeterminado y no especifica |
DiskDeviceMapping.N.SnapshotId | String | No | s-bp17441ohwkdca0**** | El ID de la instantánea utilizada para crear el disco N en la imagen personalizada. |
DiskDeviceMapping.N.Size | Integer | No | 2000 | El tamaño del disco N en la imagen personalizada. Unidad: GiB. Los valores válidos y el valor predeterminado de DiskDeviceMapping.N.Size varían según el valor de DiskDeviceMapping.N.SnapshotId.
|
DiskDeviceMapping.N.Device | String | No | /dev/vdb | El nombre del dispositivo del disco N en la imagen personalizada. Valores válidos:
|
DiskDeviceMapping.N.DiskType | String | No | system | El tipo del disco N en la imagen personalizada. Puede especificar este parámetro para crear el disco del sistema de la imagen a partir de una instantánea de disco de datos. Si no lo especifica, el tipo de disco se determina por la instantánea correspondiente. Valores válidos:
|
Tag.N.key | String | No | null | La clave de la etiqueta N que se agregará a la imagen personalizada. Nota Este parámetro se eliminará en el futuro. Se recomienda usar el parámetro Tag.N.Key para garantizar compatibilidad futura. |
Tag.N.Key | String | No | KeyTest | La clave de la etiqueta N que se agregará a la imagen personalizada. Valores válidos de N: 1 a 20. La clave de etiqueta no puede ser una cadena vacía. Puede tener hasta 128 caracteres de longitud y no debe contener |
Tag.N.Value | String | No | ValueTest | El valor de la etiqueta N que se agregará a la imagen personalizada. Valores válidos de N: 1 a 20. El valor de la etiqueta puede ser una cadena vacía y tener hasta 128 caracteres de longitud. No puede comenzar con |
Tag.N.value | String | No | null | El valor de la etiqueta N que se agregará a la imagen personalizada. Nota Este parámetro se eliminará en el futuro. Se recomienda usar el parámetro Tag.N.Value para garantizar compatibilidad futura. |
DetectionStrategy | String | No | Standard | El modo en que se verificará la imagen. Si no especifica este parámetro, la imagen no se verifica. Solo se admite el modo de verificación estándar. Nota Este parámetro es compatible con la mayoría de las imágenes Linux y Windows. Para más información sobre los elementos de verificación y los límites del sistema operativo aplicables, consulte Descripción general de la verificación de imágenes y Límites del sistema operativo para la verificación de imágenes. |
Parámetros de respuesta
|
Parámetro |
Tipo |
Ejemplo |
Descripción |
|
ImageId |
String |
m-bp146shijn7hujku**** |
El ID de la imagen personalizada. |
|
RequestId |
String |
C8B26B44-0189-443E-9816-*** |
El ID de la solicitud. |
Ejemplos
Solicitudes de ejemplo
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>
Respuestas exitosas de ejemplo
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateImageResponse>
<RequestId>C8B26B44-0189-443E-9816-*******</RequestId>
<ImageId>m-bp146shijn7hujku****</ImageId>
</CreateImageResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "C8B26B44-0189-443E-9816-*******",
"ImageId" : "m-bp146shijn7hujku****"
}
Códigos de error
|
Código de estado HTTP |
Código de error |
Mensaje de error |
Descripción |
|
400 |
InvalidImageName.Malformed |
The specified Image name is wrongly formed. |
Mensaje devuelto porque el nombre de imagen especificado no es válido. Debe tener entre 2 y 128 caracteres, comenzar con una letra y no puede iniciar con acs: ni aliyun. No puede contener http:// ni https://. Puede incluir letras, dígitos, puntos (.), dos puntos (:), guiones bajos (_) y guiones (-). |
|
400 |
InvalidImageName.Duplicated |
The specified Image name has already bean used. |
Mensaje devuelto porque el nombre de imagen especificado ya existe. |
|
400 |
InvalidDescription.Malformed |
The specified description is wrongly formed. |
Mensaje devuelto porque el parámetro Description especificado no es válido. La descripción debe tener entre 2 y 256 caracteres y no puede comenzar con http:// ni https://. |
|
400 |
InvalidImageVersion.Malformed |
The specified ImageVersion is wrongly formed. |
Mensaje devuelto porque la versión de imagen especificada no es válida o porque no tiene autorización para usar la instantánea. |
|
400 |
IncorrectInstanceStatus |
The current status of the instance does not support this operation. |
Mensaje devuelto porque esta operación no es compatible con el estado actual de la instancia. |
|
400 |
InstanceLockedForSecurity |
The specified operation is denied as your instance is locked for security reasons. |
Mensaje devuelto porque la instancia está bloqueada por motivos de seguridad. |
|
400 |
InvalidDevice.Malformed |
The specified parameter DiskDeviceMapping.n.Device is not valid. |
Mensaje devuelto porque el parámetro DiskDeviceMapping.N.Device especificado no es válido. |
|
400 |
MissingParameter |
The input parameter SnapshotId or InstanceId or DiskDeviceMapping that is mandatory for processing this request is not supplied. |
Mensaje devuelto porque no se especificaron SnapshotId, InstanceId o los parámetros que comienzan con DiskDeviceMapping. |
|
400 |
InvalidSize.ValueNotSupported |
The specified parameter DiskDeviceMapping.n.Size beyond the permitted range. |
Mensaje devuelto porque el parámetro DiskDeviceMapping.N.Size especificado está fuera del rango permitido. |
|
400 |
InvalidDevice.InUse |
The specified parameter DiskDeviceMapping.n.Device has been occupied. |
Mensaje devuelto porque los nombres de dispositivo especificados en DiskDeviceMapping.N.Device ya están en uso. |
|
400 |
OperationDenied |
The specified parameter DiskDeviceMapping.n.SnapshotId does not contain system disk snapshot. |
Mensaje devuelto porque el parámetro DiskDeviceMapping.N.SnapshotID especificado no contiene un ID de instantánea de disco del sistema. |
|
400 |
OperationDenied |
The specified parameter DiskDeviceMapping.n.SnapshotId contains two or more system disk snapshots. |
Mensaje devuelto porque el parámetro DiskDeviceMapping.N.SnapshotID especificado ya contiene un ID de instantánea de disco del sistema. |
|
400 |
InvalidDiskCategory.CreateImage |
The specified diskCategory is not allowed to create image. |
Mensaje devuelto porque la categoría de disco especificada no admite esta operación. |
|
400 |
InvalidArchitecture.Malformed |
The specified Architecture is wrongly formed. |
Mensaje devuelto porque el parámetro Architecture especificado no es válido. |
|
400 |
InvalidPlatform.Malformed |
The specified Platform is wrongly formed. |
Mensaje devuelto porque el parámetro Platform especificado no es válido. |
|
400 |
OperationDenied |
Not support creating system image from an encrypted snapshot/disk. |
Mensaje devuelto porque no se pueden usar discos o instantáneas cifradas para crear imágenes personalizadas. |
|
400 |
InvalidParameter.AllEmpty |
%s |
Mensaje devuelto porque no se especificaron los parámetros obligatorios. |
|
400 |
Duplicate.TagKey |
The Tag.N.Key contain duplicate key. |
Mensaje devuelto porque la clave de etiqueta especificada ya existe. Las claves de etiqueta deben ser únicas. |
|
400 |
InvalidTagKey.Malformed |
The specified Tag.n.Key is not valid. |
Mensaje devuelto porque el parámetro Tag.N.Key especificado no es válido. |
|
400 |
InvalidTagValue.Malformed |
The specified Tag.n.Value is not valid. |
Mensaje devuelto porque el parámetro Tag.N.Value especificado no es válido. |
|
400 |
InvalidDiskType.ValueNotSupported |
The specified disk type is not supported. |
Mensaje devuelto porque el tipo de disco especificado no es válido. |
|
400 |
IdempotenceParamNotMatch |
Request uses a client token in a previous request but is not identical to that request. |
Mensaje devuelto porque esta solicitud y la anterior contienen el mismo token de cliente pero parámetros diferentes. |
|
403 |
InvalidSnapshotId.NotReady |
The current status of the DiskDeviceMapping.n.SnapshotId or SnapshotId does not support this operation. |
Mensaje devuelto porque la operación no es compatible con el estado actual de la instantánea especificada. |
|
403 |
InvalidSnapshot.TooOld |
This operation is denied because the specified snapshot by DiskDeviceMapping.n.SnapshotId or SnapshotId is created before 2013-07-15. |
Mensaje devuelto porque se denegó la operación. La instantánea especificada mediante DiskDeviceMapping.N.SnapshotId o SnapshotId se creó antes del 15 de julio de 2013. |
|
403 |
OperationDenied |
The specified snapshot is not allowed to create image. |
Mensaje devuelto porque la instantánea especificada no puede usarse para crear imágenes. |
|
403 |
QuotaExceed.Image |
The Image Quota exceeds. |
Mensaje devuelto porque se agotó la cuota de imágenes personalizadas. |
|
403 |
OperationDenied |
The specified snapshot is not from system disk. |
Mensaje devuelto porque la instantánea especificada no corresponde a un disco del sistema. |
|
403 |
InvalidParamter.Conflict |
The specified same token is trying to make requests with different parameters. |
Mensaje devuelto porque se usa el mismo token para realizar solicitudes con parámetros distintos. |
|
403 |
InvalidAccountStatus.NotEnoughBalance |
Your account does not have enough balance. |
Mensaje devuelto porque el saldo de su cuenta es insuficiente. Agregue fondos a su cuenta e inténtelo de nuevo. |
|
403 |
InvalidAccountStatus.SnapshotServiceUnavailable |
Snapshot service has not been opened yet. |
Mensaje devuelto porque la operación no es compatible mientras el servicio de instantáneas no esté activado. |
|
403 |
UserNotInTheWhiteList |
The user is not in the white list of create image by data disk snapshot. |
Mensaje devuelto porque no tiene autorización para crear una imagen a partir de instantáneas de discos de datos. Inténtelo nuevamente cuando cuente con los permisos necesarios. |
|
403 |
IncorrectDiskStatus.Invalid |
Device status is invalid, please restart instance and try again. |
Mensaje devuelto porque el dispositivo está en un estado no válido. Reinicie la instancia e inténtelo de nuevo. |
|
403 |
OperationDenied.InvalidSnapshotCategory |
%s |
Mensaje devuelto porque el tipo de instantánea no admite esta operación. |
|
403 |
QuotaExceed.Snapshot |
The snapshot quota exceeds. |
Mensaje devuelto porque se alcanzó el número máximo de instantáneas. Para almacenar nuevas instantáneas, elimine las que ya no necesite. |
|
403 |
IncorrectDiskStatus.Transferring |
The specified device is transferring, you can retry after the process is finished. |
Mensaje devuelto porque el disco especificado se está migrando. Espere a que finalice la migración e inténtelo de nuevo. |
|
403 |
IncorrectDiskStatus |
The current disk status does not support this operation. |
Mensaje devuelto porque la operación no es compatible con el estado actual del disco. Asegúrese de que el disco esté disponible y de no tener pagos pendientes asociados a él. |
|
403 |
IncorrectDiskStatus.CreatingSnapshot |
A previous snapshot creation is in process. |
Mensaje devuelto porque se está creando otra instantánea para el disco. Espere a que termine la creación e inténtelo de nuevo. |
|
403 |
InvalidParameter.KMSKeyId.CMKNotEnabled |
The CMK needs to be enabled. |
Mensaje devuelto porque la clave maestra del cliente (CMK) no está habilitada cuando se especifica un ID de clave de Key Management Service (KMS) para un disco. Puede llamar a la operación DescribeKey de KMS para consultar la información de la CMK especificada. |
|
403 |
InvalidParameter.KMSKeyId.KMSUnauthorized |
ECS service have no right to access your KMS. |
Mensaje devuelto porque ECS no tiene autorización para acceder a sus recursos de KMS. |
|
403 |
QuotaExceed.Tags |
%s |
Mensaje devuelto porque el número de etiquetas especificadas supera el límite superior. %s es una variable; el mensaje de error se genera dinámicamente según las condiciones de la llamada. |
|
403 |
HibernationConfigured.InstanceOperationForbidden |
The operation is not permitted due to limit of the hibernation configured instance. |
Mensaje devuelto porque la operación no puede realizarse debido a las limitaciones de las instancias que tienen habilitada la función de hibernación. |
|
403 |
SnapshotNotReady |
The specified snapshot is not ready. |
Mensaje devuelto porque la instantánea especificada se está creando y aún no puede usarse para generar imágenes. |
|
403 |
IncorrectInstanceStatus.NeedRestart |
The instance needs to be restarted after adding a disk in a shutdown status. |
Mensaje devuelto porque la instancia no se ha reiniciado. Si conecta discos a una instancia en estado Stopped, debe reiniciarla antes de poder crear imágenes personalizadas a partir de ella. |
|
404 |
InvalidSnapshotId.NotFound |
The specified SnapshotId does not exist. |
Mensaje devuelto porque el parámetro SnapshotId especificado no existe. |
|
404 |
InvalidInstanceId.NotFound |
The specified InstanceId does not exist. |
Mensaje devuelto porque el parámetro InstanceId especificado no existe. |
|
404 |
InvalidResourceGroup.NotFound |
The ResourceGroup provided does not exist in our records. |
Mensaje devuelto porque el parámetro ResourceGroupId especificado no existe. |
|
500 |
InternalError |
The process of creating snapshot has failed due to some unknown error. |
Mensaje devuelto porque no se pudo crear la instantánea. |
|
500 |
InternalError |
The request processing has failed due to some unknown error, exception or failure. |
Mensaje devuelto porque ocurrió un error interno. Inténtelo más tarde. |
Para obtener una lista de códigos de error, consulte Códigos de error del servicio.