Прямо сейчас у меня есть установка с балансировщиком нагрузки, который запускает новые экземпляры сервера (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