こんにちは、ひろかずです。
suz-lab CentOSでインスタンス起動時にUsarDataに仕込んだスクリプト(Deep Securityを自分で有効化する)を実行させる際に、意外とハマったのでメモを残します。

参考情報

かっぱさんのブログ:本事象を理解し、切り分ける上で非常に助けになりました。
いまさらで恐縮ですが cloud-init について勉強する(1)

Developers.IO:こちらも非常に助かりました
Amazon Linuxのcloud-initの動きについて調べてみた

Developers.IO:よく纏まっていて、参考になります。
cloud-initのデフォルト挙動を徹底的に調べてまとめてみた -結果ソースコードを読んだ-

実行環境

suz-lab_centos-core-6.6-HVM (ami-e6c5c9e7)

何が必要だったか

ユーザ

useradd syslog -g adm -s /sbin/nologin

ユーザがないと、こんな感じに怒られます。

# less /var/log/cloud-init-output.log
:
Cloud-init v. 0.7.5 running 'init-local' at Fri, 22 Apr 2016 07:44:22 +0000. Up 948.21 seconds.
2016-04-22 16:44:22,057 - util.py[WARNING]: Unable to change the ownership of /var/log/cloud-init.log to user syslog, group adm
:

cloud-initの起動順序

cloud-init関連の起動順序をAmazon Linuxと同じにしました。

▼ before

# ls -l /etc/rc3.d/ | grep cloud
lrwxrwxrwx  1 root root 22  4月 23 07:23 2016 K50cloud-config -> ../init.d/cloud-config
lrwxrwxrwx  1 root root 26  4月 23 07:23 2016 K50cloud-init-local -> ../init.d/cloud-init-local
lrwxrwxrwx  1 root root 21  4月 23 07:23 2016 S50cloud-final -> ../init.d/cloud-final
lrwxrwxrwx  1 root root 20  4月 23 07:23 2016 S50cloud-init -> ../init.d/cloud-init

▼ after

# ls -l /etc/rc3.d/ | grep cloud
lrwxrwxrwx  1 root root 26  4月 23 07:23 2016 S50cloud-init-local -> ../init.d/cloud-init-local
lrwxrwxrwx  1 root root 20  4月 23 07:23 2016 S51cloud-init -> ../init.d/cloud-init
lrwxrwxrwx  1 root root 22  4月 23 07:23 2016 S52cloud-config -> ../init.d/cloud-config
lrwxrwxrwx  1 root root 21  4月 23 07:23 2016 S98cloud-final -> ../init.d/cloud-final

今回はいろいろ勉強になりました。

元記事はこちら

suz-lab CentOSでUserDataを使用する時のメモ