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
Precauções
-
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 DetectionStrategy ao criar uma imagem para permitir que o sistema otimize sua imagem. Para mais informações, consulte Visão geral da detecção de imagens.
A seção a seguir descreve três métodos para criar uma imagem personalizada chamando esta operação. A prioridade dos parâmetros de solicitação é: InstanceId > DiskDeviceMapping > SnapshotId. Se sua solicitação contiver dois ou mais desses parâmetros, a imagem será criada com base no parâmetro com a maior prioridade por padrão.
-
Criar uma imagem personalizada a partir de uma instância: Especifique o ID da instância (InstanceId).
A instância deve estar no estado Em execução (Running) ou Parada (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 uma imagem. -
Criar uma imagem personalizada a partir de um snapshot (o snapshot especificado não pode ter sido 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 (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.
Vários snapshots de discos de dados podem ser especificados, até um máximo de 16. Se DiskDeviceMapping.N.SnapshotId nã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 |
*Imagem.
Instância.
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 DiskDeviceMapping.N.SnapshotId. Para incluir snapshots de discos de dados, use apenas o parâmetro DiskDeviceMapping.N.SnapshotId para especificar os snapshots. |
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://. O nome 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:. O nome não pode conter http:// ou https://. O nome 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 (InstanceId) e a imagem da instância for uma imagem do Alibaba Cloud Marketplace ou uma imagem personalizada criada a partir de uma imagem do Alibaba Cloud Marketplace, este parâmetro deve ser igual ao ImageVersion da imagem atual da instância ou deixado vazio. |
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 usado como o disco do sistema da imagem, especifique a distribuição do sistema operacional do disco do sistema usando este parâmetro. 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 imagens, consulte Modos de inicialização de imagens. Valores válidos:
|
BIOS |
| Architecture |
string |
Não |
A arquitetura do sistema. Após um snapshot de disco de dados ser usado como o disco do sistema da imagem, especifique a arquitetura do sistema do disco do sistema usando este parâmetro. 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 você não definir este parâmetro com um valor específico, 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 ResourceGroupId for deixado vazio, observe que quando o usuário RAM não tem permissões no grupo de recursos padrão, a mensagem de erro Forbidden: User not authorized to operate on the specified resource é retornada. Defina um ID de grupo de recursos no qual o usuário RAM tenha permissões ou conceda ao usuário RAM permissões no grupo de recursos padrão usando a conta Alibaba Cloud correspondente antes de invocar esta operação novamente. |
rg-bp67acfmxazb4p**** |
| DiskDeviceMapping |
array<object> |
Não |
A coleção de informações de disco e snapshot usadas para criar a imagem personalizada. Se você quiser criar uma imagem personalizada a partir de snapshots de disco do sistema e discos de dados, use este parâmetro para especificar os snapshots. |
|
|
object |
Não |
O disco e o snapshot usados para criar a imagem personalizada. |
||
| 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 definir um snapshot de disco de dados como o disco do sistema da imagem. Se você não especificar este parâmetro, o tipo de disco será, por padrão, o tipo do disco correspondente ao snapshot. Valores válidos:
|
system |
| Size |
integer |
Não |
O tamanho do disco. Unidade: GiB. Os valores válidos e o valor padrão de DiskDeviceMapping.N.Size dependem de DiskDeviceMapping.N.SnapshotId:
|
2000 |
| SnapshotId |
string |
Não |
O ID do snapshot. |
s-bp17441ohwkdca0**** |
| Tag |
array<object> |
Não |
As tags. |
|
|
object |
Não |
As tags. |
||
| 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. A chave da tag pode ter até 128 caracteres e não pode começar com aliyun ou acs:. A chave da tag não pode conter http:// ou https://. |
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. O valor da tag pode ter até 128 caracteres e não pode começar com acs:. O valor da tag não pode conter http:// ou https://. |
ValueTest |
| key |
string |
Não |
A chave da tag da imagem. Nota
Para melhor compatibilidade, use Tag.N.Key. |
null |
| 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 imagens e Limitações do sistema operacional para detecção de imagens. |
Standard |
| Features |
object |
Não |
As propriedades relacionadas aos recursos da imagem. |
|
| ImdsSupport |
string |
Não |
O modo de acesso aos metadados da imagem. Valores válidos:
Valor padrão: Quando um snapshot é usado para criar a imagem, o valor padrão é v1. Quando uma instância é usada para criar a imagem, o valor padrão é a propriedade ImdsSupport da imagem usada para criar a instância. |
v2 |
| DryRun |
boolean |
Não |
||
| SecureBootOptions |
object |
Não |
Os parâmetros relacionados ao Secure Boot. |
|
| SecureBootSupport |
string |
Não |
Especifica se a imagem suporta o Secure Boot. Valores válidos:
Nota
O Secure Boot suporta apenas o modo de inicialização UEFI ou UEFI-Preferred. |
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 é inválido. Para obter mais informações sobre as convenções de nomenclatura, consulte a descrição do parâmetro DestinationImageName. |
| 400 | InvalidImageName.Duplicated | The specified image name is already in use. | O nome da imagem já existe. |
| 400 | InvalidDescription.Malformed | The specified description is wrongly formed. | O formato da descrição do recurso 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. | O número da versão da imagem é inválido ou você não tem permissão para usar o snapshot especificado. |
| 400 | IncorrectInstanceStatus | The current status of the instance does not support this operation. | O status atual da instância não oferece suporte a esta operação. |
| 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 nome do dispositivo de disco especificado não existe. |
| 400 | MissingParameter | The input parameter SnapshotId or InstanceId or DiskDeviceMapping that is mandatory for processing this request is not supplied. | Um parâmetro obrigatório está ausente. |
| 400 | InvalidSize.ValueNotSupported | The specified parameter DiskDeviceMapping.n.Size beyond the permitted range. | O parâmetro DiskDeviceMapping.n.Size especificado está fora do intervalo válido. |
| 400 | InvalidDevice.InUse | The specified parameter DiskDeviceMapping.n.Device has been occupied. | O dispositivo especificado já possui um disco anexado. |
| 400 | OperationDenied | The specified parameter DiskDeviceMapping.n.SnapshotId does not contain system disk snapshot. | O snapshot especificado não permite a criação de volumes de dados. |
| 400 | InvalidDiskCategory.CreateImage | The specified diskCategory is not allowed to create image. | O tipo de disco especificado não permite a criação de imagens. |
| 400 | InvalidArchitecture.Malformed | The specified Architecture is wrongly formed. | O formato do parâmetro Architecture é inválido. |
| 400 | InvalidPlatform.Malformed | The specified Platform is wrongly formed. | A distribuição do sistema operacional da imagem 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. Certifique-se de que todas as chaves sejam únicas. |
| 400 | InvalidTagKey.Malformed | The specified Tag.n.Key is not valid. | O parâmetro de chave de tag especificado é inválido. |
| 400 | InvalidTagValue.Malformed | The specified Tag.n.Value is not valid. | O parâmetro de valor de tag especificado é inválido. |
| 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 da solicitação não correspondem à solicitação com o mesmo ClientToken. |
| 400 | InvalidBootMode.NotSupport | The specified parameter BootMode is not supported for current image architecture. | A arquitetura da imagem atual não oferece suporte ao modo de inicialização especificado. |
| 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. | Os discos efêmeros elásticos não podem ser desanexados individualmente. |
| 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. |
| 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 SecureBootOptions.SecureBootSupport especificado é inválido. |
| 500 | InternalError | The process of creating snapshot has failed due to some unknown error. | Ocorreu um erro interno. Tente novamente. |
| 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 snapshot especificado não foi concluído. |
| 403 | InvalidSnapshot.TooOld | This operation is denied because the specified snapshot by DiskDeviceMapping.n.SnapshotId or SnapshotId is created before 2013-07-15. | O disco especificado não pode ser reinicializado porque seu snapshot de origem foi criado em ou antes de 15 de julho de 2013. |
| 403 | OperationDenied | The specified snapshot is not allowed to create image. | O snapshot especificado não permite a criação de volumes de dados. |
| 403 | QuotaExceed.Image | The Image Quota exceeds. | |
| 403 | InvalidParamter.Conflict | The specified same token is trying to make requests with different parameters. | O grupo de segurança autorizado e o grupo de segurança autorizador devem ser diferentes. |
| 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 permissões do Shared Block Storage. Abra um ticket para solicitar a inclusão na lista de permissões. |
| 403 | IncorrectDiskStatus.Invalid | Device status is invalid, please restart instance and try again. | O status do disco atual é inválido. Reinicie a instância e tente novamente. |
| 403 | OperationDenied.InvalidSnapshotCategory | %s | O tipo de snapshot não suporta esta operação. |
| 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. | A tag ECS deve ser adicionada à chave mestra do cliente (CMK). |
| 403 | InvalidParameter.KMSKeyId.CMKNotEnabled | The CMK needs to be enabled. | |
| 403 | InvalidParameter.KMSKeyId.KMSUnauthorized | The ECS service is not authorized to access your KMS key. Please grant the ECS service permission to use the key and try again. | |
| 403 | QuotaExceed.Tags | %s | O número de tags excede o número máximo que pode ser configurado. %s é uma variável. A mensagem de erro real é retornada dinamicamente com base na chamada de API. |
| 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 um disco ser anexado a uma instância que está no estado parado, reinicie 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 simultânea. 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. | Os 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 está como Cancelado (ou Revogado) no Sistema Nacional de Publicidade de Informações de Crédito Empresarial. Sua conta não pode realizar operações de transação, como compra de novos produtos, renovação ou recarga de saldo. Altere seu registro de nome real por meio da Central de Contas o mais rápido possível. Após a conclusão da alteração, o Alibaba Cloud desativará 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 a operação atual. |
| 403 | InvalidBootMode.SecureBootUnsupported | Secure Boot requires UEFI or UEFI-Preferred boot mode. Please check the BootMode and try again. | O parâmetro BootMode especificado é inválido. O modo de inicialização não oferece suporte ao Secure Boot. |
| 404 | InvalidSnapshotId.NotFound | The specified SnapshotId does not exist. | |
| 404 | InvalidInstanceId.NotFound | The specified instance %s does not exist. | A instância especificada não existe. Verifique se o ID da instância está correto. |
| 404 | InvalidResourceGroup.NotFound | The ResourceGroup provided does not exist in our records. | O grupo de recursos não foi encontrado nos registros. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.