【AWS】MacにAWS CLIをインストールして使う方法

スポンサーリンク

f:id:tasukujp:20141023002459p:plain

AWS コマンドラインインターフェイス(CLI)についてです。これはコマンドライン(Macのターミナル等)からAWSを操作することのできるツールでシェルスクリプトなどで操作を自動化できたり、使いこなせると非常に良さそうなので試してみることにしました。Amazon EC2 CLI とは違いますので注意してください。私も最初間違えました。

前提条件

まずAWS CLIをインストールするための要件は以下の通りです。

  • Windows, Linux, OS X, or Unix
  • Python 2.6.3 or later
  • Pip

今回はMacを対象にしてますのでPythonは既にインストールされていると思いますが一応確認。

$ which python
/usr/bin/python
$ python --version
Python 2.7.5

pipのインストール

pip とは Python で書かれたパッケージソフトウェアをインストール・管理するためのパッケージ管理システムです。まずは pip からインストールしますが、そのために easy_install を使用します。これも最初からインストールされているはずです。

$ which easy_install
/usr/bin/easy_install

それでは実行します。

$ sudo easy_install pip
Password:
Searching for pip
Reading http://pypi.python.org/simple/pip/
Best match: pip 1.5.6
…

以下のような出力であれば完了です。

…
Installed /Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip

一応確認しておきます。

$ which pip
/usr/local/bin/pip
$ pip --version
pip 1.5.6 from /Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg (python 2.7)

AWS CLIのインストール

pipを使ってAWS CLIをインストールします。

$ sudo pip install awscli
Downloading/unpacking awscli
  Downloading awscli-1.5.2.tar.gz (252kB): 252kB downloaded
  Running setup.py (path:/private/tmp/pip_build_root/awscli/setup.py) egg_info for package awscli
…

以下のような出力であれば完了です。

…
Successfully installed awscli botocore bcdoc six colorama docutils rsa jmespath python-dateutil pyasn1
Cleaning up...

一応確認しておきます。

$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/1.5.2 Python/2.7.5 Darwin/13.4.0

動作確認

AWS CLIの設定をしないといけないのですが、これは何パターンかありますのでまた別記事でまとめたいと思います。今回はAWSに接続して操作が出来るかだけを試します。

ということで超簡単なシェルスクリプトを作成しました。ユーザー情報を取ってくるだけですね。あと、AWSにアクセスするためにアクセスキーと秘密鍵を環境変数にセットしてます。

#!/bin/bash

export AWS_ACCESS_KEY_ID='xxxxxxxxxxxxxxxxx'
export AWS_SECRET_ACCESS_KEY='xxxxxxxxxxxxxxxxxxx'

aws iam list-users

ユーザー情報を取得できました。結果はデフォルトの場合JSON形式で返ってきます。

$ sh usercheck.sh 
{
    "Users": [
        {
            "UserName": "test", 
            "Path": "/", 
            "CreateDate": "2014-10-21T09:12:35Z", 
            "UserId": "xxxxxxxxxxxxxxxxxxxxx", 
            "Arn": "arn:aws:iam::xxxxxxxxxx:user/test"
        }
    ]
}

こんな感じで大体雰囲気はつかめたので後は色々なコマンドを試してみようと思います。

AWS CLI Reference