Copiar um AMI - Amazon Elastic Compute Cloud

Copiar um AMI

É possível copiar uma imagem de máquina da Amazon (AMI) dentro ou através de regiões da AWS. É possível copiar as AMIs baseadas no Amazon EBS e as AMIs baseadas em armazenamento de instâncias. É possível copiar AMIs baseadas no EMS com snapshots criptografados e também alterar o status de criptografia durante o processo de cópia. É possível copiar as AMIs que são compartilhadas com você.

Copiar uma AMI de origem resulta em uma nova AMI idêntica, mas separada, que também é chamada de AMI de destino. A AMI de destino tem o próprio ID de AMI exclusivo. É possível alterar ou cancelar o registro da AMI de origem sem afetar a AMI de destino. O inverso também é verdadeiro.

No caso de uma AMI baseada no EBS, cada um de seus snapshots de suporte é copiado para um snapshot de destino idêntico, mas separado. Se você copiar uma AMI para uma nova Região, os snapshots serão cópias completas (não incrementais). Se você criptografar snapshots de suporte não criptografados ou criptografá-los para uma nova chave KMS, os snapshots serão cópias completas (não incrementais). Operações de cópia subsequentes de uma AMI resultam em cópias incrementais dos snapshots de suporte.

Considerações

  • Permissão para copiar AMIs: é possível usar políticas do IAM para conceder ou negar aos usuários permissão para copiar AMIs. As permissões no nível do recurso especificadas para a ação CopyImage se aplicam somente à nova AMI. Não é possível especificar permissões no nível do recurso para a AMI de origem.

  • Permissões de execução e permissões de bucket do Amazon S3: a AWS não copia permissões de execução nem permissões de bucket do Amazon S3 da AMI de origem para a nova AMI. Após a conclusão da operação de cópia, você pode aplicar permissões de inicialização e permissões de bucket do Amazon S3 à nova AMI.

  • Tags: é possível copiar somente as tags de AMI definidas pelo usuário que você anexou à AMI de origem. Tags do sistema (prefixadas com aws:) e tags definidas pelo usuário anexadas por outras Contas da AWS não serão copiadas. Ao copiar uma AMI, você pode anexar novas tags à AMI de destino e seus snapshots de suporte.

Custos

Não há cobrança para copiar uma AMI. Mas aplicam-se as taxas padrão de transferência de dados e armazenamento. Se copiar uma AMI baseada em EBS, você será cobrado pelo armazenamento de snapshots adicionais do EBS.

Permissões do IAM

Para copiar uma AMI baseada em EBS ou em armazenamento de instâncias, as seguintes permissões do IAM são necessárias:

  • ec2:CopyImage: para copiar a AMI. Para AMIs baseadas no EBS, ele também concede permissão para copiar os snapshots de suporte da AMI.

  • ec2:CreateTags: para marcar a AMI de destino. Para AMIs baseadas no EBS, ele também concede permissão para marcar os snapshots de apoio da AMI de destino.

Se você estiver copiando uma AMI baseada em uma instância armazenada, as seguintes permissões adicionais do IAM serão necessárias:

  • s3:CreateBucket: para criar o bucket do S3 na região de destino da nova AMI

  • s3:GetBucketAcl: para ler as permissões da ACL para o bucket de origem

  • s3:ListAllMyBuckets: para encontrar um bucket do S3 existente para AMIs na região de destino

  • s3:GetObject: para ler os objetos no bucket de origem

  • s3:PutObject: para escrever os objetos no bucket de destino

  • s3:PutObjectAcl: para escrever as permissões para os novos objetos no bucket de destino

Exemplo de política do IAM para copiar uma AMI baseada em EBS e marcar a AMI e os snapshots de destino

O exemplo de política a seguir concede a você permissão para copiar qualquer AMI baseada no EBS e marcar a AMI de destino e seus snapshots de apoio.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "PermissionToCopyAllImages", "Effect": "Allow", "Action": [ "ec2:CopyImage", "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::image/*" }] }

Exemplo de política do IAM para copiar uma AMI baseada no EBS, mas negar a marcação de novos snapshots.

A permissão ec2:CopySnapshot é concedida automaticamente quando você recebe a permissão ec2:CopyImage. Isso inclui a permissão para marcar os novos snapshots de apoio da AMI de destino. A permissão para marcar os novos snapshots de apoio pode ser negada explicitamente.

O exemplo de política a seguir concede a você permissão para copiar qualquer AMI baseada no EBS, mas proíbe a marcação de novos snapshots de apoio da AMI de destino.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:CopyImage", "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::image/*" }, { "Effect": "Deny", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:::snapshot/*" } ] }

Exemplo de política do IAM para copiar uma AMI baseada em armazenamento de instância e marcar a AMI de destino

O exemplo de política a seguir concede a você permissão para copiar qualquer AMI baseada em armazenamento de instância no bucket de origem especificado para a região especificada e para marcar a AMI de destino.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "PermissionToCopyAllImages", "Effect": "Allow", "Action": [ "ec2:CopyImage", "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::image/*" }, { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": [ "arn:aws:s3:::*" ] }, { "Effect": "Allow", "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::ami-source-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetBucketAcl", "s3:PutObjectAcl", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amis-for-account-in-region-hash" ] } ] }

Para localizar o nome do recurso da Amazon (ARN) do bucket de origem da AMI, abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2. No painel de navegação, escolha AMIs e localize o nome do bucket na coluna Source (Origem).

nota

A permissão s3:CreateBucket só é necessária na primeira vez que o você copia uma AMI baseada armazenamento de instância para uma região individual. Depois disso, o bucket do Amazon S3 que foi criado na região será usado para armazenar todas as AMIs futuras que você copiar para essa região.

Copiar um AMI

É possível copiar uma AMI usando AWS Management Console, AWS Command Line Interface ou SDKs, ou a API do Amazon EC2, que dão suporte à ação CopyImage.

Pré-requisito

Crie ou obtenha uma AMI para copiar. Observe que é possível usar o console do Amazon EC2 para pesquisar uma grande variedade de AMIs fornecidas pela AWS. Para obter mais informações, consulte Criar uma AMI do Linux baseada no Amazon EBS e Localização de uma AMI.

Console
Copiar uma AMI
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Pela barra de navegação do console, selecione a região que contém a AMI.

  3. No painel de navegação, selecione AMIs para exibir a lista de AMIs disponíveis para você na região.

  4. Caso não veja a AMI que deseja copiar, selecione um filtro diferente. É possível filtrar por AMIs Pertencentes a mim, Imagens privadas, Imagens públicas e Imagens desabilitadas.

  5. Selecione a AMI para copiar e escolha Ações, Copiar AMI.

  6. Na página Copy AMI (Copiar AMI), especifique as seguintes informações:

    1. AMI copy name (Nome da cópia da AMI): o nome da nova AMI. Você pode incluir informações do sistema operacional no nome, pois o Amazon EC2 não fornece essas informações ao exibir detalhes sobre a AMI.

    2. AMI copy description: (Descrição da cópia da AMI): por padrão, a descrição inclui informações sobre a AMI de origem, de forma que você possa distinguir uma cópia da original. É possível alterar essa descrição conforme necessário.

    3. Destination region (Região de destino): a região para a qual a AMI deve ser copiada. Para ter mais informações, consulte Cópia entre regiões.

    4. Copy tags (Copiar tags): marque essa caixa de seleção para incluir as tags de AMI definidas pelo usuário ao copiar a AMI. Tags do sistema (prefixadas com aws:) e tags definidas pelo usuário anexadas por outras Contas da AWS não serão copiadas.

    5. (Somente AMIs baseadas no EBS) Criptografar snapshots do EBS de uma cópia da AMI: marque essa caixa de seleção para criptografar os snapshots de destino ou para recriptografá-los usando uma chave diferente. Se a opção de criptografar por padrão estiver habilitada, a caixa de seleção Criptografar snapshots do EBS da cópia da AMI estará marcada e não poderá ser desmarcada. Para ter mais informações, consulte Criptografar e copiar.

    6. (Somente AMIs baseadas no EBS) Chave do KMS: a chave do KMS usada para criptografar os snapshots de destino.

    7. Tags: é possível marcar a nova AMI e os novos snapshots com as mesmas tags ou pode marcá-los com tags diferentes.

      • Para marcar a nova AMI e novos os snapshots com as mesmas tags, escolha Marcar imagem e snapshots juntos. As mesmas tags são aplicadas à nova AMI e a cada snapshot criado.

      • Para marcar a nova AMI e os snapshots com tags diferentes, escolha Marcar imagem e snapshots separadamente. Diferentes tags são aplicadas à nova AMI e aos snapshots criados. Observe, no entanto, que todos os novos snapshots criados recebem as mesmas tags; não é possível marcar cada snapshot com uma tag diferente.

      (Opcional) Para adicionar uma tag, escolha Add tag (Adicionar tag) e digite a chave e o valor da tag. Repita esse procedimento para cada tag.

    8. Quando estiver com tudo pronto para copiar a AMI, escolha Copiar AMI.

      O status inicial da nova AMI é Pending. A operação de cópia da AMI estará concluída quando o status for Available.

AWS CLI
Para copiar uma AMI usando a AWS CLI

É possível copiar uma AMI usando o comando copy-image. Especifique as regiões de origem e de destino. Especifique a região de origem usando o parâmetro --source-region. É possível especificar a região de destino usando o parâmetro --region ou uma variável de ambiente. Para obter mais informações, consulte Configurar a interface de linha de comando da AWS.

(Somente AMIs baseadas no EBS) Ao criptografar um snapshot de destino durante a cópia, é necessário especificar parâmetros adicionais: --encrypted e --kms-key-id.

Para ver exemplos de comandos, consulte Examples (Exemplos) em copy-image na AWS CLI Command Reference (Referência de comandos da ).

PowerShell
Para copiar uma AMI usando a Tools for Windows PowerShell

É possível copiar uma AMI usando o comando Copy-EC2Image. Especifique as regiões de origem e de destino. Especifique a região de origem usando o parâmetro -SourceRegion. É possível especificar a região de destino usando o parâmetro -Region ou o comando Set-AWSDefaultRegion. Para obter mais informações, consulte Especificação das regiões da AWS.

(Somente AMIs baseadas no EBS) Ao criptografar um snapshot de destino durante a cópia, é necessário especificar parâmetros adicionais: -Encrypted e -KmsKeyId.

Parar uma operação de cópia de AMI pendente

É possível interromper uma cópia pendente da AMI ao usar o AWS Management Console ou a linha de comando.

Console
Para parar uma operação de cópia de AMI usando o console
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. Na barra de navegação, selecione a região de destino com o seletor de região.

  3. No painel de navegação, selecione AMIs.

  4. Selecione a AMI cuja cópia será interrompida e escolha Ações e Cancelar registro da AMI.

  5. Quando a confirmação for solicitada, escolha Deregister AMI (Cancelar registro da AMI).

Command line
Para parar uma operação de cópia de AMI usando a linha de comando

É possível usar um dos comandos a seguir. Para obter mais informações sobre essas interfaces de linha de comando, consulte Acessar o Amazon EC2.

Cópia entre regiões

Copiar uma AMI entre regiões geograficamente diversas traz os seguintes benefícios:

  • Implantação global consistente: copiar uma AMI de uma região para outra permite que você execute instâncias consistentes com base na mesma AMI em diferentes regiões.

  • Escalabilidade: É possível mais facilmente projetar e construir aplicações globais que atendam às necessidades dos seus usuários, onde quer que estejam.

  • Performance: é possível aumentar a performance ao distribuir sua aplicação, além de localizar os componentes essenciais do sua aplicação em maior proximidade de seus usuários. Também é possível aproveitar recursos específicos da região, como tipos de instância ou outros serviços da AWS.

  • Alta disponibilidade: é possível projetar e implantar aplicações nas regiões da AWS, de forma a aumentar a disponibilidade.

O diagrama a seguir mostra as relações entre uma AMI de origem e duas AMIs copiadas em regiões diferentes, assim como as instâncias do EC2 executadas por cada uma. Ao executar uma instância a partir de uma AMI, ela residirá na mesma região em que a AMI reside. Se você fizer alterações à AMI de origem e quiser que essas alterações sejam refletidas nas AMIs das regiões de destino, deve recopiar a AMI de origem nas regiões de destino.


				AMIs copiadas em diferentes regiões

Ao copiar pela primeira vez uma AMI com armazenamento de instâncias para uma região, criaremos um bucket do Amazon S3 para as AMIs copiadas para essa região. Todas as AMIs com armazenamento de instâncias que você copiar para essa região serão armazenadas nesse bucket. Os nomes do bucket têm o seguinte formato: amis-for-account-in-region-hash. Por exemplo: amis-for-123456789012-in-us-east-2-yhjmxvp6.

Pré-requisito

Antes de copiar uma AMI, é preciso garantir que o conteúdo da AMI de origem seja atualizado para oferecer suporte à execução em uma região diferente. Por exemplo, atualize todas as string de conexão com o banco de dados ou dados de configuração de aplicação para apontarem para os recursos apropriados. Caso contrário, as instâncias executadas pela nova AMI na região de destino ainda poderão usar os recursos da região de origem, o que pode afetar a performance e o custo.

Limitações
  • As regiões de destino estão limitadas a 100 cópias simultâneas de AMI.

  • Não é possível copiar uma AMI paravirtual (PV) em uma região que não oferece suporte a AMIs PV. Para ter mais informações, consulte Tipos de virtualização da AMI em Linux.

Cópia entre contas

É possível compartilhar uma AMI com outra conta da AWS. O compartilhamento da AMI não afeta propriedade da AMI. A conta proprietária é cobrada pelo armazenamento na região. Para obter mais informações, consulte Compartilhar uma AMI com contas específicas da AWS.

Se você copiar uma AMI que foi compartilhada com sua conta, será o proprietário da AMI de destino na sua conta. Do proprietário da AMI de origem são cobradas taxas de transferência padrão do Amazon EBS ou do Amazon S3, e você será cobrado pelo armazenamento da AMI de destino na região de destino.

Permissões de recursos

Para copiar uma AMI compartilhada com você de outra conta, o proprietário da AMI de origem deve conceder permissão de leitura para o armazenamento que suporta a AMI. O armazenamento é o snapshot do EBS associado (para uma AMI baseada no Amazon EBS) ou um bucket S3 associado (para uma AMI baseada em armazenamento de instância). Se a AMI compartilhada criptografou snapshots, o proprietário deve compartilhar a chave ou as chaves com você também. Para obter mais informações sobre como conceder permissões de recursos para snapshots do EBS, consulte Compartilhar um snapshot do Amazon EBS no Guia do usuário do Amazon EBS. Para buckets do S3, consulte Gerenciamento de identidade e acesso no Amazon S3 no Guia do usuário do Amazon Simple Storage Service.

nota

Para copiar uma AMI com as tags, você deve ter permissões de inicialização para a AMI de origem.

Criptografar e copiar

A tabela a seguir mostra o suporte a criptografia para vários cenários de cópia de AMI. Apesar de ser possível copiar um snapshot não criptografado para render um snapshot criptografado, você não pode copiar um snapshot criptografado para render um não criptografado.

Cenário Descrição Compatível
1 Não criptografado para não criptografado Sim
2 Criptografado para criptografado Sim
3 Não criptografado para criptografado Sim
4 Criptografado para não criptografado Não
nota

A criptografia durante a ação CopyImage se aplica somente a AMIs com Amazon EBS. Como uma AMI com armazenamento de instâncias não depende de snapshots, você não pode usar a cópia para alterar seu status de criptografia.

Por padrão (isto é, sem especificar parâmetros de criptografia), o snapshot de suporte de uma AMI é copiado com seu status de criptografia original. Copiar uma AMI baseada em um snapshot não criptografado resulta em um snapshot de destino idêntico que também não é criptografado. Se a AMI de origem for baseada em um snapshot criptografado, copiá-la resultará em um snapshot de destino idêntico que é criptografado pela mesma chave do AWS KMS. Copiar uma AMI com vários snapshots preserva, por padrão, o status de criptografia de origem em cada snapshot de destino.

Se você especificar parâmetros de criptografia enquanto copia uma AMI, poderá criptografar seus snapshots de suporte ou criptografá-los novamente. O exemplo a seguir mostra um caso não padrão que fornece parâmetros de criptografia à ação CopyImage para alterar o estado de criptografia da AMI de destino.

Copiar uma AMI de origem não criptografada para uma AMI de destino criptografada

Nesse cenário, uma AMI baseada em um snapshot raiz não criptografado é copiada para uma AMI com um snapshot raiz criptografado. A ação CopyImage é invocada com dois parâmetros de criptografia, incluindo uma chave gerenciada pelo cliente. Como resultado, o status de criptografia do snapshot raiz muda, de modo que a AMI de destino tenha suporte de um snapshot raiz contendo os mesmos dados que o snapshot de origem, mas criptografado usando a chave especificada. Você incorre em custos de armazenamento para os snapshots em ambas as AMIs, bem como cobranças para todas as instâncias iniciadas a partir de uma AMI.

nota

Habilitar a criptografia por padrão tem o mesmo efeito que configurar o parâmetro Encrypted como true para todos os snapshots na AMI.


		Copiar AMI e criptografar snapshot em tempo real

Configurar o parâmetro Encrypted criptografa o snapshot único dessa instância. Se você não especificar o parâmetro KmsKeyId, a chave gerenciada pelo cliente padrão será usada para criptografar a cópia do snapshot.

Para obter mais informações sobre como copiar AMIs com snapshots criptografados, consulte Usar criptografia com AMIs com EBS.