Як працюють зображення машин Amazon?


9

Я бачив багато навчальних посібників, таких як створення AMI, але я ніколи не розумів повної концепції AMI. Це посилання на екземпляр, або воно зберігається і ніколи не змінюється. Також, чи містить зображення локальне сховище та всі пакунки тощо, встановлені в цьому екземплярі, або це просто копія конфігурації конкретного екземпляра. Дякую

Відповіді:


10

У своєму найпростішому вигляді AMI - це опис віртуальної машини - типу віртуалізації, архітектури (32/64 біт), ядра та кореневого пристрою. Словами Амазонки:

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

Екземпляри EC2 - це віртуальні машини, що працюють на апараті Amazon. Для того, щоб екземпляр запустився, необхідна деяка мінімальна кількість інформації. Крім того, різні типи примірників підтримують різні конфігурації (наприклад, деякі не підтримують 32-бітні AMI).

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

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

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

Зображення посилається на це як блокове відображення пристрою - воно вказує пристрій (наприклад, / dev / sda1) та джерело даних (ефемерні (і S3 частини, якщо це доречно) або ebs-знімок). Оскільки частини S3 підписані, а ebs-знімки неможливо змінити (видалити лише), запуск екземпляра з AMI (без переосмислення його параметрів) завжди повинен призводити до екземпляра з тією ж установкою програмного забезпечення. (Зауважте, все ще можливо, щоб випадки, запущені з одного і того ж AMI, відрізнялися у своїх запущених станах через дані користувача або різні відображення блокових пристроїв (наприклад, мікропримірники не мають ефемерного сховища, тоді як інші типи примірників). Просто для того, щоб було зрозуміло тут додані томи зберігаються окремо від AMI, але AMI посилаються таким чином, що обсяги неможливо змінити.

Перш ніж запустити екземпляр з AMI, ви можете замінити блокове відображення пристрою (наприклад, щоб додати додатковий об'єм EBS або інший ефемерний об'єм, якщо тип екземпляра підтримує його). У випадку томів EBS, після запуску екземпляра, ви можете від'єднати кореневий том і приєднати зовсім інший об'єм EBS.

Отже, щоб коротко відповісти на ваші запитання: чи є посилання на екземпляр, чи він зберігається і ніколи не змінюється. Він зберігається і ніколи не змінюється.

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


Отже, вони посилаються на EBS цього примірника, тож якщо стан EBS зміниться після створення AMI, стан AMI також зміниться?
Wiz

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

3

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

Якщо ви створюєте AMI з екземпляра, ви в основному створюєте копію кореневої файлової системи цього примірника, яку згодом можна використовувати для створення нових екземплярів.

Моя відповідь тут може також допомогти: https://stackoverflow.com/a/7895489/111286

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.