はじめに
本ドキュメントの目的
本ドキュメントは、AWS CLIでプロファイルを使い分けて複数のAWSアカウントや環境を効率よく管理するための実務的な手順書です。基本概念、設定方法、検証や切り替えまでを順を追って学べます。
読者想定
AWSの操作にこれから慣れたい方、複数アカウントを扱う開発者・運用担当者、CLIで作業を自動化したい方を想定しています。初心者でも理解できるよう具体例を多く用います。
前提条件
本章では前提として、基本的なコマンドライン操作の知識と、AWSアカウントにアクセスできる環境があることを想定します。AWS CLIのインストール手順は第3章で詳しく説明します。
本書で得られること
- プロファイルの概念と利点の理解
- デフォルトプロファイルと複数プロファイルの運用方法
- 設定ファイルの構造把握と手動編集の注意点
- プロファイルの検証・切り替え手順
以降の章では、実際のコマンド例や画面イメージを使って丁寧に解説します。
AWS CLI Profileの概要と基本設定
プロファイルとは
AWS CLIのプロファイルは、認証情報や設定をまとめた「設定セット」です。複数のアカウントや環境(開発・ステージング・本番)を使い分けるときに便利です。プロファイルを切り替えることで、誤ったアカウントに操作するリスクを減らせます。
主な設定項目
- access key id / secret access key:API操作の認証情報です。鍵は安全に管理してください。
- region:デフォルトで使うリージョン(例:ap-northeast-1)です。
- output:コマンド出力の形式(jsonやtableなど)です。
利点
- 環境ごとに設定を分けて安全に操作できます。
- コマンドごとに–profileを付けて簡単に使い分けられます。例:aws s3 ls –profile dev
基本的な設定方法(例)
- ターミナルで次を実行します。
aws configure –profile dev - プロンプトに従ってアクセスキー、シークレット、リージョン、出力形式を入力します。
注意点
アクセスキーは第三者に渡さないでください。長期間使わない鍵は無効化するかローテーションを検討してください。設定は~/.aws/credentials と ~/.aws/config に保存されますが、ファイルの扱いに注意してください。
AWS CLIのインストール方法
概要
AWS CLIを使うにはまずローカルにインストールします。ここでは代表的なOSごとの手順を分かりやすく説明します。具体的なコマンド例を示すので、そのままコピーして実行できます。
Linux(Debian/Ubuntu系)
- aptを使う(簡単な方法):
- sudo apt update
- sudo apt install awscli
- 公式のZIP版を使う(最新版を使いたい場合):
- curlでダウンロードしてunzipし、実行可能にしてインストールします。
Windows
- 公式サイトからMSIインストーラーをダウンロードします。
- ダブルクリックしてウィザードに従いインストールします。
macOS
- Homebrewがあれば: brew install awscli
- 公式パッケージやインストーラーを利用することもできます。
インストール後の確認
端末で次を実行してバージョンを確認してください。
– aws –version
正しく表示されればインストール成功です。
よくあるトラブルと対処
- コマンドが見つからない: パスが通っていない可能性があります。端末を再起動するか、インストール先パスを確認してください。
- 権限エラー: sudoや管理者権限で実行してください。
必要であれば、各手順の詳細なコマンドやトラブルシューティングをさらに説明します。
デフォルトプロファイルの設定手順
概要
AWS CLIを使い始める最初の手順は、デフォルトプロファイルの設定です。aws configureコマンドで認証情報と基本設定を入力すると、操作ができるようになります。
手順
- ターミナルで次を実行します。
aws configure
- 表示される4項目に入力します。
- AWS Access Key ID:IAMで発行したアクセスキー(例:AKIA…)
- AWS Secret Access Key:発行時に表示される秘密鍵。安全に保管してください。
- Default region name:例
ap-northeast-1(東京)など、使うリージョンを入力します。 - Default output format:
jsonを推奨しますが、textやtableも選べます。
設定の保存先と確認
設定はホームディレクトリの~/.aws/credentialsと~/.aws/configに保存されます(手動編集は第6章で詳述)。
設定後は次で確認します:
aws sts get-caller-identity
正しいIAMユーザーやアカウントIDが返れば設定は成功です。
よくあるトラブル対応
- キーが無効ならIAMで再発行してください。
- 環境変数(AWS_ACCESS_KEY_ID等)があると上書きされます。不要なら削除してください。
複数プロファイルの作成と管理方法
概要
複数のAWSアカウントや環境を扱うときは、プロファイルを使い分けると便利です。ここでは作成手順、切替え、管理の実例を分かりやすく説明します。
プロファイルの作成
新しいプロファイルはコマンド一つで作れます。たとえば開発用は次のようにします。
aws configure --profile dev
対話で「AWS Access Key ID」「AWS Secret Access Key」「region」「output」を入力します。ステージングは”staging”、本番は”prod”など名前を付けます。
プロファイルの利用方法
- コマンドで指定する: aws s3 ls –profile dev
- 環境変数で指定する: export AWS_PROFILE=prod
どちらも簡単に切り替えられます。
プロファイルの確認・一覧
- aws configure list-profiles
- ~/.aws/credentials と ~/.aws/config を直接見る
管理とベストプラクティス
- 名前は用途が分かるように: dev/staging/prod
- 本番用は最低限の権限にする(最小権限原則)
- 定期的にアクセスキーをローテーションする
- MFAやロール切替えを活用する(~/.aws/config に role_arn と source_profile を設定)
削除・編集
テキストエディタで ~/.aws/credentials と ~/.aws/config を開き、該当プロファイルのセクションを削除または編集します。コマンドで直接削除する専用コマンドはないため、手動編集が確実です。
プロファイル設定ファイルの構造と手動編集
ファイルの場所と役割
AWS CLIはホームディレクトリの.awsフォルダに2つのファイルを使います。
– credentials:アクセスキー(アクセスキーID、シークレットキー)を保存します。
– config:デフォルトリージョンや出力形式、プロファイル名(プロファイル向けの追加設定)を保存します。
書式(INI形式)と例
両ファイルはINI形式で、セクション名とキー=値で構成します。
credentialsの例:
[default]
aws_access_key_id = AKIA...
aws_secret_access_key = xxxxx
[work]
aws_access_key_id = AKIA...
aws_secret_access_key = yyyyy
configの例(プロファイル名は”profile”プレフィックス):
[default]
region = ap-northeast-1
output = json
[profile work]
region = ap-northeast-1
output = table
手動編集の手順と注意点
- 編集前にバックアップを作成します。2. テキストエディタでUTF-8保存します。3. セクション名やスペースを崩さないようにします。4. 保存後はファイル権限を600にしてアクセスを制限します(chmod 600)。
注意点: credentialsは平文で保存されるため、公開リポジトリに置かないでください。aws configureを使うと一貫した形式で設定できますが、手動編集でロール(role_arn、source_profile)やMFA設定を追加することも可能です。
プロファイルの検証と確認方法
基本的な確認コマンド
- プロファイル設定の概要確認:
aws configure list --profile <profile-name>
この出力で、アクセスキー、シークレットキー、リージョン、どの設定ファイルから読み込まれているかを確認できます。値が「—-」や空欄なら設定が不足しています。
- 認証情報の有効性確認:
aws sts get-caller-identity --profile <profile-name>
正常ならJSONでAccount、Arn、UserIdが返ります。これが返れば認証情報が有効でAWSにアクセスできる状態です。
出力の読み方(例)
aws configure listの主な欄:- access_key/secret_key:隠された形で表示されます。存在すれば設定済みです。
- region:API呼び出しに使われるリージョンです。
-
Type/Location:どこから読み込まれたかを示します(環境変数、共有ファイル、プロファイルなど)。
-
sts get-caller-identityの出力例:
{
“UserId”: “AIDA…”,
“Account”: “123456789012”,
“Arn”: “arn:aws:iam::123456789012:user/example”
}
この情報でどのアカウント/ユーザーで動いているか分かります。
追加の確認ポイントとトラブルシューティング
- プロファイル名のタイプミスを確認してください。スペースや大文字小文字に注意します。
- 環境変数が上書きしていないか確認:
echo $AWS_PROFILEやenv | grep AWSを使います。 - 一時的なセッショントークンがある場合は期限切れに注意。ExpiredTokenやInvalidClientTokenIdのエラーが出ます。
- 実際のAPI呼び出しで権限を確認:
aws s3 ls --profile <profile-name>などの読み取り系コマンドで試します。 - 詳細を確認したいときは
--debugを付けて実行すると、どの資格情報が使われたかログに出ます。
設定ファイルの再確認
- 設定ファイルは通常
~/.aws/credentialsと~/.aws/configにあります。必要ならaws configure --profile <profile-name>で再設定してください。
複数プロファイル間の切り替え方法
概要
AWS CLIで複数プロファイルを使い分けるには、コマンド単位と環境単位の方法があります。用途に応じて切り替えると便利です。
コマンド実行時に切り替える(推奨)
最も簡単で安全な方法です。実行するコマンドに–profileオプションを付けます。
aws s3 ls --profile dev
aws ec2 describe-instances --profile prod
この方法は一時的な切り替えに向きます。誤って別の環境で操作するリスクを減らせます。
環境変数で切り替える(セッション単位)
同じシェルで複数コマンドをまとめて実行する場合はこちらが便利です。
- macOS/Linux(bash/zsh)
export AWS_PROFILE=dev
aws s3 ls
- Windows PowerShell
$env:AWS_PROFILE = 'dev'
aws s3 ls
環境変数はそのシェルでのみ有効です。別のターミナルを開くと元に戻ります。
利用中のプロファイル確認
登録済みのプロファイル一覧を確認するには次のコマンドを使います。
aws configure list-profiles
実用上の注意
- 名前を間違えるとデフォルトプロファイルが使われることがあります。必ず一覧で確認してください。
- スクリプトで自動化する際は–profile指定を明示すると安全です。
以上が主な切り替え方法です。用途に合わせて使い分けてください。












