garbagetown

個人の日記です

babun に awscli をインストールする

お仕事で AWS を使い始めたので、コマンドラインから AWS のサービスを操作する AWS Command Line Interface (AWS CLI) をインストールしてみた。

OS ネイティブなターミナルを使っている場合は AWS Command Line Interface のインストール やネットに手順が載っているので、それらを参照すればよいですが、自分は大人の事情で Windows7 上で Babun を使っており、ここに AWS CLI をインストールしたので手順をメモっておきます。

pip のインストー

AWS CLIPython 製のようで、Pyhon のパッケージ管理システムである pip を使ってインストールできるとのこと。

Babun にはデフォルトで Python は入っているものの、pip は入っていないので、まず pip をインストールする必要がある。

$ which pip
pip not found

で、pip は python-setuptools に含まれる easy_install でインストールするらしく、この python-setuptools は Babun のパッケージ管理システムである pact でインストールできる。

$ pact find python-setuptools
(snip)
Searching for installed packages matching python-setuptools:

Searching for installable packages matching python-setuptools:
python-setuptools

$ pact install python-setuptools
(snip)
Package python-setuptools installed

自分の環境では末尾に Python のバージョン番号が付与された状態で easy_install がインストールされた。

$ which easy_install-2.7
/usr/bin/easy_install-2.7

このままでは扱いづらいのでエイリアスを設定する。

$ echo "alias easy_install='easy_install-2.7'" >> ~/.zshrc

$ tail -5 ~/.zshrc
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
alias easy_install='easy_install-2.7'

$ source ~/.zshrc

$ which easy_install
easy_install: aliased to easy_install-2.7

$ easy_install --version
setuptools 34.3.2 from /usr/lib/python2.7/site-packages (Python 2.7)

easy_install で pip をインストールする。

$ easy_install pip
(snip)
Installed /usr/lib/python2.7/site-packages/pip-9.0.1-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip

$ pip --version
pip 9.0.1 from /usr/lib/python2.7/site-packages/pip-9.0.1-py2.7.egg (python 2.7)

awscli のインストー

これでようやくお目当ての AWS CLI をインストールできる。

$ pip install awscli
(snip)
Successfully installed PyYAML-3.12 awscli-1.11.123 botocore-1.5.86 colorama-0.3.7 docutils-0.13.1 futures-3.1.1 jmespath-0.9.3 pyasn1-0.2.3 python-dateutil-2.6.1 rsa-3.4.2 s3transfer-0.1.10

$ aws --version
aws-cli/1.11.123 Python/2.7.13 CYGWIN_NT-6.1-WOW/2.8.0(0.309/5/3) botocore/1.5.86

AWS クレデンシャルの設定

AWS に接続するためのクレデンシャル情報を以下のように設定する。

$ cat ~/.aws/credentials
[default]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXX

AWS CLI を使う

とりあえず S3 の中を見てみる。

$ aws s3 ls
2017-02-10 19:22:15 XXXXXXXXXXXXXXXXXXXX
2017-01-25 13:40:08 XXXXXXXXXXXXXXXXXXXX
2016-11-30 14:46:51 XXXXXXXXXXXXXXXXXXXX

hadoop fs ls のように結果が返ってくるまで突っかかる感じはあるものの、無事に S3 の中身が見られた。