Como migrar programaticamente uma EC2 EBS AMI para outras regiões?

5

Antes da disponibilidade das AMIs baseadas no EBS, era possível usar o comando ec2-migrate-image para migrar as AMIs para diferentes regiões.

Existe uma maneira simples de fazer o mesmo para as AMIs baseadas em EBS? Ou usando o amazon oficial Ferramentas de linha de comando da API do EC2 ou usando uma biblioteca como boto ?

    
por Tom Feiner 09.01.2012 / 10:06

2 respostas

7

A Amazon não forneceu uma interface de linha de comando simples para copiar AMIs de inicialização do EBS entre regiões, como fizeram com AMIs baseadas em S3.

Para copiar uma AMI de inicialização do EBS, você precisa iniciar instâncias em ambas as regiões e copiar o instantâneo do EBS de uma região para outra usando um volume temporário do EBS anexado a cada instância.

Eu recomendo usar o rsync com as opções apropriadas para copiar o sistema de arquivos, em vez de copiar o dispositivo de bloco, pois isso é mais rápido e deve resultar em um snapshot menor.

Depois que o novo instantâneo foi criado na nova região, você o registra como uma AMI, certificando-se de especificar a arquitetura / AKI / ARI correta que corresponde àquelas na região de origem.

Eu escrevi as linhas de comando específicas necessárias para realizar tudo isso:

Copying EBS Boot AMIs Between EC2 Regions
http://alestic.com/2010/10/ec2-ami-copy

É possível juntar isso em um processo automatizado, se é isso que você precisa.

    
por 09.01.2012 / 11:10
0
O comando

copy-image do AWS CLI faz exatamente o que você precisa

link

Basta colocar assim

copy-image --source-image-name img --destination-image-name img_new --destination-region us-west-1
    
por 25.04.2018 / 14:28