以前紹介した「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のテンプレートに組み込むことも可能です。

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