AWS CLIを一時的に使用する
EC2インスタンス上でAWS CLIを利用するには、aws configureを使うことが
一般的かと思います。configureを利用すると、コンフィグファイル( ~/.aws/config)
にID情報を格納します。
しかし、他の人も使用する場合、ID情報を格納しておきたくないです。
※本来、使用者ごとにユーザーを作成すればよいですが、
ユーザー名:ec2-userを他の人と使いまわすこともあり得るかもしれません。
上記、実現するために、環境変数に一時的にID情報を格納することで、
AWS CLIコマンドを利用することができます。
なお、環境変数のため他のコンソールからのアクセスでは、
AWS CLIコマンドは効きません。
備忘録として残しますが、誤りがありましたらご指摘ください。
事前準備
・アクセスIDとシークレットIDを取得する
1.AWSサービス一覧から「IAM」を選択。
2.ユーザーより対象のユーザーを選択。
3.認証情報からアクセスキーの欄のアクセスキーの作成をクリック。
⇒アクセスIDとシークレットIDが取得できるので、保持しておきます。
# まずは、環境変数の設定をしていない場合
[ec2-user@ip-10-0-0-155 ~]$ aws ec2 describe-vpcs
You must specify a region. You can also configure your region by running "aws configure".
⇒通常、configure設定を要求されます。
# ここでexportを用いて、IAMで取得した各種変数を設定します。
[ec2-user@ip-10-0-0-155 ~]$ export AWS_ACCESS_KEY_ID="*********"
[ec2-user@ip-10-0-0-155 ~]$ export AWS_SECRET_ACCESS_KEY="***********"
# 使用するリージョンを記述します。東京なら下記です。
[ec2-user@ip-10-0-0-155 ~]$ export AWS_DEFAULT_REGION="ap-northeast-1"
# AWS CLIの応答でのフォーマットを選択します。ここではjsonとします。
# JSON (json) / タブ区切りテキスト (text) / ASCII 形式のテーブル (table)から選択できます
[ec2-user@ip-10-0-0-155 ~]$ export AWS_DEFAULT_OUTPUT="json"
# 再度実行します。
[ec2-user@ip-10-0-0-155 ~]$ aws ec2 describe-vpcs
※応答データは記載しておりませんが、json形式でVPCの情報が表示されます。
下記が設定する環境変数一覧
上記で使用した環境変数は下記となります。コピー用に再記載します。
export AWS_ACCESS_KEY_ID=""
export AWS_SECRET_ACCESS_KEY=""
export AWS_DEFAULT_REGION=""
export AWS_DEFAULT_OUTPUT=""
リージョン一覧
下記にAWS_DEFAULT_REGIONに設定するリージョンが一覧化されています。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-regions-availability-zones.html