我想找出设置自动缩放组中的 Ec2 实例主机名的最佳实践是什么。
我正在寻找一种方法
- 在 sysadmin/devops 领域中通常是可以接受的。
- 当新的行动接管它时,不会带来惊讶的面孔。
- 允许我设置一个唯一的主机名/机器名,以便在监控时,我有一个唯一的资产要监控
我目前采用的方法是 - 将所需的主机名作为 AWS 中 cloud init 格式的用户数据的一部分传递 - 使用 cloud init 通过启动命令为主机名添加当前实例 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"
在自动缩放组中,当可以动态创建实例时,这一点尤其重要。尽管我们应该将服务器视为牲畜,但我认为唯一的主机名至少有助于更好地识别服务器。有没有更好的方法?
答案1
这或多或少是我采用的方法。将实例 ID 包含在主机名中非常有意义,因为这使得在 Web 控制台或其他 API 命令中识别和关联正在运行的服务器与实例变得非常容易。
有没有更好的方法呢?
你对“更好”的定义是什么?
如果它对你有用,那就用它吧。实例 ID 保证在帐户内是唯一的,并且你已经有了使用这些 ID 的解决方案,所以听起来你已经准备好了。