Развертывание на EC2

Этот вопрос для тех, кто действительно использовал Amazon EC2. Я изучаю, что потребуется, чтобы развернуть там сервер.

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

Сложность заключается в том, что если я действительно захочу внести изменения в конфигурацию моего работающего сервера, они не будут постоянными.

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

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

Итак, мой вопрос... Что бы вы сделали? Как выглядит ваша конфигурация? Какие были особые проблемы, которых вы, возможно, не ожидали?


person Jonathan Hawkes    schedule 26.06.2009    source источник


Ответы (8)


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

Основная проблема, которую я не видел в EC2, — это время запуска экземпляра, особенно в Windows. Для запуска экземпляров Linux требуется от 5 до 10 минут, но я видел, что экземпляры Windows требуют до 40 минут; это может быть проблемой, если вы хотите выполнять динамическую балансировку нагрузки и запускать новые экземпляры при увеличении нагрузки.

person gareth_bowles    schedule 19.08.2009
comment
Обратите внимание, что в настоящее время (через 4 года после публикации этого ответа) время загрузки составляет всего пару минут. - person Julian; 22.03.2013
comment
Я реализовал PHP-скрипт, который автоматически развертывает изменения кода во всех экземплярах EC2 всякий раз, когда вы отправляете их в репозиторий. github.com/droidlabour/aws_autoscaling_code_deployer - person droidlabour; 18.02.2014

Мы развернули крупномасштабное коммерческое приложение в среде AWS.

Существует три основных подхода к управлению вашими изменениями после запуска сервера, каждый из которых мы используем в разных ситуациях:

  1. Сохраните изменения в системе контроля версий. Имейте сценарий, который является частью вашего исходного образа, который может вытащить самое последнее и самое лучшее. Вы можете получить PHP-код, настройки Apache и все, что вам нужно. Если вам нужно перезапустить свой экземпляр из вашего AMI (Amazon Machine Image), просто запустите свой скрипт, чтобы получить последний код и конфигурацию, и все готово.
  2. Используйте EBS (эластичное блочное хранилище). EBS похож на большой внешний жесткий диск, который вы можете подключить к своему экземпляру. Даже если ваш экземпляр исчезнет, ​​EBS останется. Если впоследствии вам понадобятся два (или более) идентичных экземпляра, вы можете предоставить каждому из них доступ к тому, что вы сохраняете в EBS. См. https://stackoverflow.com/a/3630707/141172.
  3. Записывайте новый AMI после каждого изменения. Существует инструмент для создания нового AMI из работающего экземпляра. Если EBS похож на внешний жесткий диск, то создание нового AMI похоже на наличие DVD-R. Вы можете сохранить в нем текущее состояние вашей машины. В следующий раз, когда вам нужно будет запустить новый экземпляр, создайте его на основе этого нового AMI. Хорошо пойти.
person Eric J.    schedule 20.07.2009

Я бы посоветовал лучше всего просто «попробовать». Плата за запуск небольшого экземпляра невелика, а скорость передачи данных очень низкая — я переместил довольно много ГБ, и моя плата за передачу данных по-прежнему составляет менее доллара (!) в первый месяц. Скорее всего, в конечном итоге вы будете платить в основном за системное время, а не за данные, как я подозреваю.

Я еще не развернул, но запустил экземпляр, перенес его с Ubuntu 8.04 на 8.10, попробовал разные настройки безопасности порта, увидел, какие попытки доступа предпринимали неизвестные люди (в основном в поисках phpadmin), провел некоторое тестирование и в общем экспериментировал с конфигом и перезапуском компов развертываю. Это была хорошая прелюдия к моему окончательному развертыванию. Я не буду начинать с большой БД, поэтому сначала буду придерживаться стандартного пространства инстансов EC2.

Единственный негатив, который я слышал, это то, что некоторые спамеры сделали некоторые диапазоны IP-адресов объектами блокировки спама, но еще не подтвердили это.

person timbo    schedule 26.06.2009
comment
Согласованный. цена достаточно низкая, чтобы просто попробовать. Насчет спам-блокировки это правда. Я попытался запустить почтовый сервер в EC2, но большинство диапазонов IP оказались в черном списке. Мне пришлось перенаправить на смарт-хост, не внесенный в черный список, в другой сети, что лишило меня цели. - person Martijn Heemels; 06.08.2009

Ваш подход к виртуальной коробке я предложу вам после того, как вы лучше познакомитесь с инфраструктурой EC2. Я предлагаю вам перейти на EC2, открыть учетную запись и следовать руководству Amazon по началу работы с EC2. Это руководство даст вам достаточно информации обо всем (EBS, IP, ПОДКЛЮЧЕНИЯ и др.), чтобы вы могли начать работу. В настоящее время мы используем EC2 для производства, и то, как мы начали, было таким, как я объясняю здесь.

Я надеюсь, что вы скоро станете облачным экспертом.

person Geo    schedule 26.06.2009

По словам Тимбо, мне удалось получить IP-адрес, который до сих пор не фигурировал в списках спама. У вас будет несколько сбоев, поскольку многие черные списки технически являются белыми списками и будут иметь каждый IP-адрес в своем списке, пока не будет получено иное уведомление о том, что почтовый сервер работает на этом IP-адресе. Его действительно легко удалить, у большинства из них есть автоматизированные формы запросов на удаление, и каждый, кто этого не делает, очень сотрудничает в удалении меня из своих списков. Просто будьте профессиональны, спросите, могут ли они указать время и причину блокировки и какие шаги вы должны предпринять, чтобы удалить свой IP. Все службы, которым я писал по электронной почте, никогда не просили меня прыгать через какие-либо обручи, в течение двух или трех рабочих дней они все сообщили мне, что мой IP был удален.

Тем не менее, если вы планируете запустить почтовый сервер, я бы порекомендовал зарезервировать IP-адреса сейчас. Они стоят 1 цент за каждый час, когда они не привязаны к экземпляру, поэтому получается около 7 долларов в месяц. Я пошел вперед и зарезервировал дополнительный, так как планирую вскоре запустить еще один экземпляр.

person Spencer Ruport    schedule 27.06.2009

Я развернул некоторые простые вещи в экземплярах EC2 Win2k3. Вот мой совет:

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

Когда я баловался с EC2, думаю, я потратил около 2 долларов на настройку сервера и какое-то время играл с ним.

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

Просто пойти на это!

person Tad Donaghe    schedule 26.06.2009

Что касается опасений по поводу занесения почтовых серверов в черный список, вы также можете использовать Amazon Simple Email Service (SES), который избавляет от необходимости запускать почтовый сервер на экземплярах EC2.

person Atonewell    schedule 18.12.2011

У меня тоже были проблемы с этим, но я разместил заметку здесь, на их форумах - https://forums.aws.amazon.com/thread.jspa?threadID=80158&tstart=0

person Mike Gifford    schedule 15.11.2011