Назад |
Перейти на главную страницу
Конфигурация EC2
Я пытаюсь создать структуру сервера для своей учетной записи EC2. Выбранный мною дизайн состоит из двух экземпляров, работающих в разных зонах доступности, эластичного балансировщика нагрузки, группы автоматического масштабирования с настроенным мониторингом CloudWatch и группы безопасности, определяющей правила доступа к экземплярам. Эта настройка предназначена для поддержки онлайн-веб-приложения, написанного на PHP.
Я пытаюсь решить, что лучше:
- Храните БД MySQL в отдельном экземпляре
- Храните базу данных MySQL на присоединенном томе EBS (насколько я знаю, автоматическое масштабирование не будет реплицировать присоединенный том EBS, но будет генерировать новые экземпляры из выбранного AMI - это представление правильное?)
Что касается AMI, я планирую использовать базовый 64-разрядный AMI Amazon linux и установить bastille (возможно, OSSEC), но я также хочу использовать зашифрованную файловую систему.
- Есть ли какие-либо проблемы с использованием зашифрованной файловой системы и связи между БД и веб-приложением, о которых мне нужно знать?
- Существуют ли какие-либо проблемы со связью с использованием зашифрованной файловой системы на экземпляре, в котором размещено веб-приложение
- Я собирался запустить второй экземпляр или присоединить второй том во второй зоне доступности, чтобы действовать как резерв для базы данных - я просто ищу несколько предложений о том, как заставить две БД разговаривать - это будет большой задача
- Что касается обновлений для безопасности, лучше всего создать недавний снимок и просто перезапустить и позволить Amazon устанавливать обновления при запуске, или механизм обновления yum является подходящей альтернативой - лучше ли перезапускать вместо установленных обновлений, которые вызывают перезапуск.
- Я планирую создать два снимка AMI, один для сервера приложений и один для БД, каждый с одинаковыми мерами безопасности - это разумно - я просто считаю, что это лучшая политика, чем включение дополнительных приложений, которые не нужны, в AMI что я собираюсь использовать.
- Мой план резервного копирования - создавать периодические снимки экземпляров webapp и DB (если я использую дополнительный том EBS вместо отдельных экземпляров, я понимаю, что том EBS будет сохраняться в хранилище S3 в случае неожиданного завершения, и я могу создать снимки резервной копии тома).
Заранее благодарим за предложения и советы. Я новичок в EC2 и, возможно, описал ненужное излишество, но я хочу попробовать реализовать то, что можно считать лучшим практическим решением, поэтому все советы приветствуются.
По возможности база данных должна находиться в выделенном экземпляре. Это позволит вам управлять этим сервером независимо от любых других серверов, которые у вас могут быть (добавить дисковое пространство, заменить сервер и т. Д.).
База данных также должна быть помещена на отдельный том EBS от корневого тома. Это позволяет вам настроить новый сервер и легко «переместить» данные в новый экземпляр.
Я бы не стал применять AutoScaling к вашей базе данных. AutoScaling создает новые экземпляры из образов AMI, которые наверняка будут устаревшими в отношении ваших данных. У вас могут быть все другие экземпляры, запускаемые AutoScaling, для использования вашей единой базы данных.
Вы можете использовать репликацию MySQL для репликации данных на подчиненный экземпляр в другой зоне доступности. Видеть http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html
Подчиненные экземпляры имеют множество применений:
- Оставьте его в режиме ожидания на случай, если основной сервер выйдет из строя
- Выполнение операций только для чтения на ведомом устройстве, чтобы уменьшить нагрузку на основной сервер
- Резервное копирование ведомого устройства вместо основного, чтобы избежать блокировок таблиц и / или других проблем с доступом к базе данных.