AWSのCLIを使う

AWSはマネージメントコンソールのGUIがちゃんとしてるけどやっぱりCLIからも操作したいよねー。
というわけでAWSCLIを使ってみた。

  • CLIのインストール

公式サイトは以下にあり、Mac/Linuxpythonのpip経由でインストール。Windowsインストーラが配布されてます。
AWS コマンドラインインターフェイス(CLI - AWS サービスの制御・管理)|AWS
今回インストール先の環境は手元のMac OSX 10.9 (Marvericks)です。

$ sudo easy_install pip
$ sudo pip install awscli
$ aws --version
aws-cli/1.3.24 Python/2.7.5 Darwin/13.3.0

AWSのアクセスキーなどの設定は適当な別ファイル(awscli.conf)などに分けて.bashrcなどでファイルパスを指定しておくことができるのアクセスキーのファイルの権限を400とかに絞れる。

$ vi ~/work/aws/awscli.conf
[default]
aws_access_key_id=(アクセスキーID)
aws_secret_access_key=(シークレットアクセスキー)
region=(リージョン)
$ chmod 400 awscli.conf
$ vi ~/.bashrc
export AWS_CONFIG_FILE=~/work/aws/awscli.conf
$ . ~/.bashrc

アクセスキーIDとシークレットアクセスキーはマネージメントコンソールにログインして以下のURLで確認できます。
"Your Security Credentials"
リージョンはap-northeast-1とかの使ってるリージョン名を指定する。

お試しでEC2のインスタンス情報を取得してみる。

$ aws ec2 describe-instances

JSON形式で情報が取得できれば問題なし。

  • 補完の設定

CLIのコマンドが覚えられないので以下の補完の設定をしておくとタブキー連打で候補の補完が効くようになるので幸せになれる。

$ complete -C aws_completer aws

コマンドの引数がわからない場合は引数にhelpとか渡すと引数の説明が出る。

$ aws ec2 describe-instances help

CLIのコマンドやら引数やらの仕様を眺めてると何ができるかがなんとなく推測できてよいよね。
細かいことは公式のCLIのリファレンス参照。
aws — AWS CLI 1.16.81 Command Reference