Масштабирование экземпляра EC2 с обновленным кодом

У меня есть экземпляр EC2, на котором работает веб-сайт PHP, я также использую политики масштабирования AWS, что означает, что при выполнении определенных условий создается новый экземпляр.

Проблема в том, что AMI порождается старым кодом AMI.

Предположим, я создал instance1 с AMI X, Теперь я обновляю код на instance1 время от времени. Теперь, когда создается новый экземпляр, он создается с кодом AMI X, а не с обновлениями, которые я сделал.

Каково решение для текущего сценария, кроме ручного обновления AMI каждый раз?

0

Решение

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

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

Есть несколько вариантов, если вы хотите, чтобы будущие экземпляры имели обновленный код:

  • Обновите код, затем создать новый AMI. Начните будущие экземпляры с нового AMI.
  • Использовать скрипт запуска в поле «Данные пользователя», чтобы загрузить код из центрального хранилища. Таким образом, код на самом деле не хранится в AMI. Его можно загружать заново каждый раз, когда запускается экземпляр.
  • Использовать утилита управления конфигурацией такие как Puppet или Chef для настройки вашей системы, извлекая код из центрального репозитория.

Ключ заключается в том, чтобы автоматизировать ваши процессы, чтобы не требовалось ручного участия, когда вы хотите развернуть обновления.

0

Другие решения

Других решений пока нет …