Cria uma imagem personalizada. Você pode usar a imagem personalizada criada para criar instâncias ECS (RunInstances) ou substituir o disco do sistema de uma instância (ReplaceSystemDisk).
Descrição da operação
Antes de começar
-
Esta é uma operação assíncrona. Após o envio de uma solicitação para criar uma imagem personalizada, o ID da imagem é retornado. No entanto, a criação da imagem não é concluída imediatamente. Chame DescribeImage para consultar as informações da imagem. Quando o status na resposta for
Available, a imagem foi criada e está pronta para uso. Para mais informações, consulte Visão geral de imagens personalizadas. -
Ao consultar informações de instâncias ECS, se a resposta contiver {"OperationLocks": {"LockReason" : "security"}}, você não poderá criar uma imagem personalizada.
-
Configure o parâmetro de detecção de imagem
DetectionStrategyao criar uma imagem para ajudar o sistema a otimizar sua imagem. Para mais informações, consulte Visão geral da detecção de imagem.
A seguir, são descritos três métodos para criar uma imagem personalizada chamando esta operação. A prioridade dos parâmetros da solicitação é: InstanceId > DiskDeviceMapping > SnapshotId. Se a sua solicitação contiver dois ou mais desses parâmetros, a imagem será criada com base no parâmetro de maior prioridade.
-
Criar uma imagem personalizada a partir de uma instância: Especifique o ID da instância (
InstanceId).A instância deve estar no estado Running (
Running) ou Stopped (Stopped).Após a chamada da operação, um novo snapshot é criado para cada disco da instância.
Importante Como uma instância em execução pode ter dados em cache que não foram gravados nos discos, os dados da imagem personalizada criada podem ser inconsistentes com os dados da instância. Pare a instância (StopInstances) antes de criar a imagem. -
Criar uma imagem personalizada a partir de um snapshot (o snapshot especificado não pode ser um criado em ou antes de 15 de julho de 2013.)
Criar uma imagem personalizada a partir de um snapshot de disco do sistema: Especifique apenas o ID do snapshot do disco do sistema da instância (
SnapshotId).- Criar uma imagem personalizada a partir de snapshots de disco do sistema e discos de dados: Estabeleça associações de dados entre vários discos (
DiskDeviceMapping).Apenas um snapshot de disco do sistema pode ser especificado.
Você pode especificar vários snapshots de discos de dados, até o máximo de 16. Se
DiskDeviceMapping.N.SnapshotIdnão for especificado, um disco de dados vazio com a capacidade padrão será criado.
Quando uma instância é liberada, o disco do sistema é retido como um disco de dados pós-pago. Os snapshots criados a partir deste disco não suportam a criação de imagens personalizadas. Crie uma imagem personalizada antes de liberar a instância, conforme necessário.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
ecs:CreateImage |
create |
*Image
Instance
Snapshot
|
Nenhuma | Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| RegionId |
string |
Sim |
O ID da região da imagem. Você pode chamar DescribeRegions para consultar a lista de regiões mais recente. |
cn-hangzhou |
| SnapshotId |
string |
Não |
O ID do snapshot usado para criar a imagem personalizada. Nota
Se você quiser criar uma imagem personalizada apenas a partir do snapshot do disco do sistema de uma instância, poderá usar este parâmetro ou o parâmetro |
s-bp17441ohwkdca0**** |
| InstanceId |
string |
Não |
O ID da instância. Este parâmetro é obrigatório quando você cria uma imagem personalizada a partir de uma instância. |
i-bp1g6zv0ce8oghu7**** |
| ImageName |
string |
Não |
O nome da imagem. O nome deve ter de 2 a 128 caracteres. Deve começar com uma letra ou um caractere chinês e não pode começar com http:// ou https://. Pode conter dígitos, dois-pontos (:), sublinhados (_) ou hifens (-). |
TestCentOS |
| ImageFamily |
string |
Não |
O nome da família da imagem. O nome deve ter de 2 a 128 caracteres. Deve começar com uma letra ou um caractere chinês e não pode começar com aliyun ou acs:. Não pode conter http:// ou https://. Pode conter dígitos, dois-pontos (:), sublinhados (_) ou hifens (-). |
hangzhou-daily-update |
| ImageVersion |
string |
Não |
A versão da imagem. Nota
Se você especificar um ID de instância ( |
2017011017 |
| Description |
string |
Não |
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://. |
ImageTestDescription |
| Platform |
string |
Não |
A distribuição do sistema operacional. Após um snapshot de disco de dados ser especificado como o disco do sistema da imagem, use este parâmetro para especificar a distribuição do sistema operacional do disco do sistema. Valores válidos:
Valor padrão: Others Linux. |
CentOS |
| BootMode |
string |
Não |
O modo de inicialização da imagem. Valores válidos:
Importante
Para evitar que as instâncias falhem ao iniciar devido a um modo de inicialização não suportado, certifique-se de compreender os modos de inicialização suportados pela imagem de destino antes de especificar este parâmetro. Para mais informações sobre os modos de inicialização de imagem, consulte Modos de inicialização de imagem. Valores válidos:
|
BIOS |
| Architecture |
string |
Não |
A arquitetura do sistema. Após um snapshot de disco de dados ser especificado como o disco do sistema da imagem, use este parâmetro para especificar a arquitetura do sistema do disco do sistema. Valores válidos:
Valor padrão: x86_64. |
x86_64 |
| ClientToken |
string |
Não |
O token de cliente usado para garantir a idempotência da solicitação. Você pode usar o cliente para gerar o token, mas certifique-se de que o token seja exclusivo entre diferentes solicitações. ClientToken pode conter apenas caracteres ASCII e não pode exceder 64 caracteres. Para mais informações, consulte Como garantir a idempotência. |
123e4567-e89b-12d3-a456-426655440000 |
| ResourceGroupId |
string |
Não |
O ID do grupo de recursos ao qual a imagem personalizada pertence. Se este parâmetro não for definido, a imagem criada pertencerá ao grupo de recursos padrão. Nota
Se você invocar esta operação como um usuário do Resource Access Management (RAM) e |
rg-bp67acfmxazb4p**** |
| DiskDeviceMapping |
array<object> |
Não |
As informações de disco e snapshot usadas para criar a imagem personalizada. Use este parâmetro para especificar snapshots quando quiser criar uma imagem personalizada a partir de snapshots de disco do sistema e discos de dados. |
|
|
object |
Não |
O disco e o snapshot usados para criar a imagem personalizada. |
||
| SnapshotId |
string |
Não |
O ID do snapshot. |
s-bp17441ohwkdca0**** |
| Size |
integer |
Não |
O tamanho do disco, em GiB. Os valores válidos e o valor padrão de DiskDeviceMapping.N.Size dependem de DiskDeviceMapping.N.SnapshotId:
|
2000 |
| Device |
string |
Não |
O nome do dispositivo na imagem personalizada. Valores válidos:
|
/dev/xvdb |
| DiskType |
string |
Não |
O tipo do disco na nova imagem. Você pode usar este parâmetro para especificar um snapshot de disco de dados como o disco do sistema da imagem. Se este parâmetro não for especificado, o tipo de disco será, por padrão, o tipo do disco correspondente ao snapshot. Valores válidos:
|
system |
| Tag |
array<object> |
Não |
As tags. |
|
|
object |
Não |
As tags. |
||
| key |
string |
Não |
A chave da tag da imagem. Nota
Para melhor compatibilidade, use Tag.N.Key. |
null |
| Key |
string |
Não |
A chave da tag da imagem. Valores válidos de N: 1 a 20. A chave da tag não pode ser uma string vazia. Pode ter até 128 caracteres e não pode começar com |
KeyTest |
| Value |
string |
Não |
O valor da tag da imagem. Valores válidos de N: 1 a 20. O valor da tag pode ser uma string vazia. Pode ter até 128 caracteres e não pode começar com |
ValueTest |
| value |
string |
Não |
O valor da tag da imagem. Nota
Para melhor compatibilidade, use Tag.N.Value. |
null |
| DetectionStrategy |
string |
Não |
A estratégia de detecção de imagem. Se este parâmetro não for especificado, a detecção não será acionada. Apenas o modo de detecção Standard é suportado. Nota
A maioria das versões Linux e Windows é suportada. Para mais informações sobre os itens de detecção de imagem e limitações do sistema operacional, consulte Visão geral da detecção de imagem e Limitações do sistema operacional para detecção de imagem. |
Standard |
| Features |
object |
Não |
As propriedades de recursos da imagem. |
|
| ImdsSupport |
string |
Não |
O modo de acesso a metadados da imagem. Valores válidos:
Valor padrão: Ao criar uma imagem a partir de um snapshot, o padrão é v1. Ao criar uma imagem a partir de uma instância, o padrão é o valor ImdsSupport da imagem usada quando a instância foi criada. |
v2 |
| DryRun |
boolean |
Não |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
|||
| ImageId |
string |
O ID da imagem. |
m-bp146shijn7hujku**** |
| RequestId |
string |
O ID da solicitação. |
C8B26B44-0189-443E-9816-******* |
Exemplos
Resposta de sucesso
JSON formato
{
"ImageId": "m-bp146shijn7hujku****",
"RequestId": "C8B26B44-0189-443E-9816-*******"
}
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. | O nome da imagem deve ter de 2 a 128 caracteres. Deve começar com uma letra ou um caractere chinês e pode conter dígitos, dois-pontos (:), underscores (_) ou hífens (-). |
| 400 | InvalidImageName.Duplicated | The specified image name is already in use. | O nome da imagem especificado já está em uso. |
| 400 | InvalidDescription.Malformed | The specified description is wrongly formed. | O parâmetro description especificado é inválido. |
| 400 | InvalidImageVersion.Malformed | The specified ImageVersion is wrongly formed. | A versão da imagem especificada é inválida, ou você não tem permissão para usar o snapshot. |
| 400 | IncorrectInstanceStatus | The current status of the instance does not support this operation. | A operação não é permitida porque o status da instância não a suporta. |
| 400 | InstanceLockedForSecurity | The specified operation is denied as your instance is locked for security reasons. | |
| 400 | InvalidDevice.Malformed | The specified parameter DiskDeviceMapping.n.Device is not valid. | 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. | Pelo menos um dos parâmetros especificados deve ser fornecido. Eles não podem estar todos vazios. |
| 400 | InvalidSize.ValueNotSupported | The specified parameter DiskDeviceMapping.n.Size beyond the permitted range. | O Size especificado é inválido. |
| 400 | InvalidDevice.InUse | The specified parameter DiskDeviceMapping.n.Device has been occupied. | O parâmetro DiskDeviceMapping.n.Device especificado já está em uso. |
| 400 | OperationDenied | The specified parameter DiskDeviceMapping.n.SnapshotId does not contain system disk snapshot. | O EIP especificado está indisponível ou não autorizado. |
| 400 | InvalidDiskCategory.CreateImage | The specified diskCategory is not allowed to create image. | O tipo de disco especificado não permite a criação de imagem. |
| 400 | InvalidArchitecture.Malformed | The specified Architecture is wrongly formed. | O parâmetro Architecture especificado é inválido. Verifique se o formato deste parâmetro está correto. |
| 400 | InvalidPlatform.Malformed | The specified Platform is wrongly formed. | A plataforma especificada é inválida. |
| 400 | InvalidParameter.AllEmpty | %s | |
| 400 | InvalidParameter.DiskType | The specified disk type which has kms key can't convert to system disk. | |
| 400 | Duplicate.TagKey | The Tag.N.Key contain duplicate key. | Existem chaves duplicadas nas tags. Mantenha as chaves únicas. |
| 400 | InvalidTagKey.Malformed | The specified Tag.n.Key is not valid. | A chave de tag especificada é inválida. A chave de tag não pode estar vazia ou ser nula, pode conter até 128 caracteres e não pode começar com "aliyun" ou "acs:" nem conter "http://" ou "https://". |
| 400 | InvalidTagValue.Malformed | The specified Tag.n.Value is not valid. | O valor de tag especificado é inválido. O valor de tag pode conter até 128 caracteres e não pode conter "http://" ou "https://". |
| 400 | InvalidInstance.NotFoundSystemDisk | The specified instance does not have system disk. | |
| 400 | InvalidImageFamily.Malformed | The format of the specified image family is invalid. | O formato da família de imagens especificada é inválido. |
| 400 | ImageQuotaExceed.ImageFamily | The specified image family exceeds the maximum number of images for one image family. | |
| 400 | ImageFamilyQuotaExceed | The number of image families exceeds the limit in the region. | |
| 400 | InvalidDiskType.ValueNotSupported | The specified disk type is not supported. | O atributo de disco especificado não é suportado. |
| 400 | IdempotenceParamNotMatch | Request uses a client token in a previous request but is not identical to that request. | Os parâmetros de idempotência não correspondem. |
| 400 | InvalidBootMode.NotSupport | The specified parameter BootMode is not supported for current image architecture. | A arquitetura de imagem atual não suporta a configuração deste modo de inicialização. |
| 400 | InvalidParameter.FeaturesImdsSupport | The specified parameter Features.ImdsSupport is not supported. | O parâmetro Features.ImdsSupport especificado não é suportado. |
| 400 | InvalidOperation.DiskCategoryUnsupported | The current category of the disk does not support this operation. | O tipo de disco não suporta esta operação. |
| 400 | AccountForbidden.CreateOrder | Order cannot be created due to abnormal account. | A conta atual não tem permissão para criar pedidos. |
| 400 | InvalidBootMode.Malformed | The specified parameter BootMode is invalid. Valid options are BIOS, UEFI, and UEFI-Preferred. | O parâmetro BootMode especificado é inválido. Valores válidos: BIOS, UEFI e UEFI-preferred. |
| 400 | InvalidDetectionStrategy.Malformed | The specified value for parameter DetectionStrategy is not supported. Please refer to the documentation for accepted values. | O valor do parâmetro DetectionStrategy especificado não é suportado. Consulte as Referências para valores aceitáveis. |
| 400 | InvalidParameter.SecureBootSupport | The specified parameter SecureBootOptions.SecureBootSupport is not valid. | O parâmetro especificado SecureBootOptions.SecureBootSupport é inválido. |
| 500 | InternalError | The process of creating snapshot has failed due to some unknown error. | Ocorreu um erro ao enviar a solicitação. Tente novamente mais tarde. |
| 403 | IncorrectDiskStatus.NeverAttached | The specified disk has never been attached to instance. | |
| 403 | InvalidSnapshotId.NotReady | The current status of the DiskDeviceMapping.n.SnapshotId or SnapshotId does not support this operation. | O status do snapshot especificado no parâmetro não suporta a operação atual. |
| 403 | InvalidSnapshot.TooOld | This operation is denied because the specified snapshot by DiskDeviceMapping.n.SnapshotId or SnapshotId is created before 2013-07-15. | Snapshots criados antes de 15 de julho de 2013 não suportam esta operação. |
| 403 | OperationDenied | The specified snapshot is not allowed to create image. | O EIP especificado está indisponível ou não autorizado. |
| 403 | QuotaExceed.Image | The Image Quota exceeds. | |
| 403 | InvalidParamter.Conflict | The specified same token is trying to make requests with different parameters. | Os parâmetros SourceCidrIp e DestCidrIp não podem ser iguais. |
| 403 | InvalidAccountStatus.NotEnoughBalance | Your account does not have enough balance. | |
| 403 | InvalidAccountStatus.SnapshotServiceUnavailable | Snapshot service has not been opened yet. | O serviço de snapshot não está ativado. A operação não pode ser realizada. |
| 403 | UserNotInTheWhiteList | The user is not in the white list of create image by data disk snapshot. | O usuário não está na lista de contas autorizadas a realizar operações de parâmetros relacionados a ARN. |
| 403 | IncorrectDiskStatus.Invalid | Device status is invalid, please restart instance and try again. | O dispositivo está em um estado inválido. Reinicie a instância e tente novamente. |
| 403 | OperationDenied.InvalidSnapshotCategory | %s | Esta operação não é suportada para o tipo de snapshot especificado. |
| 403 | QuotaExceed.Snapshot | The snapshot quota exceeds. | |
| 403 | IncorrectDiskStatus.Transferring | The specified device is transferring, you can retry after the process is finished. | O disco especificado está sendo migrado. Tente novamente após a conclusão da migração. |
| 403 | IncorrectDiskStatus | The current disk status does not support this operation. | |
| 403 | InvalidSystemSnapshot.Missing | %s | |
| 403 | IncorrectDiskStatus.CreatingSnapshot | A previous snapshot creation is in process. | |
| 403 | InvalidParameter.KMSKeyId.CMKUnauthorized | The CMK needs to be added ECS tag. | O ECS não tem permissão para criptografar ou descriptografar sua CMK. |
| 403 | InvalidParameter.KMSKeyId.CMKNotEnabled | The CMK needs to be enabled. | |
| 403 | InvalidParameter.KMSKeyId.KMSUnauthorized | ECS service have no right to access your KMS. | O serviço ECS não tem permissão para acessar seu KMS. |
| 403 | QuotaExceed.Tags | %s | A cota de parâmetros de tag foi excedida. O valor máximo é 20. |
| 403 | InvalidSnapshotCategory.NotSupportImageCreation | The specified snapshot category does not support create image. | |
| 403 | TooManySnapshot.Unfinished | There are too many snapshots being created, please wait for them to be created done. | |
| 403 | HibernationConfigured.InstanceOperationForbidden | The operation is not permitted due to limit of the hibernation configured instance. | A operação não é permitida porque a instância não atende aos requisitos para ativar a opção de hibernação. |
| 403 | SnapshotNotReady | The specified snapshot is not ready. | O snapshot ainda não foi criado e não pode ser usado para criar uma imagem. |
| 403 | IncorrectInstanceStatus.NeedRestart | The instance needs to be restarted after adding a disk in a shutdown status. | Após anexar um disco a uma instância que está no estado Stopped, você deve reiniciar a instância antes de criar uma imagem personalizada. |
| 403 | QuotaExceed.ConcurrentSnapshotQuota | The number of snapshots being created for the disk %s has exceeded the concurrent quota (%s). Please wait for the previous snapshots to complete before trying again. | O número de snapshots sendo criados para este disco excedeu a cota de simultaneidade. Aguarde a conclusão dos snapshots anteriores e tente novamente. |
| 403 | InvalidOperation.SnapshotStorageLocationUnsupported | Snapshots with storage location in CloudBox do not support the current operation. | Snapshots armazenados no CloudBox não suportam esta operação. |
| 403 | AccountEnterpriseStatusInvalid | Your enterprise registration is marked as revoked/deregistered in the National Enterprise Credit Information Publicity System. Account transaction features (purchase/renewal/recharge) are disabled. Please update real-name certification via Account Center. Restrictions will auto-remove after verification. | O status de registro da sua empresa é cancelado (ou revogado) no Sistema Nacional de Publicidade de Informações de Crédito Empresarial. Sua conta não pode realizar transações como novas compras, renovações ou recargas. Altere seu registro de nome real por meio do Centro de Contas o mais rápido possível. Após a conclusão da alteração, a Alibaba Cloud removerá automaticamente a restrição de compra. |
| 403 | InvalidOperation.DefaultFreeSnapshotNotSupport | The specified snapshot is a default free snapshot and does not support this operation. | O snapshot especificado é um snapshot gratuito padrão e não suporta esta operação. |
| 404 | InvalidSnapshotId.NotFound | The specified SnapshotId does not exist. | |
| 404 | InvalidInstanceId.NotFound | The specified instance %s does not exist. | O ID da instância especificado é inválido. |
| 404 | InvalidResourceGroup.NotFound | The ResourceGroup provided does not exist in our records. | O grupo de recursos correspondente não pode ser encontrado. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.