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

Скрипт запуска только на одном сервере в Amazon EC2

Прямо сейчас у меня есть установка с балансировщиком нагрузки, который запускает новые экземпляры сервера (debian), если это необходимо, в облаке Amazon EC2. В этой настройке у меня есть сценарий, который должен работать только на одном из этих серверов.

Наличие нескольких моментальных снимков может очень легко оказаться проблемой, когда дело доходит до обновления системы, поэтому мой вопрос в том, как мне сделать сценарий запуска, который запускается только на первом из серверов?

Можно ли получить информацию с Amazon из командной строки, которая могла бы использоваться для определения этого?

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

Пользовательские данные можно задать как часть мастера запуска в Консоли управления AWS или с помощью инструментов командной строки.

Вы можете прочитать данные пользователя из http://169.254.169.254/latest/user-data.

Полную информацию о метаданных инстанса EC2 можно найти на http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html