2012-02-15 2 views
14

Я только начинаю работу с AWS EC2 и не совсем уверен, что я это понимаю.Мне нужна помощь, дублирующая экземпляры Amazon AWS EC2

Из того, что я прочитал, экземпляр, в основном, является виртуальным сервером, и вы должны как-то «дублировать» этот виртуальный сервер из консоли AWS. Затем используйте Load Balancer или Elastic IP для маршрутизации запросов к одному или другому.

Проблема возникает, когда я пытаюсь «дублировать» свой экземпляр. Я попробовал миллион вещей, но единственное, что меня закрыло, это создать AMI моего текущего экземпляра, а затем запустить экземпляр из этого, но когда я это сделал, новый экземпляр был в основном конфигурацией сервера по умолчанию. Ни один из моих файлов не был там.

Что я делаю неправильно?

+1

Где вы храните файлы, что вы ожидаете быть частью AMI? На самом экземпляре или на томе EBS? – Daan

ответ

2

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

Это создает моментальный снимок вашего изображения, как сейчас. Затем, когда вам нужно добавить больше энергии, вы можете просто запустить этот ami и иметь балансировку нагрузки, чтобы распределить трафик между этими ами.

На стороне примечания, если это действительно необходимо, я бы не предложил вам хранить данные на ami, если он изменился, и вы планируете использовать его на другом запущенном ами. Вы в значительной степени должны будете делать снимки ami, чтобы обновить его новыми данными, поэтому вместо этого укажите способ сохранения состояния в другом месте (не уверены в ваших данных, но вы можете рассмотреть базу данных, s3 или другой сервер, который эти серверы могут монтироваться для получения одинаковых данных).

Надеюсь, что это поможет!

+0

Спасибо! Таким образом, ваша рекомендация заключалась бы в том, чтобы сохранить мой код (я использовал Amazon's «Один экземпляр экземпляра EC2 Instance с шаблоном базы данных Amazon RDS для запуска») на S3, а затем смонтировал его каким-то образом в AMI? Как бы я это сделал? Извините, в первый раз, используя AWS, и это сбивает с толку. –

+1

Да, вот что я делаю. Существует так много способов сделать это, если вы используете google s3 access ___ (вставьте здесь свой язык программирования), вы найдете для этого инструменты. Если вам это не нравится, вы можете использовать другие инструменты для автоматической синхронизации с s3 (вне вашей программы). Лично я не использую s3, я использую github, чтобы вытаскивать новый код каждый раз, когда запускаются мои приложения. – Lostsoul

+0

Это действительно путано, я предлагаю вам начать с микро-экземпляра (это будет slooow, но дешево) и экспериментировать. Помните, что если вы что-то испортили, вы всегда можете прекратить действие экземпляра и начать все заново. – Lostsoul

11

Вы действительно не дублируете экземпляр. Вы больше копируете его как «план». Затем, когда вы загружаете экземпляр позже, вы можете скомпоновать этот экземпляр вашего моментального снимка или «чертежа».

ELB может быть настроен так, чтобы указывать на любой экземпляр, который вы хотите, поэтому при загрузке нового сервера с этого моментального снимка/«чертежа» его можно автоматически добавить в ELB.

Теперь, когда прояснилась, чтобы ответить на вопрос:

  1. Я хотел бы убедиться в использовании EBS при поддержке экземпляров. Вы можете найти их повсюду. Но не поддержка S3. Если они будут поддерживаться EBS, тогда будет установлен точный том со всеми вашими конфигурациями.

  2. Я бы удостоверился, что ваш экземпляр настроен так, как вам нравится, и имеет надлежащие скрипты, установленные для загрузки. Вы хотите, чтобы ваши службы запущены, файлы конфигурации вытащили из репозиториев и т. Д. Конфигурационные файлы должны быть там, но я бы не стал полагаться на это. Если у вас их есть в репозитории, а затем создайте сценарий запуска, чтобы вытащить их и скопировать, где вы хотите, вы окажетесь в лучшей форме.

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

  4. Экземпляр перезагрузится. Так что будь осторожен.

  5. Запустить новый экземпляр. И выберите AMI/Snapshot, созданный # 3.

  6. Выполнено. Проверьте это https://stackoverflow.com/a/8919031/667608, что может помочь в этом.

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

+0

Что может пойти не так с перезагрузкой в ​​шаге 4? –

+2

Если вы используете экземпляр в производстве и т. Д. Теперь у Amazon есть возможность не перезагружаться, но это не гарантирует, что тома не будут повреждены. Я бы использовал этот параметр только в том случае, если вы знаете, что во время перезагрузки на диске не так много процессов. – chantheman

+1

Все, что работает на нем, будет мертвым при перезагрузке – chantheman

0

Создайте веб-сервер AMI с использованием экземпляра с поддержкой EBS. Это будет служить вашим шаблоном для запуска нескольких экземпляров веб-сервера позже.

Для кодов приложений, в зависимости от вашей стратегии и количества передаваемых файлов, вы можете вытащить их из S3 или git или, возможно, с помощью централизованной файловой системы, такой как NFS.

Настройте ELB, добавьте к нему один или несколько экземпляров веб-сервера. CNAME публикуйте свои электронные сообщения на своем сайте www.domain.com.

Смежные вопросы