勉強前イメージ
OSの初回起動時に実行されるやつくらいしか知らん
調査
インスタンスユーザーデータ とは
EC2インスタンスが初回に実行するスクリプトのことを指します。
ただし、 初回起動時
だけ実行されるので毎回起動する事に実行するものではないです。
実行権限はrootになり、記述形式は以下2つから選べます。
- シェルスクリプト形式 :
#!/bin/bash
から始める - cloud-init形式 :
#cloud-config
から始める
ユースケースとしては、 「yum update」 や webサービスのインストール・起動など記載しておいて
EC2を初回にstartさせるだけで使える状態にすることが出来ます。
EC2のサーバ内からの確認方法は
curl http://169.254.169.254/latest/user-data
で、結果が以下になります。
# curl http://169.254.169.254/latest/user-data
#!/bin/bash
yum -y update
touch a.txt
ユーザデータで書かれたスクリプトの実態は /var/lib/cloud/instance/scripts配下
にできそれを実行します。
実行権限も付いてるので、そのまま実行することも出来ます。
# ll /var/lib/cloud/instance/scripts/part-001
-rwx------ 1 root root 34 Oct 4 10:45 /var/lib/cloud/instance/scripts/part-001
また、実行ログは /var/log/cloud-init-output.log
に吐き出されます。
実際のマネジメントコンソール上では
EC2の作成画面で「高度な詳細」を開いたところの最後に出てきます。
勉強後イメージ
入力方式、シェルだけだと思ってたけど違う書き方もあるんや・・・
あとメタデータみたいにhttpでも見れるんだ、知らなかった。。。