Usar CreateImage com uma CLI - Exemplos de código do AWS SDK

Há mais exemplos do AWS SDK disponíveis no repositório do GitHub Documento de Exemplos do AWS SDK.

Usar CreateImage com uma CLI

Os exemplos de código a seguir mostram como usar o CreateImage.

CLI
AWS CLI

Exemplo 1: criar uma AMI de uma instância com Amazon EBS

O exemplo create-image a seguir cria uma AMI da instância especificada.

aws ec2 create-image \ --instance-id i-1234567890abcdef0 \ --name "My server" \ --description "An AMI for my server"

Saída:

{ "ImageId": "ami-abcdef01234567890" }

Para obter mais informações sobre especificar um mapeamento de dispositivos de blocos para sua AMI, consulte Especificar um mapeamento de dispositivos de blocos para AMI no Guia do usuário do Amazon EC2.

Exemplo 2: criar uma AMI de uma instância baseada no Amazon EBS sem reinicializar

O exemplo create-image a seguir cria uma AMI e define o parâmetro --no-reboot, para que a instância não seja reinicializada antes da criação da imagem.

aws ec2 create-image \ --instance-id i-1234567890abcdef0 \ --name "My server" \ --no-reboot

Saída:

{ "ImageId": "ami-abcdef01234567890" }

Para obter mais informações sobre especificar um mapeamento de dispositivos de blocos para sua AMI, consulte Especificar um mapeamento de dispositivos de blocos para AMI no Guia do usuário do Amazon EC2.

Exemplo 3: aplicar tag em uma AMI e snapshots na criação

O exemplo create-image a seguir cria uma AMI e aplica uma tag na AMI e nos snapshots com a mesma tag cost-center=cc123

aws ec2 create-image \ --instance-id i-1234567890abcdef0 \ --name "My server" \ --tag-specifications "ResourceType=image,Tags=[{Key=cost-center,Value=cc123}]" "ResourceType=snapshot,Tags=[{Key=cost-center,Value=cc123}]"

Saída:

{ "ImageId": "ami-abcdef01234567890" }

Para obter mais informações sobre como aplicar tags em seus recursos na criação, consulte Adicionar tags na criação de recursos no Guia do usuário do Amazon EC2.

  • Para ver detalhes da API, consulte CreateImage na Referência de comandos da AWS CLI.

PowerShell
Ferramentas para PowerShell V4

Exemplo 1: esse exemplo cria uma AMI com o nome e a descrição especificados com base na instância especificada. O Amazon EC2 tenta desligar a instância de forma limpa antes de criar a imagem e reinicia a instância após a conclusão.

New-EC2Image -InstanceId i-12345678 -Name "my-web-server" -Description "My web server AMI"

Exemplo 2: esse exemplo cria uma AMI com o nome e a descrição especificados com base na instância especificada. O Amazon EC2 cria a imagem sem desligar e reiniciar a instância; portanto, a integridade do sistema de arquivos na imagem criada não pode ser garantida.

New-EC2Image -InstanceId i-12345678 -Name "my-web-server" -Description "My web server AMI" -NoReboot $true

Exemplo 3: esse exemplo cria uma AMI com três volumes. O primeiro volume é baseado em um snapshot do Amazon EBS. O segundo volume é um volume vazio de 100 GiB do Amazon EBS. O terceiro volume é um volume de armazenamento de instância. A sintaxe usada nesse exemplo requer o PowerShell versão 3 ou posterior.

$ebsBlock1 = @{SnapshotId="snap-1a2b3c4d"} $ebsBlock2 = @{VolumeSize=100} New-EC2Image -InstanceId i-12345678 -Name "my-web-server" -Description "My web server AMI" -BlockDeviceMapping @( @{DeviceName="/dev/sdf";Ebs=$ebsBlock1}, @{DeviceName="/dev/sdg";Ebs=$ebsBlock2}, @{DeviceName="/dev/sdc";VirtualName="ephemeral0"})
  • Consulte detalhes da API em CreateImage na Referência de cmdlet do Ferramentas da AWS para PowerShell (V4).

Ferramentas para PowerShell V5

Exemplo 1: esse exemplo cria uma AMI com o nome e a descrição especificados com base na instância especificada. O Amazon EC2 tenta desligar a instância de forma limpa antes de criar a imagem e reinicia a instância após a conclusão.

New-EC2Image -InstanceId i-12345678 -Name "my-web-server" -Description "My web server AMI"

Exemplo 2: esse exemplo cria uma AMI com o nome e a descrição especificados com base na instância especificada. O Amazon EC2 cria a imagem sem desligar e reiniciar a instância; portanto, a integridade do sistema de arquivos na imagem criada não pode ser garantida.

New-EC2Image -InstanceId i-12345678 -Name "my-web-server" -Description "My web server AMI" -NoReboot $true

Exemplo 3: esse exemplo cria uma AMI com três volumes. O primeiro volume é baseado em um snapshot do Amazon EBS. O segundo volume é um volume vazio de 100 GiB do Amazon EBS. O terceiro volume é um volume de armazenamento de instância. A sintaxe usada nesse exemplo requer o PowerShell versão 3 ou posterior.

$ebsBlock1 = @{SnapshotId="snap-1a2b3c4d"} $ebsBlock2 = @{VolumeSize=100} New-EC2Image -InstanceId i-12345678 -Name "my-web-server" -Description "My web server AMI" -BlockDeviceMapping @( @{DeviceName="/dev/sdf";Ebs=$ebsBlock1}, @{DeviceName="/dev/sdg";Ebs=$ebsBlock2}, @{DeviceName="/dev/sdc";VirtualName="ephemeral0"})
  • Consulte detalhes da API em CreateImage na Referência de cmdlet do Ferramentas da AWS para PowerShell (V5).