Cria uma imagem personalizada. Após chamar esta operação para criar uma imagem personalizada, chame a operação RunInstances para criar instâncias do Elastic Compute Service (ECS) a partir da imagem criada ou a operação ReplaceSystemDisk para substituir discos de sistema usando essa imagem personalizada.
Observações de uso
Atente-se aos seguintes pontos:
Utilize a imagem personalizada criada apenas se ela estiver no estado Available (Available).
Se as respostas contiverem
{"OperationLocks": {"LockReason" : "security"}}para uma instância ao consultar informações de instância, isso indica que a instância está bloqueada por motivos de segurança e todas as operações nela são proibidas.Para otimizar sua imagem, recomendamos especificar DetectionStrategy durante a criação. Para mais informações, consulte Visão geral da verificação de imagem.
Chame a operação CreateImage para criar uma imagem personalizada usando um dos métodos abaixo. Os parâmetros de solicitação a seguir estão ordenados por prioridade: InstanceId > DiskDeviceMapping > SnapshotId. Caso sua solicitação contenha dois ou mais desses parâmetros, a imagem personalizada será criada com base naquele que tiver maior prioridade.
Método 1: Crie uma imagem personalizada a partir de uma instância. Basta especificar o ID da instância usando o parâmetro
InstanceId. A instância deve estar no estado Running (Running) ou Stopped (Stopped). Após chamar a operação CreateImage, um snapshot é criado para cada disco da instância. Ao criar uma imagem personalizada a partir de uma instância em execução, dados em cache podem não ter sido gravados nos discos. Nesse caso, os dados da imagem personalizada podem diferir ligeiramente dos dados da instância. Recomendamos parar as instâncias chamando a operação StopInstances antes de criar imagens personalizadas a partir delas.Método 2: Crie uma imagem personalizada a partir do snapshot do disco de sistema de uma instância. Basta especificar o ID do snapshot do disco de sistema usando o parâmetro
SnapshotId. O snapshot do disco de sistema especificado deve ter sido criado após 15 de julho de 2013.Método 3: Crie uma imagem personalizada a partir de múltiplos snapshots de disco. Especifique o mapeamento de dados entre os discos e os snapshots usando os parâmetros que começam com
DiskDeviceMapping.
Ao usar o Método 3 para criar uma imagem personalizada, observe os seguintes itens:
Especifique apenas um snapshot para criar o disco de sistema na imagem personalizada. O nome do dispositivo do disco de sistema deve ser /dev/xvda.
Especifique até 16 snapshots para criar discos de dados na imagem personalizada. Os nomes dos dispositivos dos discos de dados são únicos e variam de /dev/xvdb a /dev/xvdz em ordem alfabética.
O parâmetro
SnapshotIdpode não ser especificado. Nesse cenário, um disco de dados vazio com um tamanho específico é criado.O snapshot de disco especificado deve ter sido criado após 15 de julho de 2013.
Depuração
Parâmetros de solicitação
Parâmetro | Tipo | Obrigatório | Exemplo | Descrição |
Action | String | Sim | CreateImage | A operação a ser executada. Defina o valor como CreateImage. |
RegionId | String | Sim | cn-hangzhou | O ID da região onde a imagem personalizada será criada. Chame a operação DescribeRegions para consultar a lista de regiões mais recente. |
SnapshotId | String | Não | s-bp17441ohwkdca0**** | O ID do snapshot a ser usado para criar a imagem personalizada. |
InstanceId | String | Não | i-bp1g6zv0ce8oghu7**** | O ID da instância a ser usada para criar a imagem personalizada. |
ImageName | String | Não | TestCentOS | O nome da imagem personalizada. O nome deve ter de 2 a 128 caracteres. Deve começar com uma letra e não pode iniciar com http:// ou https://. Pode conter dígitos, letras, dois pontos (:), sublinhados (_) e hífens (-). |
ImageFamily | String | Não | hangzhou-daily-update | O nome da família de imagens da imagem personalizada. O nome deve ter de 2 a 128 caracteres. Deve começar com uma letra e não pode iniciar com acs: ou aliyun. Não pode conter http:// ou https://. Pode conter dígitos, letras, dois pontos (:), sublinhados (_) e hífens (-). |
ImageVersion | String | Não | 2017011017 | A versão da imagem. Nota Se você especificar |
Description | String | Não | ImageTestDescription | A descrição da imagem. A descrição deve ter de 2 a 256 caracteres e não pode começar com http:// ou https://. |
Platform | String | Não | CentOS | A distribuição do sistema operacional para o disco de sistema na imagem personalizada. Se você especificar um snapshot de disco de dados para criar o disco de sistema da imagem personalizada, use Platform para definir a distribuição do sistema operacional do disco de sistema. Valores válidos:
Valor padrão: Others Linux. |
BootMode | String | Não | BIOS | O modo de inicialização da imagem personalizada. Valores válidos:
Nota Verifique quais modos de inicialização a imagem especificada suporta. Ao usar este parâmetro para alterar o modo de inicialização da imagem, especifique um modo suportado pela imagem para garantir que as instâncias que a utilizam possam iniciar normalmente. |
Architecture | String | Não | x86_64 | A arquitetura de sistema do disco de sistema. Se você especificar um snapshot de disco de dados para criar o disco de sistema da imagem personalizada, use Architecture para definir a arquitetura de sistema do disco de sistema. Valores válidos:
Valor padrão: x86_64. |
ClientToken | String | Não | 123e4567-e89b-12d3-a456-426655440000 | O token de cliente usado para garantir a idempotência da solicitação. Use o cliente para gerar o token, mas certifique-se de que ele seja único entre diferentes solicitações. O token pode conter apenas caracteres ASCII e não pode exceder 64 caracteres. Para mais informações, consulte Como garantir a idempotência. |
ResourceGroupId | String | Não | rg-bp67acfmxazb4p**** | O ID do grupo de recursos ao qual atribuir a imagem personalizada. Se este parâmetro não for especificado, a imagem será atribuída ao grupo de recursos padrão. Nota Se você chamar a operação CreateImage como um usuário do Resource Access Management (RAM) sem autorização para gerenciar o grupo de recursos padrão e não especificar |
DiskDeviceMapping.N.SnapshotId | String | Não | s-bp17441ohwkdca0**** | O ID do snapshot usado para criar o disco N na imagem personalizada. |
DiskDeviceMapping.N.Size | Integer | Não | 2000 | O tamanho do disco N na imagem personalizada. Unidade: GiB. Os valores válidos e o valor padrão de DiskDeviceMapping.N.Size variam conforme o valor de DiskDeviceMapping.N.SnapshotId.
|
DiskDeviceMapping.N.Device | String | Não | /dev/vdb | O nome do dispositivo do disco N na imagem personalizada. Valores válidos:
|
DiskDeviceMapping.N.DiskType | String | Não | system | O tipo do disco N na imagem personalizada. Especifique este parâmetro para criar o disco de sistema da imagem personalizada a partir de um snapshot de disco de dados. Se este parâmetro não for especificado, o tipo de disco será determinado pelo snapshot correspondente. Valores válidos:
|
Tag.N.key | String | Não | null | A chave da tag N a ser adicionada à imagem personalizada. Nota Este parâmetro será removido no futuro. Recomendamos usar o parâmetro Tag.N.Key para garantir compatibilidade futura. |
Tag.N.Key | String | Não | KeyTest | A chave da tag N a ser adicionada à imagem personalizada. Valores válidos de N: 1 a 20. A chave da tag não pode ser uma string vazia. A chave da tag pode ter até 128 caracteres e não pode conter |
Tag.N.Value | String | Não | ValueTest | O valor da tag N a ser adicionado à imagem personalizada. Valores válidos de N: 1 a 20. O valor da tag pode ser uma string vazia. O valor da tag pode ter até 128 caracteres. Não pode começar com |
Tag.N.value | String | Não | null | O valor da tag N a ser adicionado à imagem personalizada. Nota Este parâmetro será removido no futuro. Recomendamos usar o parâmetro Tag.N.Value para garantir compatibilidade futura. |
DetectionStrategy | String | Não | Standard | O modo de verificação da imagem. Se este parâmetro não for especificado, a imagem não será verificada. Apenas o modo de verificação padrão é suportado. Nota Este parâmetro é suportado pela maioria das imagens Linux e Windows. Para mais informações sobre itens de verificação de imagem e limites de sistema operacional para verificação de imagem, consulte Visão geral da verificação de imagem e Limites de sistema operacional para verificação de imagem. |
Parâmetros de resposta
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
ImageId |
String |
m-bp146shijn7hujku**** |
O ID da imagem personalizada. |
|
RequestId |
String |
C8B26B44-0189-443E-9816-*** |
O ID da solicitação. |
Exemplos
Exemplos de solicitações
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>
Exemplos de respostas de sucesso
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 erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|
400 |
InvalidImageName.Malformed |
The specified Image name is wrongly formed. |
Mensagem de erro retornada porque o nome da imagem especificado é inválido. O nome deve ter de 2 a 128 caracteres. Deve começar com uma letra e não pode iniciar com acs: ou aliyun. Não pode conter http:// ou https://. Pode conter letras, dígitos, pontos (.), dois pontos (:), sublinhados (_) e hífens (-). |
|
400 |
InvalidImageName.Duplicated |
The specified Image name has already bean used. |
Mensagem de erro retornada porque o nome da imagem especificado já existe. |
|
400 |
InvalidDescription.Malformed |
The specified description is wrongly formed. |
Mensagem de erro retornada porque o parâmetro Description especificado é inválido. A descrição deve ter de 2 a 256 caracteres e não pode começar com http:// ou https://. |
|
400 |
InvalidImageVersion.Malformed |
The specified ImageVersion is wrongly formed. |
Mensagem de erro retornada porque a versão da imagem especificada é inválida ou porque você não tem autorização para usar o snapshot. |
|
400 |
IncorrectInstanceStatus |
The current status of the instance does not support this operation. |
Mensagem de erro retornada porque esta operação não é suportada enquanto a instância está no estado atual. |
|
400 |
InstanceLockedForSecurity |
The specified operation is denied as your instance is locked for security reasons. |
Mensagem de erro retornada porque a instância está bloqueada por motivos de segurança. |
|
400 |
InvalidDevice.Malformed |
The specified parameter DiskDeviceMapping.n.Device is not valid. |
Mensagem de erro retornada porque o parâmetro DiskDeviceMapping.N.Device especificado é inválido. |
|
400 |
MissingParameter |
The input parameter SnapshotId or InstanceId or DiskDeviceMapping that is mandatory for processing this request is not supplied. |
Mensagem de erro retornada porque SnapshotId, InstanceId ou parâmetros que começam com DiskDeviceMapping não foram especificados. |
|
400 |
InvalidSize.ValueNotSupported |
The specified parameter DiskDeviceMapping.n.Size beyond the permitted range. |
Mensagem de erro retornada porque o parâmetro DiskDeviceMapping.N.Size especificado não está dentro do intervalo permitido. |
|
400 |
InvalidDevice.InUse |
The specified parameter DiskDeviceMapping.n.Device has been occupied. |
Mensagem de erro retornada porque os nomes de dispositivo especificados no valor DiskDeviceMapping.N.Device já estão em uso. |
|
400 |
OperationDenied |
The specified parameter DiskDeviceMapping.n.SnapshotId does not contain system disk snapshot. |
Mensagem de erro retornada porque o parâmetro DiskDeviceMapping.N.SnapshotID especificado não contém um ID de snapshot de disco de sistema. |
|
400 |
OperationDenied |
The specified parameter DiskDeviceMapping.n.SnapshotId contains two or more system disk snapshots. |
Mensagem de erro retornada porque o parâmetro DiskDeviceMapping.N.SnapshotID especificado já contém um ID de snapshot de disco de sistema. |
|
400 |
InvalidDiskCategory.CreateImage |
The specified diskCategory is not allowed to create image. |
Mensagem de erro retornada porque a operação não é suportada pela categoria de disco especificada. |
|
400 |
InvalidArchitecture.Malformed |
The specified Architecture is wrongly formed. |
Mensagem de erro retornada porque o parâmetro Architecture especificado é inválido. |
|
400 |
InvalidPlatform.Malformed |
The specified Platform is wrongly formed. |
Mensagem de erro retornada porque o parâmetro Platform especificado é inválido. |
|
400 |
OperationDenied |
Not support creating system image from an encrypted snapshot/disk. |
Mensagem de erro retornada porque um disco ou snapshot criptografado não pode ser usado para criar imagens personalizadas. |
|
400 |
InvalidParameter.AllEmpty |
%s |
Mensagem de erro retornada porque os parâmetros obrigatórios não foram especificados. |
|
400 |
Duplicate.TagKey |
The Tag.N.Key contain duplicate key. |
Mensagem de erro retornada porque a chave de tag especificada já existe. As chaves de tag devem ser únicas. |
|
400 |
InvalidTagKey.Malformed |
The specified Tag.n.Key is not valid. |
Mensagem de erro retornada porque o parâmetro Tag.N.Key especificado é inválido. |
|
400 |
InvalidTagValue.Malformed |
The specified Tag.n.Value is not valid. |
Mensagem de erro retornada porque o parâmetro Tag.N.Value especificado é inválido. |
|
400 |
InvalidDiskType.ValueNotSupported |
The specified disk type is not supported. |
Mensagem de erro retornada porque o tipo de disco especificado é inválido. |
|
400 |
IdempotenceParamNotMatch |
Request uses a client token in a previous request but is not identical to that request. |
Mensagem de erro retornada porque esta solicitação e a anterior contêm o mesmo token de cliente, mas parâmetros diferentes. |
|
403 |
InvalidSnapshotId.NotReady |
The current status of the DiskDeviceMapping.n.SnapshotId or SnapshotId does not support this operation. |
Mensagem de erro retornada porque a operação não é suportada enquanto o snapshot especificado está no estado atual. |
|
403 |
InvalidSnapshot.TooOld |
This operation is denied because the specified snapshot by DiskDeviceMapping.n.SnapshotId or SnapshotId is created before 2013-07-15. |
Mensagem de erro retornada porque esta operação foi negada. O snapshot especificado pelo parâmetro DiskDeviceMapping.N.SnapshotId ou SnapshotId foi criado antes de 15 de julho de 2013. |
|
403 |
OperationDenied |
The specified snapshot is not allowed to create image. |
Mensagem de erro retornada porque o snapshot especificado não pode ser usado para criar imagens. |
|
403 |
QuotaExceed.Image |
The Image Quota exceeds. |
Mensagem de erro retornada porque a cota de imagens personalizadas foi esgotada. |
|
403 |
OperationDenied |
The specified snapshot is not from system disk. |
Mensagem de erro retornada porque o snapshot especificado não é um snapshot de disco de sistema. |
|
403 |
InvalidParamter.Conflict |
The specified same token is trying to make requests with different parameters. |
Mensagem de erro retornada porque o mesmo token está sendo usado para fazer solicitações que contêm parâmetros diferentes. |
|
403 |
InvalidAccountStatus.NotEnoughBalance |
Your account does not have enough balance. |
Mensagem de erro retornada porque o saldo da sua conta é insuficiente. Adicione fundos à sua conta e tente novamente. |
|
403 |
InvalidAccountStatus.SnapshotServiceUnavailable |
Snapshot service has not been opened yet. |
Mensagem de erro retornada porque a operação não é suportada enquanto o serviço de snapshot não estiver ativado. |
|
403 |
UserNotInTheWhiteList |
The user is not in the white list of create image by data disk snapshot. |
Mensagem de erro retornada porque você não tem autorização para criar uma imagem a partir de snapshots de disco de dados. Tente novamente quando tiver autorização para fazê-lo. |
|
403 |
IncorrectDiskStatus.Invalid |
Device status is invalid, please restart instance and try again. |
Mensagem de erro retornada porque o dispositivo está em um estado inválido. Reinicie a instância e tente novamente. |
|
403 |
OperationDenied.InvalidSnapshotCategory |
%s |
Mensagem de erro retornada porque a operação não é suportada pelo tipo de snapshot. |
|
403 |
QuotaExceed.Snapshot |
The snapshot quota exceeds. |
Mensagem de erro retornada porque o número máximo de snapshots foi atingido. Para armazenar snapshots, exclua aqueles que não são mais necessários. |
|
403 |
IncorrectDiskStatus.Transferring |
The specified device is transferring, you can retry after the process is finished. |
Mensagem de erro retornada porque o disco especificado está sendo migrado. Aguarde até que o disco seja migrado e tente novamente. |
|
403 |
IncorrectDiskStatus |
The current disk status does not support this operation. |
Mensagem de erro retornada porque a operação não é suportada enquanto o disco está no estado atual. Certifique-se de que o disco esteja disponível e que não haja pagamentos pendentes para ele. |
|
403 |
IncorrectDiskStatus.CreatingSnapshot |
A previous snapshot creation is in process. |
Mensagem de erro retornada porque outro snapshot está sendo criado para o disco. Aguarde até que o snapshot seja criado e tente novamente. |
|
403 |
InvalidParameter.KMSKeyId.CMKNotEnabled |
The CMK needs to be enabled. |
Mensagem de erro retornada porque a chave mestra do cliente (CMK) não está habilitada quando um ID de chave do Key Management Service (KMS) é especificado para um disco. Chame a operação DescribeKey do KMS para consultar as informações sobre a CMK especificada. |
|
403 |
InvalidParameter.KMSKeyId.KMSUnauthorized |
ECS service have no right to access your KMS. |
Mensagem de erro retornada porque o ECS não tem autorização para acessar seus recursos do KMS. |
|
403 |
QuotaExceed.Tags |
%s |
Mensagem de erro retornada porque o número de tags especificadas excede o limite superior. %s é uma variável. Uma mensagem de erro é retornada dinamicamente com base nas condições da chamada. |
|
403 |
HibernationConfigured.InstanceOperationForbidden |
The operation is not permitted due to limit of the hibernation configured instance. |
Mensagem de erro retornada porque a operação não pode ser realizada devido às limitações de instâncias para as quais o recurso de hibernação de instância está habilitado. |
|
403 |
SnapshotNotReady |
The specified snapshot is not ready. |
Mensagem de erro retornada porque o snapshot especificado está sendo criado e não pode ser usado para criar imagens. |
|
403 |
IncorrectInstanceStatus.NeedRestart |
The instance needs to be restarted after adding a disk in a shutdown status. |
Mensagem de erro retornada porque a instância não foi reiniciada. Se você anexar discos a uma instância que está no estado Stopped, deverá reiniciar a instância antes de poder criar imagens personalizadas a partir dela. |
|
404 |
InvalidSnapshotId.NotFound |
The specified SnapshotId does not exist. |
Mensagem de erro retornada porque o parâmetro SnapshotId especificado não existe. |
|
404 |
InvalidInstanceId.NotFound |
The specified InstanceId does not exist. |
Mensagem de erro retornada porque o parâmetro InstanceId especificado não existe. |
|
404 |
InvalidResourceGroup.NotFound |
The ResourceGroup provided does not exist in our records. |
Mensagem de erro retornada porque o parâmetro ResourceGroupId especificado não existe. |
|
500 |
InternalError |
The process of creating snapshot has failed due to some unknown error. |
Mensagem de erro retornada porque o snapshot não pôde ser criado. |
|
500 |
InternalError |
The request processing has failed due to some unknown error, exception or failure. |
Mensagem de erro retornada porque ocorreu um erro interno. Tente novamente mais tarde. |
Para obter uma lista de códigos de erro, consulte Códigos de erro do serviço.