2014-02-07 3 views
0

Я создаю скрипт init.d, который запускает несколько задач при запуске экземпляра.EC2 init.d script - лучшая практика

  • он создаст новый том с нашим репозиторием кода и смонтирует его, если он еще не существует.
  • будет помечать экземпляр

Задачи выше быть полным будет иметь решающее значение для нашего сайта (т.е. без хранилища кода установлен сайт не будет работать). Как я могу убедиться, что сервер не станет общедоступным? Должен ли я запускать скрипт init.d с деинсталляции экземпляра из ELB (я даже не уверен, что он будет зарегистрирован в этой точке), а затем зарегистрировать его снова, когда все задачи будут успешно завершены? Что такое лучшая практика? Спасибо!

ответ

1

У вас должна быть проверка работоспособности вашего ELB. Таким образом, ваш сервер не должен входить, если он не сообщает, что он счастлив. И он не должен сообщать об этом, если скрипт загрузки ошибки.

(Кроме того, вы должны смотреть в использовании облачных сохр. Таким образом, вы можете изменить сценарий загрузки без создания нового AMI.)

1

Вместо этого я предлагаю использовать CloudFormation. Вы можете создать полный стек вашей системы, представив его в шаблоне формата JSON.

Например, вы можете создать автомасштаб группу, которая имеет экземпляры с уникальными метками и экземплярами прикрепили другой объем (который предположительно имеет свой код)

Вот пример шаблон JSON прикрепление объема EBS к экземпляру :

https://s3.amazonaws.com/cloudformation-templates-us-east-1/EC2WithEBSSample.template

а вот многие другие шаблоны JSON, которые можно использовать для руководства и развертывания вашей конкретной стека и приложения.

http://aws.amazon.com/cloudformation/aws-cloudformation-templates/

Конечно, вы можете сделать то же самое с помощью init.d сценария или с помощью файла rc.local в вашем случае, но я считаю CloudFormation является экологически чистым решением с внешней стороны (не внутри экземпляра)

Вы также можете написать свой собственный сценарий, который поднимает ваш стек извне, заново изобретая колесо.

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

+0

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