Amazon EC2インスタンスの自身のUserdataを簡単に取得する

Amazon EC2のユーザデータを簡単に取得する方法

Amazon EC2はたくさんのメタデータを持っています。SDKやAPIを経由して取得する方法が一般的ですが、自身のインスタンス内で簡単に問い合わせる方法があります。以下のアドレスにアクセスすることです。

http://169.254.169.254/

実際にどんな情報が取得できるのか試してみたいと思います。

EC2インスタンス起動時にユーザデータを指定する

インタンス起動時にユーザデータの指定をすることができます。テキスト形式で入力ができます。base64にする事もできるようです。以下の画面をご覧ください。

改行コードで区切ったり、カンマ(,)で区切ったりできますので、受け取る側で適当に解釈してあげれば良いかと思います。

EC2インスタンス内で自身のユーザデータを確認する

メタデータ取得と同じ方法です。

$ wget -q -O - http://169.254.169.254/latest/user-data
param1=1000
param2=2000
param3=abc

見事にユーザデータが取得できました。

まとめ

Amazon EC2インスタンス起動時にユーザデータを指定できる事が分かりました。また、取得も簡単であることが分かりました。具体的な使いどころですが、ユーザデータにSimpleDBのアドレスやRDSのアドレスなどを入れておいて、インスタンス起動後に内部の初期値を設定したり連携先を指定してはいかがでしょうか?ということで、ユーザデータを活用してインスタンスごとの初期の動きを指定してしまいましょう!