AWSの各種Command Line toolsを使うときの環境変数まとめ

この記事は2011年に書かれたものです。最新情報はAWS公式ドキュメントを参照してください。

Amazon Web Servicesの各種Command Line Toolsを使うときに設定が必要な環境変数をまとめてみました。
より詳しい情報は各プロダクトのドキュメントを確認してください。

API toolsに共通する環境変数

API toolsをまとめて同じディレクトリに入れておくと便利です。そのディレクトリの場所をAWS_PATHとして登録しておくと、他の環境変数を設定するのが楽になります。

AWS_PATH=/path/to/tools
Java

Javaを利用するツールのために、Javaのインストール場所を指定します。

JAVA_HOME=/path/to/java
X.509証明書

X.509証明書を保存した場所を設定します。
X.509証明書は、AWS Webサイト(http://aws.amazon.com/jp/)右上にある「アカウント/コンソール」から「セキュリティ証明書」のリンクをたどるとダウンロードできます。

EC2_CERT=/path/to/cert/cert-xxxxxxx.pem
EC2_PRIVATE_KEY=/path/to/private_key/pk-xxxxxx.pem
クレデンシャルファイル

いくつかのツールでは認証のためにAWS Access Key と Secret Access Keyが必要となるため、これらを記載したクレデンシャルファイルを作成します。

AWSAccessKeyId=<アクセスキー>
AWSSecretKey=<シークレットキー>
  • 上記の内容でファイルを作成し適当な名前で保存します。クレデンシャルファイルのパーミッションは600に設定します。
PATH

PATHを通します。インストールしたツールそれぞれについて「$AWS_PATH/<プロダクト名>/bin」を記載してください。(シェルスクリプトでfor文を書くと一括で設定できて便利な気がしていますが、それはまた今度)

PATH=$PATH:$AWS_PATH/<プロダクト名>/bin

EC2 API toolsを使うための環境変数

$AWS_PATH配下のapitoolsディレクトリにAPI toolsがインストールされている場合の例です。

○○_HOMEとなっているのがインストール場所で、○○_URLとなっているのはエンドポイントのURLです。
エンドポイントのURLを指定すると、デフォルトに使うリージョンに設定できます。何も設定しないと米国東海岸リージョンになります。EC2_URLで設定するエンドポイントのURLはEC2 toolsの ec2-describe-regionsコマンドで確認できます。

EC2_HOME=$AWS_PATH/apitools/ec2
EC2_URL=https://<エンドポイントのURL>

EC2 AMI toolsを使うための環境変数

$AWS_PATH配下のamitoolsディレクトリにAMI toolsがインストールされている場合の例です。

EC2_AMITOOL_HOME=$AWS_PATH/amitools/ec2

EC2以外のCommand Line Toolを使うための環境変数

以下では、$AWS_PATH/apitools/<プロダクト名> 配下にツールをインストールした場合の例を紹介します。

Auto ScalingのCommand Line Toolを使うための環境変数
AWS_AUTO_SCALING_HOME=$AWS_PATH/apitools/as
AWS_AUTO_SCALING_URL=https://<エンドポイントのURL>
CloudWatchのCommand Line Toolを使うための環境変数
AWS_CLOUDWATCH_HOME=$AWS_PATH/apitools/mon
AWS_CLOUDWATCH_URL=https://<エンドポイントのURL>
ELBのCommand Line Toolを使うための環境変数
AWS_ELB_HOME=$AWS_PATH/apitools/elb
AWS_ELB_URL=https://<エンドポイントのURL>
IAMのCommand Line Toolを使うための環境変数
AWS_IAM_HOME=$AWS_PATH/apitools/iam
RDSのCommand Line Toolを使うための環境変数

EC2_REGIONではデフォルトで使うリージョンを設定します。何も設定しないと米国東海岸リージョンになります。

AWS_RDS_HOME=$AWS_PATH/apitools/rds
EC2_REGION=<リージョン名>

IAMではプロキシを利用する場合の環境変数を準備されています。
詳しくはこちら。
http://docs.amazonwebservices.com/IAM/latest/CLIReference/

リージョンとエンドポイントの一覧

各プロダクトのリージョンとエンドポイントはAWSのドキュメントにまとめられています。
http://docs.amazonwebservices.com/general/latest/gr/rande.html?r=7011

上記で紹介した環境変数をまとめて設定するための手順

以下のような内容でファイルを作成し、適当なファイル名で保存します。それぞれのパスは自分の環境に合わせて書き換えてください。

export AWS_PATH=/path/to/tools

export PATH=$PATH:$AWS_PATH/<プロダクト名>/bin
export JAVA_HOME=/path/to/java

export AWS_CREDENTIAL_FILE=<AWSクレデンシャルファイルの場所>

export EC2_CERT=/path/to/cert/cert-xxxxxxx.pem
export EC2_PRIVATE_KEY=/path/to/private_key/pk-xxxxxx.pem

export EC2_HOME=$AWS_PATH/apitools/ec2
export EC2_AMITOOL_HOME=$AWS_PATH/amitools/ec2
export EC2_URL=https://<エンドポイントのURL>

export AWS_AUTO_SCALING_HOME=$AWS_PATH/apitools/as
export AWS_AUTO_SCALING_URL=https://<エンドポイントのURL>

export AWS_CLOUDWATCH_HOME=$AWS_PATH/apitools/mon
export AWS_CLOUDWATCH_URL=https://<エンドポイントのURL>

export AWS_ELB_HOME=$AWS_PATH/apitools/elb
export AWS_ELB_URL=https://<エンドポイントのURL>

export AWS_IAM_HOME=$AWS_PATH/apitools/iam

export AWS_RDS_HOME=$AWS_PATH/apitools/rds
export EC2_REGION=<リージョン名>
実行方法

保存したファイル名を引数に指定してsourceコマンドを実行します。しかし、この方法だとログインする度に設定がクリアされてしまうので、いつも同じ環境変数を使うためには~/.bash_profile などに同じ内容を追記して保存してください。

$ source <保存したファイル名>

今回紹介した以外にもいろいろCommand Line Toolsがあります。詳しくはドキュメントで!
http://aws.amazon.com/jp/documentation/