Назад | Перейти на главную страницу

Конфигурация EC2

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

Я пытаюсь решить, что лучше:

  1. Храните БД MySQL в отдельном экземпляре
  2. Храните базу данных MySQL на присоединенном томе EBS (насколько я знаю, автоматическое масштабирование не будет реплицировать присоединенный том EBS, но будет генерировать новые экземпляры из выбранного AMI - это представление правильное?)

Что касается AMI, я планирую использовать базовый 64-разрядный AMI Amazon linux и установить bastille (возможно, OSSEC), но я также хочу использовать зашифрованную файловую систему.

  1. Есть ли какие-либо проблемы с использованием зашифрованной файловой системы и связи между БД и веб-приложением, о которых мне нужно знать?
  2. Существуют ли какие-либо проблемы со связью с использованием зашифрованной файловой системы на экземпляре, в котором размещено веб-приложение
  3. Я собирался запустить второй экземпляр или присоединить второй том во второй зоне доступности, чтобы действовать как резерв для базы данных - я просто ищу несколько предложений о том, как заставить две БД разговаривать - это будет большой задача
  4. Что касается обновлений для безопасности, лучше всего создать недавний снимок и просто перезапустить и позволить Amazon устанавливать обновления при запуске, или механизм обновления yum является подходящей альтернативой - лучше ли перезапускать вместо установленных обновлений, которые вызывают перезапуск.
  5. Я планирую создать два снимка AMI, один для сервера приложений и один для БД, каждый с одинаковыми мерами безопасности - это разумно - я просто считаю, что это лучшая политика, чем включение дополнительных приложений, которые не нужны, в AMI что я собираюсь использовать.
  6. Мой план резервного копирования - создавать периодические снимки экземпляров webapp и DB (если я использую дополнительный том EBS вместо отдельных экземпляров, я понимаю, что том EBS будет сохраняться в хранилище S3 в случае неожиданного завершения, и я могу создать снимки резервной копии тома).

Заранее благодарим за предложения и советы. Я новичок в EC2 и, возможно, описал ненужное излишество, но я хочу попробовать реализовать то, что можно считать лучшим практическим решением, поэтому все советы приветствуются.

По возможности база данных должна находиться в выделенном экземпляре. Это позволит вам управлять этим сервером независимо от любых других серверов, которые у вас могут быть (добавить дисковое пространство, заменить сервер и т. Д.).

База данных также должна быть помещена на отдельный том EBS от корневого тома. Это позволяет вам настроить новый сервер и легко «переместить» данные в новый экземпляр.

Я бы не стал применять AutoScaling к вашей базе данных. AutoScaling создает новые экземпляры из образов AMI, которые наверняка будут устаревшими в отношении ваших данных. У вас могут быть все другие экземпляры, запускаемые AutoScaling, для использования вашей единой базы данных.

Вы можете использовать репликацию MySQL для репликации данных на подчиненный экземпляр в другой зоне доступности. Видеть http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html

Подчиненные экземпляры имеют множество применений:

  • Оставьте его в режиме ожидания на случай, если основной сервер выйдет из строя
  • Выполнение операций только для чтения на ведомом устройстве, чтобы уменьшить нагрузку на основной сервер
  • Резервное копирование ведомого устройства вместо основного, чтобы избежать блокировок таблиц и / или других проблем с доступом к базе данных.