お仕事で AWS を使い始めたので、コマンドラインから AWS のサービスを操作する AWS Command Line Interface (AWS CLI) をインストールしてみた。
OS ネイティブなターミナルを使っている場合は AWS Command Line Interface のインストール やネットに手順が載っているので、それらを参照すればよいですが、自分は大人の事情で Windows7 上で Babun を使っており、ここに AWS CLI をインストールしたので手順をメモっておきます。
pip のインストール
AWS CLI は Python 製のようで、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 の中身が見られた。