Терминология Amazon EC2 - AMI против EBS, снимок и объем


127

Я копался в Amazon EC2 и немного запутался в некоторых терминах. В частности, в отношении AMI, снимков и томов, а также EBS

Пожалуйста, исправьте меня, если я ошибаюсь, или заполните любые серьезные пробелы в моих следующих утверждениях:

  • AMI (образ машины Amazon) - это полный «дисковый» захват операционной системы и конфигурации. Когда вы запускаете экземпляр, вы запускаете его из AMI

  • EBS (Elastic Block Storage) - это способ сохранить состояние любых изменений, которые вы сделали после загрузки с данного AMI. На мой взгляд, это похоже на разницу в конечном состоянии вашего экземпляра против AMI.

  • Снимок ... ну, я не уверен. Я могу только предположить, что это снимок определенного экземпляра, но мне не ясно, как это отличается от состояния, хранящегося в EBS. Чем снимок отличается от создания EBS AMI из существующего экземпляра?

  • Том ... кажется, смонтированное дисковое пространство, в которое загружена пара AMI / EBS? Я тоже не уверен в этом. Я вижу (из консоли AWS), что вы можете создать том из снимка и что вы можете подключать / отключать тома, но мне не ясно, почему или когда вы это сделаете.

Ответы:


150

Как вы заметили, AMI - это изображение машины. Это полный снимок системы, хранящийся в виде изображения, который можно запустить как экземпляр. Мы вернемся к AMI через секунду.

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

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

Снимки - это ... ну ... снимки томов: точная запись того, как том выглядел в определенный момент времени, включая все его данные. Вы можете иметь том, прикрепить его к своему экземпляру, заполнить его материалом, затем сделать снимок, но продолжать его использовать. Содержимое тома будет меняться, если вы используете его в качестве файловой системы, но моментальный снимок будет заморожен во времени. Вы можете создать новый том, используя этот снимок в качестве базы. Новый том будет выглядеть точно так же, как ваш первый диск, когда вы делали снимок. Вы можете начать использовать новый том вместо старого для отката ваших данных, или, возможно, присоединить тот же набор данных ко второму компьютеру. Вы можете продолжать делать снимки томов в любой момент времени. Это как резервная копия экземпляра стоп-кадра, которую можно легко превратить в новый живой диск (том), когда вам это нужно.

Таким образом, объемы могут быть основаны на новом пустом пространстве или на снимке. Понял? Тома могут быть присоединены и отсоединены от любых экземпляров, но могут быть подключены только к одному экземпляру за раз, точно так же как физический диск, для которого они являются виртуальной абстракцией.

Теперь вернемся к AMI. Это сложно, потому что есть два типа. Каждый создает эфемерные случаи, когда корневая файловая система выглядит как диск к компьютеру, но фактически где-то находится в памяти и испаряется в ту минуту, когда она перестает использоваться. Другой вид называется экземпляром EBS. Это означает, что, когда ваши экземпляры загружаются, он загружает свою корневую файловую систему на новый том EBS, в основном размещая технологию виртуальной машины EC2 поверх своей технологии EBS. Обычный том EBS - это то, что находится рядом с EC2 и может быть присоединен, но экземпляр, поддерживаемый EBS, также является самим томом.

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

Теперь соберите все это вместе. Если экземпляр поддерживается EBS, вы также можете сделать его снимок. По сути, это именно то, что делает обычный снимок ... стоп-кадр корневого диска вашего компьютера в любой момент времени. На практике это делает две разные вещи. Во-первых, он закрывает ваш экземпляр, так что вы получаете копию диска, которая будет выглядеть как выключенный компьютер, а не как включенный. Это облегчает загрузку :) Поэтому, когда вы снимаете экземпляр, он выключается, снимает диск и снова запускается. Во-вторых, он сохраняет эти изображения как AMI, а не как обычный снимок диска. По сути это загрузочный снимок тома.


1
Спасибо за отличную информацию, я думаю, что она собирается вместе для меня. Дополнительный вопрос: в чем разница между созданием снимка AMI EBS по сравнению с щелчком правой кнопкой мыши и выбором «Создать образ (EBS AMI)» в веб-консоли EC2? Исходя из вашего описания выше, может показаться, что они идентичны, за исключением того, как вы их используете. Вы можете создать том из снимка, а затем присоединить этот том к AMI. Где, как образ EBS AMI просто ... я не знаю, исключает этот шаг присоединения его к тому?
Мэтт

На самом деле, я думаю, что консольный инструмент для создания снимков AMI делает то же самое, что и веб-консоль. Где ваши ошибки описания немного о вложениях. Если вы создаете моментальный снимок экземпляра, да, снимок создается из корневого тома, но более того, этот моментальный снимок становится AMI. Обычный снимок, который вы делаете в том и присоединяете к экземпляру. Снимок экземпляра, который вы делаете в экземпляр (вы не присоединяете том к экземпляру, это ЕСТЬ экземпляр). Имеет ли это смысл?
Калеб

Всякий раз, когда я говорил «консоль», я имел в виду веб-консоль. Я еще не играл с командной строки API или что-нибудь еще. Я думаю, что меня смущает то, что вы создаете EBS AMI из экземпляра и создаете моментальный снимок из тома, но кажется, что том является EBS AMI. Затем, чтобы создать новый экземпляр, вы можете либо: 1) запустить его из созданного AMI, либо 2) скопировать снимок на том и запустить AMI, подключенный к этому тому, но в итоге результат будет тем же. Это правильно?
Мэтт

Вы были в порядке до тех пор, пока «похоже» часть не перестанет соответствовать реальности. Особенно последняя часть (твоя 2) - это чепуха. Вы не привязываете AMI к объемам. AMI с поддержкой EBS - это специально помеченные тома, которые являются загрузочными. Тома привязаны к экземплярам, ​​а не наоборот.
Калеб

2
Когда вы снимаете что-то, кроме корневого диска. У меня есть много дисков, которые хранят наборы данных, которые не являются частью какого-либо компьютера. Если вы делаете снимок системного диска / корневого диска, используйте инструменты создания EBS AMI. Но иногда у вас есть другие тома с другими наборами данных, которые могут или не могут быть присоединены к данной системе. Те, что вы можете сделать снимок в свободное время. Автоматический снимок будет сделан, если он будет прикреплен к экземпляру, который вы снимаете, но вы также можете иногда создавать свой собственный ... скажем, дублировать диск и привязать его к другому экземпляру.
Калеб

9

Я думаю, давайте сделаем это просто. Создайте шаблон AMI из существующего экземпляра (скажем, экземпляр № 1. Обратите внимание, что при создании шаблона AMI у вас также будет снимок тома, загляните в раздел снимка. Если вы хотите создать новый экземпляр, выберите только что созданный Шаблон AMI, он будет выбирать моментальный снимок во время создания шаблона AMI.

Теперь, если вы создавали снимки с тома экземпляра # 1, все в порядке. Создайте новый экземпляр из шаблона AMI, затем отключите том, который был автоматически создан для него, а затем присоедините том, созданный из моментальных снимков, к тому экземпляра # 1.


2

Подводя итог вещи:

  • EBS = сервис AWS

  • EBS Volume = воспринимайте это как жесткий диск, который вы можете подключить к экземпляру EC2

  • Снимок = копия вашего тома на определенный момент времени

  • AMI = копия полного экземпляра


0

В дополнение к вышеприведенным объяснениям, вот пример, чтобы прояснить все это.

Допустим, к вашему «экземпляру EC2 I1» подключены два тома EBS - том EBS V1a и том EBS V1b.

Теперь, если вы создадите образ AMI из EC2-экземпляра I1, вы получите -

а. Образ AMI экземпляра I EC2, назовем его AMI1

б. Снимок тома EBS V1a, назовем его S1

с. Снимок тома EBS V1b, назовем его S2

Затем, если вы запустите новый экземпляр из образа AMI1, вы получите -

а. Новый экземпляр EC2, назовем его I2

б. Новый том EBS, сгенерированный из Snapshot S1, назовем его V2a

с. Новый том EBS, сгенерированный из Snapshot S2, назовем его V2b

Подвести итог -

  1. Образ AMI создает снимок (и) тома (ов), которые прикреплены к исходному экземпляру (из которого создается AMI)

  2. Новый экземпляр, запущенный из образа AMI, создает том (ы) из снимков, прикрепленных к этому AMI.

Я объяснил это подробно в http://zilhaz.com/ebs-ami-aws-ec2/

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.