AWSプロファイル切り替え

AWS CLIを使用する際、複数のアカウントや環境を使い分けたい場合があります。例えば、開発環境や本番環境、もしくは異なるプロジェクトにおけるアクセスキーを使い分けたい時です。この記事では、AWS CLIでプロファイルを切り替える方法について、基本的な設定から具体的に使い分ける方法までを紹介します。
1. ローカルのAWSプロファイル設定
まず、AWS CLIをインストールした後、初めて使用する際にはaws configureコマンドでAWSの認証情報を設定します。このコマンドで設定されるプロファイルは、デフォルトで「default」という名前で保存されます。
コマンド例
$ aws configure AWS Access Key ID [None]: xxxxxxxxxx AWS Secret Access Key [None]: xxxxxxxxxx Default region name [None]: ap-northeast-1 Default output format [None]: json
この操作により、指定した認証情報が~/.aws/credentialsファイルに保存され、リージョン情報などが~/.aws/configファイルに記録されます。
プロファイル確認
設定内容は以下のようにファイルを直接確認できます。
$ cat ~/.aws/credentials [default] aws_access_key_id = xxxxxxxxxx aws_secret_access_key = xxxxxxxxxx
$ cat ~/.aws/config [default] region = ap-northeast-1 output = json
2. 複数プロファイルの設定
複数のAWSアカウントやプロジェクトにアクセスするためには、異なるプロファイルを設定する必要があります。これを実現するためには、--profileオプションを使用します。
プロファイル設定の例
$ aws configure --profile profile_name1 AWS Access Key ID [None]: xxxxxxxxxx AWS Secret Access Key [None]: xxxxxxxxxx Default region name [None]: ap-northeast-1 Default output format [None]: json
上記のコマンドでは、profile_name1という名前のプロファイルが設定されます。さらに別のプロファイルを追加したい場合は、同様に以下のコマンドを実行します。
$ aws configure --profile profile_name2 AWS Access Key ID [None]: xxxxxxxxxx AWS Secret Access Key [None]: xxxxxxxxxx Default region name [None]: ap-northeast-1 Default output format [None]: json
これにより、複数のプロファイルが~/.aws/credentialsファイルに追加されます。
3. 複数プロファイルの使い分け方法
AWS CLIで複数のプロファイルを設定した後、以下の2つの方法で使い分けることが可能です。
方法1: コマンドに -profile オプションを付ける
各コマンドに対して、使用したいプロファイルを--profileオプションで指定します。これにより、設定した特定のプロファイルを使用してコマンドを実行できます。
$ aws s3 ls --profile profile_name1
この方法は、単一のコマンド実行時に特定のプロファイルを明示的に指定する場合に便利です。
方法2: 環境変数を使用してプロファイルを切り替える
もし、コマンドごとに--profileオプションを指定するのが手間だと感じる場合、環境変数AWS_PROFILEを設定することで、デフォルトプロファイルを一時的に変更できます。
$ export AWS_PROFILE=profile_name2 $ aws s3 ls
環境変数を設定しておけば、同じシェルセッション内ではすべてのAWS CLIコマンドがそのプロファイルを使用するため、毎回--profileオプションを指定する必要がなくなります。
まとめ
AWS CLIを使って複数のプロファイルを使い分けることで、異なるプロジェクトや環境に簡単にアクセスできます。--profileオプションを使う方法と、環境変数を利用してプロファイルを切り替える方法は、それぞれの用途に応じて使い分けましょう。
AWSを効果的に使いこなすためには、こうしたプロファイル管理のスキルが非常に重要です。日々の業務で複数のAWS環境を操作することが多い方は、ぜひ試してみてください。
この記事をシェアする
合同会社raisexでは一緒に働く仲間を募集中です。
ご興味のある方は以下の採用情報をご確認ください。