Я здесь немного запутался. Я пробовал это несколько дней, но не мог заставить его работать. Надеюсь, кто-то сможет пролить здесь свет.
У меня есть 1 экземпляр (Amazon AMI x86_64 AMI, с поддержкой EBS), работающий в регионе us-east-1, и я хотел перейти в регион ap-southeast-1 (с использованием корзины S3).
Вот шаги, которые я сделал:
1. ec2-bundle-vol \
-k pk-xxx.pem \
-u xxx \
-c cert-xxx.pem
2. ec2-migrate-manifest \
-m /tmp/image.manifest.xml \
-c cert-xxx.pem \
-k pk-xxx.pem \
-a xxx \
-s xxx \
--region ap-southeast-1
3. ec2-upload-bundle \
-b my-sg-bucket \
-m /tmp/image.manifest.xml \
-a xxx \
-s xxx \
--location ap-southeast-1
4. ec2-register \
-K pk-xxx.pem \
-C cert-xxx.pem \
--region ap-southeast-1 \
my-sg-bucket/image.manifest.xml \
--name my-ami
Все работало нормально. Я могу видеть только что созданный AMI в AP-регионе. Но когда я попытался создать экземпляр с помощью AMI, я не смог выбрать «t1.micro» в качестве типа экземпляра. Вскоре я обнаружил, что AMI - это AMI хранилища экземпляров (странно, что EBS изначально поддерживает).
Это заставило меня задуматься, что я сделал здесь не так, чтобы перенести поддерживаемый EBS экземпляр в другой регион, не меняя его на AMI хранилища экземпляров?
Спасибо.
Миграция экземпляров между регионами действительно не так проста, как хотелось бы думать, хотя и решенная проблема:
- Project теперь может запускать два экземпляра служебной программы в двух указанных регионах и монтировать исходный том в исходном экземпляре.
- Остается только присоединить целевой том и синхронизировать его содержимое.
Проблема, которую вы видите, заключается в том, что команда ec2-bundle-vol предназначена для создания AMI с поддержкой S3. Таким образом, вы взяли свой AMI с поддержкой EBS - создали, загрузили и зарегистрировали его содержимое как AMI с поддержкой S3, а затем запустили этот AMI с поддержкой S3 в новом регионе.
К сожалению, встроенного способа миграции AMI с корнем EBS между регионами нет. Вам нужно пройти долгий путь.
Вы понесете расходы на инстансы, передачу данных и ввод-вывод EBS.
На самом деле есть другой вариант, который может лучше соответствовать вашим потребностям.
Поддерживаемые S3 AMI можно загрузить и разделить, получив образ исходного диска - затем вы можете записать этот образ на свой том EBS, и все будет в порядке.
По сути, вы должны выполнить те же первые шаги, что уже сделали:
Затем в регионе назначения:
ec2-download-bundle -b BUCKET_NAME -m MANIFEST.xml -d TARGET_DIRECTORY
ec2-unbundle -m /local/path/to/manifest.xml -s SOURCE_DIRECTORY -d DESTINATION_DIRECTORY
dd if=/path/to/image of=/dev/NAME