Cygwinへのaws-cli導入

By | 2016年3月29日

こんちには。船田です。
すこし前から社内でWorkSpacesを本格的に導入しはじめています。
私は個人でも会社でもずっとMacだったためWindowsは不安だったのですが、Cygwinを導入したところ非常に快適に仕事ができるようになりました。

SSHもrsyncもgrepもfindもtail -fもgitも動きますし、足りないツールやコマンドもapt-cygで一発です。MacやLinuxでやってきたやりかたがだいたい使えます。
今回は、Cygwinでawc-cliを導入する手順を紹介します。

aws-cliをインストール

apt-cygは、MacでいうところのHomebrewのようなもので

apt-cyg install 【ほしいパッケージ】

とするだけでパッケージのダウンロードとインストールを行うことができます。

まずはpythonと、pythonのパッケージマネージャであるeasy_installをインストールします。

$ apt-cyg install python python-setuptools

easy_installを使用してpipをインストールしてpipを使用してaws-cliをインストールします。

$ easy_install pip
$ pip install awscli

aws configureも実行してIAMにひもづくキーペアを登録しておきます。

$ aws configure
AWS Access Key ID [None]:【自分のIAMユーザに紐づくアクセスキー】
AWS Secret Access Key [None]:【自分のIAMユーザに紐づくシークレットキー】
Default region name [ap-northeast-1]:【リージョン】
Default output format [None]:

ついでにjqも入れてしまいます。

$ curl -LO https://github.com/stedolan/jq/releases/download/jq-1.5/jq-win64.exe
$ mv jq-win64.exe /usr/local/bin/jq
$ chmod 0755 /usr/local/bin/jq
$ jq --version
jq-1.5

これだけで

$ aws ec2 describe-regions | jq -r ".Regions[].RegionName"
eu-west-1
ap-southeast-1
ap-southeast-2
eu-central-1
ap-northeast-2
ap-northeast-1
us-east-1
sa-east-1
us-west-1
us-west-2

のように、aws-cliとjqを組み合わせて使えるようになりました。

なお、2016年3月現在、apt-cygからもjqはインストールできるのですが、実行するとエラーとなりうまく動きませんでした。。

まとめ

WindowsでAWSを操作する環境をもしこれから作る機会があれば、Cygwinを入れるのがお勧めです。
Bashが動きますので、aws cliを呼ぶシェルスクリプトなどもローカルで開発していくことができ、非常に便利です。