takachan's blog

地方のエンジニアが、まずやってみる(Bias For Action)!!をモットーに気持ちを綴るブログです。

EC2 API ToolおよびPython版CLIインストール・設定手順まとめ

f:id:twinuma:20130616161336j:plain

こんにちは。

父の日には靴とパジャマをプレゼントし、端から見ると「夜逃げセットですか!?」って突っ込まれそうなニイヌマです。

AWS認定試験に向けて準備していたのですが、気分転換に手を動かしながら

技術ブログでも書いて頭の整理することが今回の記事の目的です。

 

今回のテーマは、

「各API ToolとPython版のCLIのインストールから環境設定、動作確認までこれを見ればOK」って事で書いていきます。

 

■前提条件
  • AMI:Amazon Linux AMI 2013.03.1 64bit
  • Instance-Type:m1.small
  • Reagion:ap-northeast-1
■各種API Toolのダウンロード

以下のコマンドをそれぞれ実行します。

wget http://ec2-downloads.s3.amazonaws.com/AutoScaling-2011-01-01.zip
wget http://ec2-downloads.s3.amazonaws.com/CloudWatch-2010-08-01.zip
wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip
wget http://ec2-downloads.s3.amazonaws.com/ElasticLoadBalancing.zip
wget http://awsiammedia.s3.amazonaws.com/public/tools/cli/latest/IAMCli.zip
wget http://s3.amazonaws.com/rds-downloads/RDSCli.zip
wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip

 ■環境変数へ追加&反映
echo 'export JAVA_HOME=/etc/alternatives/jre' >> ~/.bashrc
echo 'export EC2_HOME=/home/ec2-user/tools/ec2api' >> ~/.bashrc
echo 'export AWS_AUTO_SCALING_HOME=/home/ec2-user/tools/autoscaling' >> ~/.bashrc
echo 'export AWS_CLOUDWATCH_HOME=/home/ec2-user/tools/cloudwatch' >> ~/.bashrc
echo 'export AWS_ELB_HOME=/home/ec2-user/tools/elb' >> ~/.bashrc
echo 'export AWS_IAM_HOME=/home/ec2-user/tools/iam' >> ~/.bashrc
echo 'export AWS_RDS_HOME=/home/ec2-user/tools/rds' >> ~/.bashrc
echo 'export AWS_S3_HOME=/home/ec2-user/tools/s3' >> ~/.bashrc
echo 'export AWS_ACCESS_KEY=Input Your Access Key' >> ~/.bashrc
echo 'export AWS_SECRET_KEY=Input Your Sercret Key' >> ~/.bashrc
echo 'export EC2_URL=https://ec2.ap-northeast-1.amazonaws.com' >> ~/.bashrc

echo 'export PATH=$PATH:$JAVA_HOME/bin:$EC2_HOME/bin/:$AWS_AUTO_SCALING_HOME/bin/:$AWS_CLOUDWATCH_HOME/bin/:$AWS_ELB_HOME/bin/:$AWS_IAM_HOME/bin/:$AWS_RDS_HOME/bin/:$AWS_S3_HOME/bin' >> ~/.bashrc 

source ~/.bashrc
■Python版CLIインストール&環境変数へ追加&動作確認
sudo easy_install pip
sudo pip install awscli
sudo pip install awscli --upgrade

echo 'export AWS_CONFIG_FILE=/home/ec2-user/config_file' >> ~/.bashrc
echo 'complete -C aws_completer aws' >> ~/.bash_profile

aws help
aws ec2 describe-instances

 

これで各API ToolとCLIが使えるようになりました。

ね、簡単ですよね。これをまとめるのに苦労したんですが・・・

 

では、それぞれの起動&停止コマンドを比較してみます。

# START INSTANCE
aws ec2 start-instances --instance-ids i-8131ff83
ec2-start-instances i-8131ff83

# STOP INSTANCE
aws ec2 stop-instances --instance-ids i-8131ff83
ec2-stop-instances i-8131ff83

実行コマンドは、ちょっとCLIのほうがシンプルですね。

 

詳しいコマンドについてはこちらで確認して下さい。

まとめ

今回は、Amazon Linuxを使っているのでこのような設定のまとめになりましたが他のOSの場合だと他の手順が必要になってきますが、特に制約がなければAmazon Linuxを使用することをオススメします。

調べていると以前はEC2 API Toolsの認証にX.509証明書を使っていたそうですが、現在はACCESS KEYとSERCRET KEYのみで利用できるので簡単になりました。

余談ですが、ソースコードの埋め込みにGistの貼り付けが可能みたいです。

このような感じになるそうです。

参考リンクはこちらです。