Развертывание на EC2
-
20-08-2019 - |
Вопрос
Этот вопрос предназначен для всех, кто действительно использовал Amazon EC2.Я изучаю, что потребуется для развертывания там сервера.
Похоже, я могу начать с VirtualBox, настроить сервер, а затем экспортировать изображение с помощью предоставленных инструментов ec2.
Сложность заключается в том, что если я действительно захочу внести изменения в конфигурацию моего работающего сервера, они не будут постоянными.
У меня есть некоторый PHP-код, который мне нужно развернуть (и повторно развернуть) в системе, поэтому я подумал, что EBS будет здесь хорошим выбором.
У меня есть огромный объем данных, которые мне нужно сохранить, но так получилось, что задержка не является проблемой, поэтому я подумал, что что-то вроде s3fs может сработать.
Итак, мой вопрос...Что бы вы сделали?Как выглядит ваша конфигурация?Какие особые трудности вы, возможно, не предвидели?
Решение
Я рекомендую хранить ваш PHP-код в репозитории, например SVN, и написать сценарий, который проверяет последний код из репозитория и повторно развертывает его, когда вы хотите обновить его.Вы также можете запустить этот сценарий при запуске экземпляра, чтобы получать последний код при каждом запуске нового экземпляра;экономит на необходимости каждый раз создавать новый AMI.
Основная проблема, которую я не увидел в EC2, — это время запуска экземпляра, особенно в Windows.Запуск экземпляров Linux занимает от 5 до 10 минут, но я видел экземпляры Windows, занимающие до 40 минут;это может стать проблемой, если вы хотите выполнить динамическую балансировку нагрузки и запускать новые экземпляры при увеличении нагрузки.
Другие советы
Мы развернули крупномасштабное коммерческое приложение в среде AWS.
Существует три основных подхода к контролю над изменениями во время работы сервера, каждый из которых мы используем в разных ситуациях:
- Сохраните изменения в системе контроля версий.Создайте сценарий, который является частью вашего исходного изображения и может использовать самые последние и лучшие изображения.Вы можете извлечь PHP-код, настройки Apache и все, что вам нужно.Если вам нужно перезапустить свой экземпляр из AMI (образа машины Amazon), просто запустите сценарий, чтобы получить последний код и конфигурацию, и все готово.
- Используйте EBS (эластичное блочное хранилище).EBS похож на большой внешний жесткий диск, который можно подключить к своему экземпляру.Даже если ваш экземпляр исчезнет, EBS выживет.Если позже вам понадобятся два (или более) одинаковых экземпляра, вы можете предоставить каждому из них доступ к тому, что вы сохраняете в EBS.Видеть https://stackoverflow.com/a/3630707/141172
- Записывайте новый AMI после каждого изменения.Существует инструмент для создания нового AMI из работающего экземпляра.Если EBS похож на внешний жесткий диск, то создание нового AMI похоже на DVD-R.Вы можете сохранить в нем текущее состояние вашей машины.В следующий раз, когда вам придется запустить новый экземпляр, создайте его на основе этого нового AMI.Хорошо пойти.
Я бы посоветовал лучше всего просто «попробовать».Плата за запуск небольшого экземпляра невелика, а скорость передачи данных очень низкая — я переместил довольно много ГБ, а плата за передачу данных по-прежнему составляет менее доллара (!) в первый месяц.Я подозреваю, что в конечном итоге вы, скорее всего, будете платить в основном за системное время, а не за данные.
Я еще не развернул, но запустил экземпляр, перенес его с Ubuntu 8.04 на 8.10, попробовал разные настройки безопасности портов, посмотрел, какие попытки доступа предпринимали неизвестные люди (в основном в поисках phpadmin), провел некоторое тестирование и в общем экспериментировал с конфигом и перезапуском развертываемых компонентов.Это была хорошая прелюдия к моему окончательному развертыванию.Я не буду начинать с большой БД, поэтому сначала буду придерживаться стандартного пространства экземпляров EC2.
Единственный негатив, который я слышал, это то, что некоторые спамеры заблокировали некоторые диапазоны IP-адресов, но еще не подтвердили это.
Подход к использованию виртуальной коробки я предлагаю вам использовать после того, как вы поближе познакомитесь с инфраструктурой EC2.Я предлагаю вам зайти в EC2, открыть учетную запись и следовать руководству Amazon по началу работы с EC2.Это руководство даст вам достаточный обзор всех вещей (EBS, IP, СОЕДИНЕНИЯ и т. д.), чтобы вы могли начать работу.В настоящее время мы используем EC2 для производства, и мы начали с того, что я объясняю здесь.
Надеюсь, вы скоро станете экспертом по облакам.
Благодаря беспокойству Тимбо, мне удалось получить IP-адрес, который до сих пор законно не появлялся ни в каких списках спама.У вас возникнут некоторые затруднения, поскольку многие черные списки технически являются белыми списками и будут содержать каждый IP-адрес в своем списке до тех пор, пока не будет получено иное уведомление о том, что на этом IP-адресе работает почтовый сервер.Удалить его действительно легко, у большинства из них есть автоматические формы запроса на удаление, и все, кто этого не сделал, очень помогли удалить меня из своих списков.Просто будьте профессиональны, спросите, могут ли они назвать время и причину блокировки и какие шаги вам следует предпринять, чтобы удалить свой IP-адрес.Все службы, которым я писал по электронной почте, никогда не просили меня пройти через какие-либо препятствия, в течение двух или трех рабочих дней они все сообщили мне, что мой IP-адрес был удален.
Тем не менее, если вы планируете использовать почтовый сервер, я бы рекомендовал зарезервировать IP-адреса сейчас.Они платят 1 цент за каждый час, когда они не привязаны к экземпляру, поэтому получается около 7 долларов в месяц.Я пошел дальше и зарезервировал дополнительный экземпляр, так как планирую вскоре запустить еще один экземпляр.
Я развернул несколько простых вещей в экземплярах EC2 Win2k3.Вот мой совет:
Найдите учебник.Зарегистрируйтесь на сервис.Просто потратьте день на настройку своего первого сервера.Это чертовски легко, хотя придется преодолеть препятствия.Это не слишком сложно.
Когда я дурачился с EC2, думаю, я потратил около 2 долларов на настройку сервера и некоторое время поигрался с ним.
Некоторые из ваших данных будут постоянными, но вы также можете подключить S3 к EC2.
Просто пойти на это!
Что касается занесения почтовых серверов в черный список, вы также можете использовать Amazon Simple Email Service (SES), который устраняет необходимость запуска почтового сервера на экземплярах EC2.
У меня тоже были проблемы с этим, но я разместил заметку здесь, на их форуме: https://forums.aws.amazon.com/thread.jspa?threadID=80158&tstart=0