如何将AWS ec2实例中的主机名设置为自动调整组中的唯一值?

我想找出设置自动缩放组中Ec2实例的主机名的最佳做法。

我正在寻找一种方法

  • 通常在系统pipe理员/ devops世界中是可以接受的。
  • 当一个新的操作系统接pipe它时,不会带来惊奇的表情。
  • 允许我设置一个唯一的主机名/机器名称,以便在监视时,我有一个独特的资产来监视

目前我正在做的方法是 – 在AWS中以初始化格式将所需主机名作为用户数据的一部分传递 – 使用云初始化通过启动cmd使用当前实例ID后缀主机名

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" 

当在自动缩放组中时,可以即时创build实例时,这一点尤为重要。 尽pipe我们应该把服务器视为牛,但我认为唯一的主机名至less有助于更好地识别服务器。 有没有更好的方法呢?

这或多或less是我所采取的方法。 将实例标识包含在主机名中非常有意义,因为这样可以很容易地将运行中的服务器与Web控制台或其他API命令中的实例相关联。

有没有更好的方法呢?

你对“更好”的定义是什么?

如果它适合你,就随它去吧。 实例ID在帐户中保证是唯一的,并且您已经有了使用这些ID的解决scheme,所以听起来就像是所有的设置。