我想了解设置自动缩放组中 Ec2 实例的主机名的最佳做法是什么。
我正在寻找一种方法
- 在 sysadmin/devops 世界中通常可以接受。
- 当一个新的操作接管它时不会带来惊喜的面孔。
- 允许我设置一个唯一的主机名/机器名,以便在监控中,我有一个唯一的资产来监控
我要采用的当前方法是 - 在 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"
这在可以动态创建实例的自动缩放组中尤其重要。尽管我们应该将服务器视为牛,但我认为唯一的主机名至少有助于更好地识别服务器。有更好的方法吗?
这或多或少是我采取的方法。在主机名中包含实例 ID 非常有意义,因为这样可以很容易地识别正在运行的服务器并将其与 Web 控制台或其他 API 命令中的实例相关联。
你对“更好”的定义是什么?
如果它适合你,那就去吧。实例 ID 在帐户中保证是唯一的,并且您已经有了使用这些 ID 的解决方案,所以听起来您已经准备就绪。