🗑️ 【AWS CLI】意図せず設定したdefaultプロファイルを削除・リセットする手順
AWS CLIを利用している際、特定のプロファイル(--profile xxx)を指定すべきところで、誤って default プロファイルとして接続情報を設定してしまったことはないでしょうか?
default に強力な権限や特定環境(本番など)が設定されていると、aws login やコマンド実行時に意図せずその環境へ接続されてしまい、事故の原因になりかねません。
この記事では、Windows (PowerShell) 環境を前提に、設定状況の確認と default 設定の削除方法をまとめます。
🔍 現状の確認
まずは現在、意図しない設定が読み込まれてしまっているか確認します。
1. 設定値の確認
以下のコマンドで、現在読み込まれている設定を確認できます。
aws configure list
削除前の状態(意図しない設定がある場合)
以下のように access_key や secret_key に値が入っており、TYPE が shared-credentials-file などになっている場合、default設定が生きています。
> aws configure list
NAME : VALUE : TYPE : LOCATION
profile : <not set> : None : None
access_key : ****************LIHG : shared-credentials-file :
secret_key : ****************d6gd : shared-credentials-file :
region : ap-northeast-1 : config-file : ~/.aws/config
削除後の状態(目指すゴール)
以下のように全て <not set> になれば、default設定は解除されています。
> aws configure list
NAME : VALUE : TYPE : LOCATION
profile : <not set> : None : None
access_key : <not set> : None : None
secret_key : <not set> : None : None
region : <not set> : None : None
2. 環境変数の確認
設定ファイルではなく、環境変数によって固定されている場合もあります。念のため確認します。
Get-ChildItem Env:AWS*
- 何も表示されなければ、環境変数による設定はありません。
表示された場合は環境変数の削除も検討してください。
🛠️ 削除方法
削除には1.「ファイル編集で特定プロファイルだけ消す方法」と2.「設定ファイルを丸ごと消す方法」があります。基本的には 方法1 を推奨します。
方法1. default 設定だけを削除する(推奨)
他のプロファイル設定を残しつつ、default だけを消す方法です。
まず、設定フォルダを開きます。
Invoke-Item $env:USERPROFILE\.aws
フォルダ内の credentials ファイルをテキストエディタで開き、[default] ブロックのみを削除して保存します。
# --- 削除ここから ---
[default]
aws_access_key_id = AKIA...
aws_secret_access_key = ...
# --- 削除ここまで ---
# ↓ 他のプロファイルは残す
[my-other-profile]
aws_access_key_id = ...
aws_secret_access_key = ...
方法2. 設定をすべて削除する(リセット)
設定がぐちゃぐちゃになってしまい、一度完全にクリーンにしたい場合はフォルダごと削除します。
⚠️注意: 登録している他のプロファイル情報もすべて消えます。
Remove-Item -Path $env:USERPROFILE\.aws -Recurse -Force
✅ 削除後の確認
作業後、再度プロファイル一覧や設定状況を確認します。
プロファイル一覧の確認
aws configure list-profiles
実行結果例:
default が消えている、もしくは default があっても中身が空(またはregionのみ)であることを確認します。
test-dev
honban-prd
poc-sample
📝 Memo: Region設定について
credentials (認証情報) の default は削除しても良いですが、config (設定) の default まで完全に消してしまうと、AWS CLI実行のたびに Region 指定が必要になり少し不便です。
利便性を保つため、~/.aws/config ファイル側の default 設定(RegionやOutput)は残しておくか、明示的に設定しておくと便利です。
# ~/.aws/config の例
[default]
region = ap-northeast-1
output = json
こうしておけば、認証情報は毎回指定(またはSSOログイン)しつつ、リージョン指定の手間だけ省くことができます。
最後に、GMOコネクトでは研究開発や国際標準化に関する支援や技術検証をはじめ、幅広い支援を行っておりますので、何かありましたらお気軽にお問合せください。