Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

posted at

AWS CLIで複数アカウントを使い分ける。

はじめに

開発用環境、本番環境など複数の環境を管理している方も多いかと思いますが、同じ端末で複数環境のアカウントを使い分ける方法を記載します。

AWS CLIのインストール

以下から自分の環境に合ったAWS CLIのインストーラをダウンロードしてインストールします。

以下コマンドを実行し、バージョン表示が出ればインストール完了です。

aws_cliバージョン確認
aws --version
表示例
aws-cli/2.1.38 Python/3.8.8 Windows/10 exe/AMD64 prompt/off

IAMユーザの作成

AWSにIAMユーザを作成していないようであれば作成しておきましょう。

IAMから新規ユーザを作成するだけですが、aws cliで使うので作成時に「プログラムによるアクセス」はチェックするようにしましょう。

capture_19042021_084941.jpg

また、ユーザ作成時に最後に表示されるアクセスキー、シークレットアクセスキーが書かれたCSVは後ほど使うのでダウンロードするようにしましょう。

AWS CLIのデフォルトセットアップ

先ほどaws cliをインストールしたPCでaws configureコマンドを実行して対話式でaws cliをセットアップします。

途中で聞かれるアクセスキーシークレットアクセスキーは、ダウンロードしたCSVに書かれているキーを入力します。

aws_cliのデフォルトセットアップ
aws configure
AWS Access Key ID [None]: [アクセスキー]
AWS Secret Access Key [None]: [シークレットアクセスキー]
Default region name [None]: [リージョン名(東京ならap-northeast-1)]
Default output format [None]: [アウトプットフォーマット(json/text/table/yaml/yaml-stream)]

リージョン名は東京ならap-northeast-1、アウトプットフォーマットはお好きなフォーマットを選択。

再度aws configureを実行すれば後から変えられるので、適当に選びましょう。

AWS CLIの追加セットアップ

他のアカウントを追加するにはaws configureコマンドに--profileオプションを追加して実行することで追加できます。

aws_cliのデフォルトセットアップ
aws configure --profile [任意のプロファイル名]
AWS Access Key ID [None]: [アクセスキー]
AWS Secret Access Key [None]: [シークレットアクセスキー]
Default region name [None]: [リージョン名(東京ならap-northeast-1)]
Default output format [None]: [アウトプットフォーマット(json/text/table/yaml/yaml-stream)]

設定情報の場所

各ユーザのホームディレクトリ配下に.awsディレクトリが作成されており、その下にconfigcredentialsが作成されています。

configにはリージョンとアウトプットフォーマットの設定、credentialsにはアクセスキー、シークレットアクセスキーの情報が登録されています。

.aws/config
[default]
region = ap-northeast-1
output = text
[profile プロファイル名]
region = ap-northeast-1
output = text
.aws/credentials
[default]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[プロファイル名]
aws_access_key_id = YYYYYYYYYYYYYYYYYYYY
aws_secret_access_key = YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

複数アカウントの使い分け

最初に登録したアカウントはdefaultというプロファイルで登録されているため何もオプションを付与しなければdefaultのアカウントでコマンドが実行されます。

追加したアカウントで実行したい場合は各コマンドの後ろに--profile [プロファイル名]として実行することで追加したアカウントでコマンドが実行されます。

おわりに

aws-cliv2になってoutput形式でyamlが選択できるようになったのはうれしいですね。
CloudFormation等のコードを作成するときに役立ちそうです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?