雑多なインフラエンジニア日記

技術ブログでっす~

AWSの環境変数について(CLI)

AWSをコマンドで操作する上で、設定したほうが良いと思われる環境変数
をご紹介します。

とりあえず、AWSのコマンドは全般的にオプションが長い! です。
結構な割合で、認証系オプションは必須だと思っています。
毎回打つのはちょっと辛いし、見難いし、historyに残るし・・・

ちなみに、オプションで --help を付ければ何となくどんなオプションが
必須なのかが解ります。

ながーいオプションを付けるのは苦行ですので、環境変数に設定してしま
いましょう。

まずは、前段作業として以下を行なって下さい。

1. http://aws.amazon.com/jp/console/ からログイン 
2. Security Credentials を選択

3. セキュリティ証明書 を選択
4. アクセスキー を選択
5. 新しいアクセスキーを作成する を選択
6. アクセスキー IDと、シークレットアクセスキーを確認する。

7. X509証明書 を選択
8. 新しい証明書を作成する を選択
9. 秘密鍵と証明書をPCにダウンロード(pk-XXXXX.pemとcert-XXXXXX.pem)
10. EC2インスタンスの任意のディレクトリにscpなどでアップロード


上記の前段作業が終わったら、環境変数の設定をします。
/root の箇所はec2コマンドを実行させるユーザのホームや/etc/bach_profile
に読み替えても構いません。
ご自分の環境に合ったprofileに設定して下さい。

以下は例ですので、実際はもっと設定できる環境変数があります。
とりあえず、自分は以下だけしか設定していないのですが、今のところ
は困ってはいません・・・

・ /root/.bash_profile に設定

# for AWS
export EC2_REGION=ap-northeast-1
export EC2_URL=https://ec2.ap-northeast-1.amazonaws.com
export AWSAccessKeyId=XXXXXXX
export AWSSecretKey=XXXXXXX
export EC2_CERT=/root/cert-XXXXXX.pem
export EC2_PRIVATE_KEY=/root/pk-XXXXX.pem


・EC2_REGION、EC2_URLは、東京リージョンなら迷わず上記を設定

・AWSAccessKeyId、AWSSecretKeyには、アクセスキー IDと、シークレット
アクセスキーを設定

・EC2_CERT、EC2_PRIVATE_KEYには、アップロードした秘密鍵と証明書を配置
したディレクトリをフルパスで設定

これで、各ec2系のコマンドで長いオプションを付けずに済みます。

アクセスキー IDと、シークレットアクセスキーの扱いにはくれぐれも
ご注意を。



以下はec2-describe-instancesコマンドで各インスタンスのプライベートIP
を表示しています。

[root@test01 ~]# ec2-describe-instances | grep PRIVATEIPADDRESS
PRIVATEIPADDRESS 10.0.0.99
PRIVATEIPADDRESS 10.0.0.100
PRIVATEIPADDRESS 10.0.1.5
PRIVATEIPADDRESS 10.0.3.33
PRIVATEIPADDRESS 10.0.3.34
[root@test01 ~]#


インスタンスの情報取得だけなのに、ながーいオプション付けるのは苦行です。。
アクセスキーとかランダムな文字列覚えられんし~。
これでちょっとは便利になったのではないのでしょうか!?


以上です!