Назад | Перейти на главную страницу

Как программно перенести AMI EC2 EBS в другие регионы?

До того, как появились AMI на основе EBS, можно было использовать команду ec2-миграция-изображение чтобы перенести AMI в разные регионы.

Есть ли простой способ сделать то же самое для AMI на основе EBS? Либо с помощью официальных инструментов командной строки amazon EC2 API, либо с помощью библиотеки, например бото?

Amazon не предоставил простой интерфейс командной строки для копирования загрузочных AMI EBS между регионами, как это было с AMI на основе S3.

Чтобы скопировать загрузочный AMI EBS, необходимо запустить экземпляры в обоих регионах и скопировать моментальный снимок EBS из одного региона в другой, используя временный том EBS, прикрепленный к каждому экземпляру.

Я рекомендую использовать rsync с соответствующими параметрами для копирования файловой системы вместо копирования блочного устройства, поскольку это быстрее и должно привести к уменьшению размера снимка.

После того, как новый снимок был создан в новом регионе, вы регистрируете его как AMI, убедившись, что вы указали правильную архитектуру / AKI / ARI, совпадающую с таковыми в исходной области.

Я написал конкретные командные строки, необходимые для выполнения всего этого:

Копирование загрузочных AMI EBS между регионами EC2
http://alestic.com/2010/10/ec2-ami-copy

Если вам нужно, это можно объединить в автоматизированный процесс.

копировать изображение команда AWS CLI делает именно то, что вам нужно

https://docs.aws.amazon.com/cli/latest/reference/appstream/copy-image.html?highlight=image

Просто скажи так

copy-image --source-image-name img --destination-image-name img_new --destination-region us-west-1