Help us understand the problem. What is going on with this article?

AWS EC2のNameタグをインスタンスのホスト名として設定する方法

More than 1 year has passed since last update.

前提条件

  • curlとawscliが当該インスタンスにインストールされていること
  • 当該インスタンスにec2 describe-instances可能なIAMロールが設定されていること
#!/bin/sh
TMPDIR=/tmp

# 自分自身(インスタンス)のIDを取得する
curl 'http://169.254.169.254/latest/meta-data/instance-id' > ${TMPDIR}/instance-id.txt

# 自分自身(インスタンス)のホスト名を取得する
aws ec2 describe-instances \
--query 'Reservations[].Instances[].{Name:Tags[?Key==`Name`].Value}' \
--filter "Name=instance-id,Values=`cat ${TMPDIR}/instance-id.txt`" \
| jq -r .[0].Name[0] > ${TMPDIR}/hostname.txt

# ホスト名をセットする
hostname `cat ${TMPDIR}/hostname.txt`
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away