Mac OS X Mavericksでawscliをインストールする

家で余ってたMBAのセットアップ。
ついでに jq もインストールする。
以前は環境変数の設定周りがごちゃごちゃしてた気がするんだよな・・・。

前提条件

  • デフォルトのpythonは無視したい(homebrewで入れる)
  • zsh
  • /etc/paths を少しいじってる(/usr/local/bin/python が使われるようにして
    る)

インストール

意外とあっさり入った。

brew install python
pip install awscli
brew install jq

デフォルトで入っているpythonとのバージョン比較(3014/07/29現在)

[noguchiwataru@noguchiwataru-no-MacBook-Air] ~
% python --version
Python 2.7.8
[noguchiwataru@noguchiwataru-no-MacBook-Air] ~
% /usr/bin/python --version
Python 2.7.5

設定

アクセストークンはIAMから発行すること。
間違ってもAWSアカウント直で発行しないこと。死ぬ。
また、出力フォーマットはjqで整形できるのでJSONが望ましい。

% aws configure
AWS Access Key ID [None]: your_access_key_id
AWS Secret Access Key [None]: your_secret_access_key
Default region name [None]: ap-northeast-1
Default output format [None]: json

以下のようにすると設定ファイルが作成されていることがわかる。

% ls -F ~/.aws/
config

中身はこんな感じ。

[default]
output = json
region = ap-northeast-1
aws_access_key_id = your_access_key_id
aws_secret_access_key = your_secret_access_key

動作確認

次のコマンドが動作すればOK。

% aws ec2 describe-instances | jq '.'

補完機能を有効にする

zsh

一番最後の行に以下の1行を入れる。
一番最後じゃないと動かなかった気がする。
たぶんデフォルトでパスが通っている場所においてあると思う。

# ~/.zshrc
# (snip)
source aws_zsh_completer.sh

source ~/.zshrc

bash

~/.bashrc じゃだめなので注意。

# ~/.bash_profile
complete -C aws_completer aws

source ~/.bash_profile

References

  1. Configuring the AWS Command Line Interface
  2. Macのzshでawscliの補完を有効化する – 戦場のプログラマー