どうもLukaです。
みなさんEC2のユーザーデータ、ちゃんと使っていますか?
はじめに
実際のユーザーデータ設定の流れを動画で公開しましたので、ぜひそちらもご覧ください。
ユーザーデータってなんだ
知っている人は読み飛ばしてください。
ユーザーデータはEC2に対して行う設定作業を、EC2起動時にあらかじめ指定しておくことで、わざわざSSH接続しなくても指定した設定を反映してくれる機能です。
分かんねえよって思うかもしれませんが大丈夫です。あとで実際にやってみるので「こんな感じか」と理解できるはず。
ユーザーデータスクリプトを入力として渡すことで、インスタンスの起動時にコマンドを実行して設定タスクを実行できます。…
ユーザーデータのメリット
SSH接続しなくて良いので楽です。これに尽きる。
普通だったらEC2にSSH接続してyum update
とかしますよね。こういうのをあらかじめ定義しておくわけです。
例えばEC2を起動するときに、以下のような感じで設定しておくと、
- タイムゾーンを東京時間に
- ロケールをja_JP.UTF-8に(言語_地域.文字コードを表す)
- Apacheをインストールして起動
- Hello Worldをindex.htmlに書き込み
みたいなことが一発でできてしまいます。
#!/bin/bash
yum update -y
timedatectl set-timezone Asia/Tokyo
localectl set-locale LANG=ja_JP.UTF8
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "Hello World" > /var/www/html/index.html
かなり便利ですね。
注意点
いくつか注意点があります。
- ユーザーデータはrootユーザ権限で実行されるので「sudo」は不要
- スクリプトはインタラクティブに実行されないので、「-y」必須
主なところでは上記のような感じでしょうか。
今回は以上です。