web-dev-qa-db-fra.com

Déplacer les AMI Amazon EC2 entre les régions via une interface Web?

Un moyen facile de déplacer et de personnaliser l'image AMI entre les régions? (tokyo -> singapour)

Je sais que vous pouvez jouer avec API et S3 pour le faire, mais existe-t-il un moyen plus simple de le faire?

56
c2h2

Depuis décembre 2012, Amazon prend désormais en charge la migration d'une AMI vers une autre région via l'outil d'interface utilisateur (Amazon Management Console). Voir leur documentation ici

Alors, comment je l'ai fait est ..

  1. À partir de l'AMI, découvrez le Snapshot-ID et comment il est attaché (par exemple/dev/sda1)
  2. Sélectionnez l'instantané, cliquez sur "Copier", définissez la région de destination et effectuez la copie (prend un certain temps!)
  3. Sélectionnez le nouvel instantané, cliquez sur " Créer une image "

Architecture : (choisissez 32 ou 64 bits)

Nom/Description : (donnez-en un)

ID du noyau : lors de la migration d'une AMI Linux, si vous choisissez "par défaut", il peut échouer. Ce qui a fonctionné pour moi, c'est d'aller sur la liste Amazon Kernels ici pour trouver les noyaux pris en charge par Amazon, puis le spécifier lors de la création de l'image)

Nom du périphérique racine :/dev/sda1

Cliquez sur " Oui, créer "

4.Lancez une instance de la nouvelle AMI et testez que vous pouvez vous connecter.

91
dmohr

Vous pouvez le faire en utilisant la publication d'Eric: http://alestic.com/2010/10/ec2-AMI-copy

7
Rodney Quillo

Ce qui suit suppose que vos utilitaires AWS Console sont installés dans /opt/aws/bin/, Java_HOME=/usr et vous exécutez l'architecture i386, sinon remplacez-le par x86_64.

1) Exécutez un instantané en direct, où vous pensez que votre image peut tenir dans 1,5 Go et que vous avez cela à épargner dans/mnt (vérifiez l'exécution de df)

/opt/aws/bin/ec2-bundle-vol -d /mnt -k /home/ec2-user/.ec2/pk-XXX.pem -c /home/ec2-user/.ec2/cert-XXX.pem -u 123456789 -r i386 -s 1500

2) Télécharger vers le compartiment S3 de la région actuelle

/opt/aws/bin/ec2-upload-bundle -b S3_BUCKET -m /mnt/image.manifest.xml -a abcxyz -s SUPERSECRET

3) Transférez l'image dans le seau EU S3

/opt/aws/bin/ec2-migrate-image -K /home/ec2-user/.ec2/pk-XXX.pem -C /home/ec2-user/.ec2/cert-XXX.pem -o abcxyz -w SUPERSECRET --bucket S3_BUCKET_US --destination-bucket S3_BUCKET_EU --manifest image.manifest.xml --location EU

4) Enregistrez votre AMI pour lancer l'instance en Irlande

/opt/aws/bin/ec2-register –K /home/ec2-user/.ec2/pk-XXX.pem –C /home/ec2-user/.ec2/cert-XXX.pem http://s3.amazonaws.com:80/S3_BUCKET/image.manifest.xml --region eu-west-1 -name DEVICENAME -a i386 --kernel aki-xxx

7
Richard Ginsberg
6
waxical

Je pense que c'est désormais obsolète par ec2-bundle-vol et ec2-migrate-image, BTW vous pouvez également jeter un œil à ce script Perl de Lincoln D. Stein: http://search.cpan.org/ ~ lds/VM-EC2/bin/migrate-ebs-image.pl

Usage:

$ migrate-ebs-image.pl - de us-east-1 - à ap-sud-est-1 AMI-123456

4
micred

Amazon vient d'annoncer la prise en charge de cette fonctionnalité dans cet article de blog . Notez que la réponse de dmohr concerne la copie des EBS, pas des AMI.

Dans le cas où le blog n'est pas disponible, en citant les parties pertinentes:

Pour utiliser AMI Copy, sélectionnez simplement l'AMI à copier à partir d'AWS Management Console, choisissez la région de destination et démarrez la copie. AMI Copy est également accessible via l'interface de ligne de commande EC2 ou l'API EC2, comme décrit dans le Guide de l'utilisateur EC2 . Une fois la copie terminée, la nouvelle AMI peut être utilisée pour lancer de nouvelles instances EC2 dans la région de destination.

4
David

AWS prend désormais en charge la copie d'un instantané EBS vers une autre région via UI/CLI/API. Vous pouvez copier l'instantané, puis en faire une AMI. Une copie AMI directe arrive - d'AWS:

"Nous prévoyons également de lancer Amazon Machine Image (AMI) Copy en tant que suivi de cette fonctionnalité, qui vous permettra de copier des AMI publiques et personnalisées dans toutes les régions.

http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html?ref_=pe_2170_2741546

3
rynop

Je viens de le faire en utilisant un script sur CloudyScripts, fonctionnant de manière fantastique: https://cloudyscripts.com/tool/show/5 (et c'est gratuit).

1
James Yale

Ylastic vous permet de déplacer des images Linux soutenues par EBS entre les régions.

C'est 25 $ ou 50 $ par mois, mais il semble que vous puissiez l'évaluer pendant une semaine.

1
Geoff Appleford

Depuis 2017 , c'est assez simple .. suivez les captures d'écran:

enter image description here

enter image description here

enter image description here

enter image description here

1
JerryGoyal

J'ajouterai Scalr à la liste des outils que vous pouvez utiliser (Avertissement: j'y travaille). Au sein de Scalr, vous pouvez créer votre propre AMI (nous les appelons rôles). Une fois votre rôle prêt, il vous suffit de choisir où vous souhaitez le déployer (donc dans toutes les régions).

Scalr est open-source publié sous la licence Apache 2: vous pouvez le télécharger et l'installer vous-même. Sinon, il est également disponible via une version hébergée incluant le support. Alternatives à Scalr comprend RightScale et enStratus.

0
Michel Galibert