ec2 public-hostname при перезагрузке экземпляра - PullRequest
4 голосов
/ 07 сентября 2011

Мне нужно получить публичное имя хоста экземпляра, чтобы запустить службу при перезагрузке. Когда я использую 'ec2-метаданные', я не получаю информацию, когда помещаю вызов в @reboot в crontab. Так как же мне решить эту проблему? Спасибо.

Ответы [ 5 ]

0 голосов
/ 11 марта 2014

В терминале введите это, чтобы получить публичный IP-адрес

curl ifconfig.me
0 голосов
/ 04 мая 2013

С помощью этой команды вы можете создать сценарий оболочки

publicdns=$(curl http://169.254.169.254/latest/meta-data/public-hostname)

, который будет хранить публичное имя хоста вашего ec2 в переменной $ publicdns.Затем вы также можете запустить скрипт, какие бы команды вам ни понадобились.Запланируйте скрипт для запуска @reboot с помощью cron.

0 голосов
/ 08 сентября 2011

Правильное решение - не использовать cron, а поместить скрипт в /etc/profile.d

.
0 голосов
/ 23 апреля 2013

Предположим, Ubuntu для ОС.

Я бы попробовал подключить его к событию запуска менеджера сети.

0 голосов
/ 07 сентября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...