CentOSでec2-api-tools, ec2-ami-toolsを使えるようにする

CentOS5.0(x86_64)でAPI ToolsとAMI Toolsを動かすまでのメモ。まだインストールして、コマンドの起動とヘルプ確認した程度なので、以下の内容で完動しなかったらごめんなさい。

http://aws.amazon.com/のResources > Other Developer Tools > Amazon Elastic Compute Cloudから

をそれぞれダウンロード。

API Tools

API Toolsを利用するにはJDKが必要です。軽くググると「yumだとうまくいかなくて、Sunのサイトから落としてきた」なんてエントリも見ましたが、手元の環境では

sudo yum install java-1.6.0-openjdk.x86_64

するだけですんなり入りました。

あとはダウンロードしたzipを展開して、中身をそのまま/opt/ec2-api-tools/に移動。このへんは好みでご自由に。

AMI Tools

AMI Toolsを利用するにはrubyが必要です。ふつうは入ってるだろうから割愛。

RPMとzipが提供されてます。今回はCentOSに入れるので、RPMを落として入れればOK。

コマンド群は/usr/local/ec2にインストールされて、/usr/local/binにsymlinkを置くようになってるみたいです。

環境変数の設定

export JAVA_HOME=/usr
export EC2_HOME=/opt/ec2-api-tools
export EC2_CERT=~/work/ec2/cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem
export EC2_PRIVATE_KEY=~/work/ec2/pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem

API ToolsとAMI Toolsが別々のディレクトリにインストールされた状態で、EC2_HOMEをどう設定すればいいのか迷ったけど、API Toolsのディレクトリを指定しておけば大丈夫っぽい。AMI Toolsのzipに入ってるreadme-install.txtを見ると、「そういう時はEC2_AMITOOL_HOMEを指定すればいいよ」と書いてあるけど、RPMで入れた場合は特に指定しなくても動くみたいです。

AMI Toolsのコマンドは別の所に入ってるrubyスクリプトを呼んでいるだけで、zipに入ってるコマンドはそこで環境変数を参照してるけど、RPMの方はインストール先が決まってるからか、直接ディレクトリ指定しているので動くらしい。rubyスクリプトの方も軽く覗いてみたら、中でも使ってるように見えなかったので不要なのかなーと今のところ思ってます。心配ならEC2_AMITOOL_HOMEも指定しておくといいでしょう。

EC2_CERTとEC2_PRIVATE_KEYは特に説明不要ですね。Access KeyとかUser IDとかも環境変数に突っ込んでおけると楽なんだけど、そのへんの設定はないのかな。