Термінологія Amazon EC2 - AMI проти EBS проти Snapshot vs. Volume


127

Я роздумував Amazon EC2, і я трохи розгублений у частині термінології. Зокрема, стосовно AMI, знімків та обсягів та EBS

Будь ласка, виправте мене, якщо я помиляюся, або заповніть будь-які серйозні прогалини в моїх наступних заявах:

  • AMI (Amazon Machine Image) - це повне "дискове" захоплення операційної системи та конфігурації. Коли ви запускаєте екземпляр, ви запускаєте його з AMI

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

  • Знімок - це ... ну, я не впевнений. Я можу лише припустити, що це знімок конкретного екземпляра, але мені незрозуміло, чим це відрізняється від стану, що зберігається в EBS. Чим знімок відрізняється від створення EBS AMI з існуючого екземпляра?

  • Об'єм - це, здається, змонтований простір на диску, в який завантажується пара AMI / EBS? Я не впевнений і в цьому. Я бачу (з консолі AWS), що ви можете створити том із знімка, і що ви можете прикріпити / від'єднати томи, але мені незрозуміло, чому або коли ви це зробите.

Відповіді:


150

Як зазначаєте, AMI - це зображення машини. Це загальний знімок системи, що зберігається як зображення, яке можна запустити як екземпляр. Ми повернемося до AMI через секунду.

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

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

Знімки - це ... ну ... знімки томів: точне відображення того, як виглядав обсяг у конкретний момент часу, включаючи всі його дані. Ви можете мати об'єм, додати його до свого примірника, заповнити ним речі, а потім зробити знімок, але продовжуйте використовувати його. Зміст гучності буде постійно змінюватися, коли ви використовували його як файлову систему, але знімок буде вчасно заморожено. Ви можете створити новий том, використовуючи цей знімок як основу. Новий том буде виглядати так, як ваш перший диск, коли ви зробили знімок. Ви можете почати використовувати новий том замість старого для відкату даних або, можливо, приєднати ті самі набори даних до другої машини. Ви можете продовжувати робити знімки томів у будь-який момент часу. Це як резервна копія екземпляра freeze-frame, яку потім легко можна перетворити на новий живий диск (том), коли вам це потрібно.

Тож обсяги можуть базуватися на новому порожньому просторі або на знімку. Зрозумів? Томи можна приєднувати та від'єднувати від будь-яких екземплярів, але підключати їх до одного примірника за раз, як і фізичний диск, для якого вони є віртуальною абстракцією.

Тепер повернемося до AMI. Вони складні, оскільки є два типи. Створюється ефемерні випадки, коли система кореневих файлів виглядає як привід до комп’ютера, але насправді десь сидить у пам'яті та випаровує хвилини, коли вона перестає використовуватись. Інший вид називається примірником, підтримуваним EBS. Це означає, що коли ваші екземпляри завантажуються, він завантажує свою кореневу файлову систему на новий об'єм EBS, в основному накладаючи технологію віртуальної машини EC2 над їхньою технологією EBS. Звичайний том EBS - це те, що сидить поруч із EC2 і може бути приєднаний, але примірник, підтримуваний EBS, також є самим томом.

Звичайний AMI - це просто великий фрагмент даних, який завантажується як машина. AMI, що підтримується EBS, завантажується на об'єм EBS, тому ви можете вимкнути його, і він запуститься назад з того місця, де ви залишилися так, як справжній диск.

Тепер складіть це все разом. Якщо екземпляр підтримується EBS, ви також можете зробити його знімок. В основному це робить саме те, що робив би звичайний знімок ... заморожуючи кадр кореневого диска вашого комп’ютера на момент часу. На практиці це робить дві речі по-різному. Одне - це вимкнення вашого примірника, щоб ви отримали копію диска, як це виглядатиме на ВИМКНЕНОМУ комп’ютері, а не на ВКЛ. Це полегшує завантаження :) Отже, коли ви знімаєте екземпляр, він закриває його, робить знімок диска, а потім запускається знову. По-друге, це зберігає зображення як AMI, а не як звичайний знімок диска. В основному це завантажувальний знімок обсягу.


1
Дякую за чудову інформацію, я думаю, що вона збирається для мене. Подальше запитання: у чому різниця між тим, як зробити знімок EBS AMI порівняно з клацанням правою кнопкою миші та вибором 'Create Image (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 Volume V1a та EBS Volume V1b.

Тепер, якщо ви створите зображення AMI від EC2 Instance I1, ви отримаєте -

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

б. Знімок EBS Volume V1a, назвемо його S1

c. Знімок EBS Volume V1b, назвемо його S2

Потім, якщо ви запустите новий екземпляр із зображення AMI1, ви отримаєте -

а. Новий екземпляр EC2, назвемо це I2

б. Новий об'єм EBS, створений на знімку S1, назвемо його V2a

c. Новий об'єм EBS, створений на знімку 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.