Создание образа EC2 AMI из запущенного экземпляра и из моментального снимка тома

22

Я хочу сделать резервную копию экземпляра EC2 на базе Linux, пока он работает без простоев, а затем запустить новый экземпляр. (Экземпляр работает с веб-сервером и базой данных Postgres.)

Я обнаружил, что есть два способа сделать это, но я не понимаю, в чем разница между ними.

Вариант № 1: Создать AMI прямо из работающего экземпляра:

  1. Создайте новый AMI прямо из работающего оригинального экземпляра.
  2. Запустить новый экземпляр из AMI

Вариант № 2: вручную создать AMI из снимка:

  1. Сделайте снимок с тома, прикрепленного к работающему оригинальному экземпляру
  2. Создайте AMI из снимка, вручную вводя такие детали, как архитектура и идентификатор ядра
  3. Запустите новый экземпляр из изображения, созданного вручную

Теперь то, что сбивает с толку, заключается в том, что при создании AMI прямо из экземпляра EC2 перезагрузит экземпляр по умолчанию. Есть флажок «Без перезагрузки» со следующей подсказкой:

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

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

Почему у одного есть текст предупреждения, а у другого нет? Снимок работающего экземпляра считается относительно безопасным, и если создание AMI делает снимок в фоновом режиме, это опаснее, чем делать все вручную?

Vilsepi
источник

Ответы:

13

Они делают то же самое, если вы выбираете no rebootопцию при создании AMI непосредственно из EC2. Это в основном создает снимок, который потенциально может быть в несовместимом состоянии. Например, вы рискуете больше иметь несовместимое состояние, если вы делаете много операций записи на диск при создании снимка.

Если вы хотите создать снимок в «непротиворечивом» состоянии, вам сначала нужно выключить ваш экземпляр, а затем сделать снимок и затем перезапустить ваш экземпляр. Вот почему опция создания AMI из EC2 очень полезна, потому что вам не нужно останавливаться и перезапускаться. Amazon позаботится об этом, а также IP-адрес не меняется в вашем случае. (Если вы остановите / перезапустите свой экземпляр, ваш IP-адрес фактически изменится)

Я не совсем уверен, почему у Amazon нет предупреждения, если вы делаете снимок непосредственно с тома, но с точки зрения тома действительно не имеет значения, используется ли том работающим или не запущенным экземпляром ( это заботится только о том, будет ли приложение прикреплено или отключено, чтобы не создавать эффект моментальных снимков)

Рико
источник
Я согласен с тем, что вам следует создавать AMI, поскольку вы не хотите закрывать экземпляр. Вы можете найти решения, которые делают это из коробки, чтобы сэкономить время. Я лично использую totalcloud.io для автоматизации моих действий в AWS.
Вир Абхик Сингх Манхас