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.
Conteúdo
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
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.
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.
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.
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.
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.