以前紹介した「VPCのDHCP Options SetでNTPサーバを指定する」にて、DHCPで設定ファイルのNTPサーバが
書き変わらない方法を紹介しました。
今回は、そのNTP Serverを設定するスクリプトを作成し、CloudInit(CloudFormation)を利用して起動時に自動的にNTP Serverとして構築できるようにしてみました。
実際のスクリプト(suz-lab_ntp)は下記の通りです。
# cat suz-lab_ntp
#/bin/sh
set -e
cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=on
PEERNTP=no
EOT
service network restart
cat /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
EOT
service ntpd restart
exit 0
さらに、User Dataを使ってCloudInitにて起動時に実行して設定することも可能です。
#!/bin/sh
/opt/suz-lab/share/cloud-init/component/suz-lab_ntp 2>&1 | logger -s -t suz-lab_ntp
当然、CloudFormationのテンプレートに組み込むことも可能です。