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

Как задать уникальное значение имени хоста в экземпляре AWS ec2 в группе автомасштабирования?

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

Я ищу метод, который

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

bootcmd:
    - "HOSTNAME_PREFIX='{{ app_id }}'"
    - "REGION_NAME=`/usr/bin/curl -s http://169.254.169.254/latest/meta-data/instance-id`"
    - "INSTANCE_ID=`/usr/bin/curl -s http://169.254.169.254/latest/meta-data/instance-id`"
    - "echo $HOSTNAME_PREFIX'-'$INSTANCE_ID > /etc/hostname; hostname -F /etc/hostname"

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

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

Есть ли лучший подход к этому?

Как вы определяете «лучше»?

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