以前、cloud-initでEBSのリサイズを起動時に自動で行う(CentOS6)の記事を紹介しましたが、
cloud-initは他にも起動時に自動でできる処理があり、今回は/etc/hostsにホスト名を追加する
設定方法を紹介します。
(上記でcloud-initが導入済みとします)

○/etc/hostsの確認

通常通りのものが入っています。

# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost

○/etc/cloud/cloud.cfgの設定

/etc/hostsファイルにホスト名を追加するにはupdate_etc_hostsです。

# cat /etc/cloud/cloud.cfg
manage_etc_hosts: localhost

cloud_init_modules:
- resizefs
- update_etc_hosts

...

○EC2をリブート

# reboot

○/etc/hostsの再確認 127.0.1.1としてホスト名が追加されています。

# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
# Added by cloud-init
127.0.1.1 ip-10-0-32-143.localdomain ip-10-0-32-143

○ログの確認

# cat /etc/cloud/cloud.cfg
...
Dec 27 12:11:40 ip-10-0-32-143 [CLOUDINIT] cloud-init[INFO]: cloud-init start running: Thu, 27 Dec 2012 03:11:40 +0000. up 8.96 seconds
Dec 27 12:11:40 ip-10-0-32-143 [CLOUDINIT] __init__.py[DEBUG]: searching for data source in ['DataSourceNoCloudNet', 'DataSourceConfigDriveNet', 'DataSourVFNet', 'DataSourceEc2']
Dec 27 12:11:40 ip-10-0-32-143 [CLOUDINIT] DataSourceEc2.py[DEBUG]: removed the following from metadata urls: ['http://instance-data:8773']
Dec 27 12:11:40 ip-10-0-32-143 [CLOUDINIT] DataSourceEc2.py[DEBUG]: Using metadata source: 'http://169.254.169.254'
Dec 27 12:11:40 ip-10-0-32-143 [CLOUDINIT] DataSourceEc2.py[DEBUG]: crawl of metadata service took 0s
Dec 27 12:11:40 ip-10-0-32-143 [CLOUDINIT] __init__.py[DEBUG]: found data source DataSourceEc2
Dec 27 12:11:40 ip-10-0-32-143 [CLOUDINIT] cloud-init[DEBUG]: found data source: DataSourceEc2
Dec 27 12:11:40 ip-10-0-32-143 [CLOUDINIT] __init__.py[DEBUG]: handling resizefs with freq=None and args=[]
Dec 27 12:11:40 ip-10-0-32-143 [CLOUDINIT] cc_resizefs.py[DEBUG]: resizing root filesystem (type=ext4, maj=202, min=65)
Dec 27 12:11:40 ip-10-0-32-143 [CLOUDINIT] __init__.py[DEBUG]: handling update_etc_hosts with freq=None and args=[]
Dec 27 12:11:40 ip-10-0-32-143 [CLOUDINIT] cc_update_etc_hosts.py[DEBUG]: managing 127.0.1.1 in /etc/hosts
...

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら