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

Как работают образы машин Amazon?

Я видел много руководств по создание AMI, но я никогда не понимал полной концепции AMI. Это ссылка на экземпляр, или она сохраняется и никогда не менялась. Кроме того, включает ли образ локальное хранилище и все пакеты и т. Д., Установленные на этом экземпляре, или это просто копия конфигурации конкретного экземпляра. Спасибо

В простейшей форме AMI - это описание виртуальной машины: тип виртуализации, архитектура (32/64 бит), ядро ​​и корневое устройство. По словам Amazon:

AMI - это шаблон, содержащий конфигурацию программного обеспечения (операционная система, сервер приложений и приложения), которую вы можете запустить в проверенной вычислительной среде Amazon.

Инстансы EC2 - это виртуальные машины, работающие на оборудовании Amazon. Для запуска экземпляра требуется некоторый минимальный объем информации. Кроме того, разные типы экземпляров поддерживают разные конфигурации (например, некоторые не поддерживают 32-разрядные AMI).

У каждого AMI есть идентификатор (например, ami-a1b2c3d4), и конфигурацию этого AMI нельзя изменить после создания. (Однако вы можете переопределить многие настройки во время запуска или, в некоторых случаях, даже после запуска экземпляра).

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

AMI также содержат некоторую степень проверки ошибок - обычно идентификатор пользователя, указывающий на владение, ключи шифрования (которые шифруют изображение) и подпись (для проверки целостности изображения). Вы можете получить хорошее представление о том, что такое AMI, посмотрев на файл манифеста, созданный при создании экземпляра с поддержкой S3 - это просто файл, содержащий данные и ссылки на другие элементы (хранилище, ядро ​​и т. Д.).

Изображение ссылается на него как на отображение блочного устройства - оно указывает устройство (например, / dev / sda1) и источник данных (эфемерные (и части S3, если применимо) или ebs-snapshot). Поскольку части S3 подписаны, а ebs-снимки нельзя изменить (только удалить), запуск экземпляра из AMI (без переопределения его настроек) всегда должен приводить к экземпляру с той же настройкой программного обеспечения. (Обратите внимание, что экземпляры, запущенные из одного и того же AMI, по-прежнему могут отличаться по своему рабочему состоянию из-за пользовательских данных или различных сопоставлений блочных устройств (например, микро-экземпляры не имеют эфемерного хранилища, в то время как другие типы экземпляров имеют). Просто для ясности здесь присоединенные тома хранятся отдельно от AMI, но ссылаются на AMI таким образом, что тома не могут быть изменены.Тома содержат точную копию данных, которые были на них во время создания AMI.

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

Итак, чтобы кратко ответить на ваши вопросы: является ли ссылка на экземпляр или она хранится и никогда не менялась. Он хранится и никогда не меняется.

Кроме того, включает ли образ локальное хранилище и все пакеты и т. Д., Установленные на этом экземпляре, или это просто копия конфигурации конкретного экземпляра. Образ включает в себя локальное хранилище и все пакеты и т. Д., Установленные на этом экземпляре. (Обычно это просто корневой том, но AMI можно настроить для запуска экземпляра с несколькими заполненными томами).

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

Если вы создаете AMI из экземпляра, вы в основном создаете копию корневой файловой системы этого экземпляра, которую позже можно использовать для создания новых экземпляров.

Мой ответ здесь также может помочь: https://stackoverflow.com/a/7895489/111286