ec2-metadata 0.2.0

ec2-metadata の 0.2.0 をリリースしました。
http://github.com/akm/ec2-metadata

インストール

$ [sudo] gem install ec2-metadata

使い方簡単

このライブラリを使うとEC2のインスタンス上で、そのインスタンスメタデータにアクセスすることができます。

Ec2Metadata[:instance_id]

もっと詳しい使い方はspecを参照してください。
http://github.com/akm/ec2-metadata/blob/master/spec/introduction_spec.rb

コマンドラインからも

EC2のインスタンス上で

$ ec2-metadata

を実行すると、そのインスタンスにまつわる様々な情報を見ることができます。
例: http://github.com/akm/ec2-metadata/blob/master/lib/ec2_metadata/dummy.yml

非EC2環境でも!

非EC2のインスタンス上でも

./config/ec2_metadata.yml
./ec2_metadata.yml
~/ec2_metadata.yml
/etc/ec2_metadata.yml

のいずれかのファイルを作っておくと、まるでEC2のインスタンス上で動いているように、Ec2Metadataは振る舞います。

このファイルはYAML形式で記述してください。

■ もしEC2の環境をお持ちなら上記のec2-metadataコマンドの出力をリダイレクトしてダミーのファイルを作成して、非EC2環境にコピーして使えます。

■ もしEC2の環境をお持ちでないなら、サンプルを以下のコマンドで確認できます。

$ ec2-metadata -d

作った動機

http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1825
で説明されている同名の ec2-metadata スクリプトを使ってきたのですが、このような情報を扱うアプリでEC2上でなくてもアプリのテストをしたいと思ったことが始まりでした。なので、これで非EC2環境で難しかったテストが少しでも楽になると嬉しいです。

変なところがあったらツッコミお願いいたします。