Могу ли я создать локальный файл AMI для будущего использования в различных облачных сервисах?
Можно ли локально создать один файл AMI, например, Debian Jessie, и использовать его напрямую (или с небольшими изменениями) на любых поставщиках облачных услуг, совместимых с AMI (например, AWS, CloudStack, Digital Ocean или Rackspace)?
2 ответа
AMI несколько уникальны тем, что ядро отделено от образа. Это зависит от поставщика и от того, поддерживают ли они загрузку изображений в стиле AMI.
Rackspace Public Cloud поддерживает загрузку изображений в формате VHD, в то время как Rackspace Private Clouds поддерживает использование AMI.
По состоянию на октябрь 2013 года Digital Ocean не поддерживала загрузку изображений.
CloudStack - это не то же самое, что Rackspace Public Cloud, EC2 или Digital Ocean, которые являются размещенными предложениями, построенными на одном облачном стеке или другом. CloudStack - это облачный стек с открытым исходным кодом, похожий на OpenStack. OpenStack и CloudStack поддерживают изображения AMI.
Если вам нужна максимальная переносимость между облаками, возможно, стоит взглянуть на те, которые вы хотели бы использовать, и выяснить, какой формат изображения (AMI, VHD, QCOW2 и т. Д.) Лучше всего поддерживается среди них.
Ответ Феба охватывает вопрос как таковой (+1). Другой вариант - немного изменить ваш подход и использовать вместо него Packer, который является инструментом для создания идентичных образов машин для нескольких платформ из одной исходной конфигурации:
Упаковщик прост в использовании и автоматизирует создание машинного образа любого типа. Он включает в себя современное управление конфигурацией, предлагая вам использовать автоматические сценарии для установки и настройки программного обеспечения в ваших изображениях, созданных Packer. [...]
В настоящее время он поддерживает Builders для всех указанных вами целей, кроме CloudStack. Первоначальная поддержка для компоновщика Cloudstack уже доступна, но еще не объединена по организационным причинам. Если вы не хотите ждать, пока это произойдет, вы можете самостоятельно интегрировать его с помощью Custom Builders.