2013年8月7日水曜日

VyattaにPython版AWSコマンドラインインターフェース(CLI)をインストールしてみた

スズキです。

下記のVyatta("@j3tm0t0"さん作)に

次の"Python版AWSコマンドラインインターフェース(CLI)"をインストールしてみました。


ただしVyatta内から".egg / .zip / .tar.gz"のファイルがダウンロードできなかったので、
適当なマシンで下記のよううにダウンロードして、Vyattaにアップロードする形で、
インストールしました。
# curl -OL https://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg
# curl -OL https://pypi.python.org/packages/source/a/awscli/awscli-0.13.2.tar.gz
# curl -OL https://pypi.python.org/packages/source/d/docutils/docutils-0.11.tar.gz
# curl -OL https://pypi.python.org/packages/source/a/argparse/argparse-1.1.zip
# curl -OL https://pypi.python.org/packages/source/c/colorama/colorama-0.2.5.tar.gz
# curl -OL https://pypi.python.org/packages/source/s/six/six-1.3.0.tar.gz
# curl -OL https://pypi.python.org/packages/source/b/bcdoc/bcdoc-0.5.0.tar.gz
# curl -OL https://pypi.python.org/packages/source/b/botocore/botocore-0.13.1.tar.gz
# curl -OL https://pypi.python.org/packages/source/s/simplejson/simplejson-3.3.0.tar.gz
# curl -OL https://pypi.python.org/packages/source/o/ordereddict/ordereddict-1.1.tar.gz
# curl -OL https://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-2.1.tar.gz
# curl -OL https://pypi.python.org/packages/source/j/jmespath/jmespath-0.0.2.tar.gz
# curl -OL https://pypi.python.org/packages/source/p/ply/ply-3.4.tar.gz
# curl -OL https://pypi.python.org/packages/source/r/requests/requests-1.2.0.tar.gz
Vyattaへのアップロードは下記のようになっています。
$ sudo su -
# cd /home/vyatta/
# ls -1
argparse-1.1.zip
awscli-0.13.2.tar.gz
bcdoc-0.5.0.tar.gz
botocore-0.13.1.tar.gz
colorama-0.2.5.tar.gz
docutils-0.11.tar.gz
jmespath-0.0.2.tar.gz
ordereddict-1.1.tar.gz
ply-3.4.tar.gz
python-dateutil-2.1.tar.gz
requests-1.2.0.tar.gz
setuptools-0.6c11-py2.6.egg
simplejson-3.3.0.tar.gz
six-1.3.0.tar.gz
まずは"easy_install"を利用できるようにします。
# sh.distrib setuptools-0.6c11-py2.6.egg
...
そして、必要なパッケージを含め"awscli"までインストールします。
# easy_install docutils-0.11.tar.gz
...
# easy_install argparse-1.1.zip
...
# easy_install colorama-0.2.5.tar.gz
...
# easy_install six-1.3.0.tar.gz
...
# easy_install bcdoc-0.5.0.tar.gz
...
# easy_install simplejson-3.3.0.tar.gz
...
# easy_install ordereddict-1.1.tar.gz
...
# easy_install python-dateutil-2.1.tar.gz
...
# easy_install ply-3.4.tar.gz
...
# easy_install jmespath-0.0.2.tar.gz
...
# easy_install requests-1.2.0.tar.gz
...
# easy_install botocore-0.13.1.tar.gz
...
# easy_install awscli-0.13.2.tar.gz
...
シェル上で補完ができるように下記も設定しておきます。(下記参照)
CentOS6でのPython版AWSコマンドラインツールの環境設定
(/etc/profile.d/awscli.sh)
# cat /etc/profile.d/awscli.sh
if [ -x /usr/local/bin/aws ]; then
    AZ=`curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone`
    export AWS_DEFAULT_REGION=`echo $AZ | cut -c 1-$((${#AZ} - 1))`
    complete -C aws_completer aws
fi
最後にVyattaにログインしなおすと下記のようにタブで補完しながらAWS(CLI)の
コマンドが実行できます。("IAM Role"使ってます)
$ aws ec2 describe-instances
...

次はVyattaのHeartbeat(cluster)の調査です。
--------
http://www.suz-lab.com

2 コメント:

Makoto Miida さんのコメント...

vyatttaに、chefクライアント(.deb)版は、Omnibusインストーラでは失敗でしたが、dpkgですんなり入りました。

chefで設定を集中管理できるといいなという野望とともに

鈴木宏康 さんのコメント...

おおー!Chefいいですねー。
最終的には本記事の内容はChefで構築できればなー、とも思っています!