【2026年版】AWS CLI のインストールと初期設定【Mac・アクセスキー不要のaws login対応】

Blog-Thumbnail_AWS-01 AWS

はじめに

こんにちは、KUDs です。

この記事では、Mac に AWS CLI をインストールして、コマンドから AWS を操作できる状態にするところまでを解説します。

所要時間は20分ほど費用はかかりません

ひとつ、この記事の特徴をお伝えしておきます。
前回非推奨とお伝えした、アクセスキーを作らずに設定します。

AWS CLI の設定というと aws configure にアクセスキーを貼り付ける手順が定番で、検索して出てくる記事のほとんどがそう書かれています。
ただ、2025年11月に aws login という新しい方法が追加され、AWS 公式の推奨も入れ替わりました。こちらのほうが安全で、しかも手順が短いです。

とはいえ新しい機能なので、環境によってはうまくいかないこともあります。
その場合に備えて、従来のアクセスキーを使う手順も後半に載せてあります。 どちらでも先に進めるようにしてありますので、安心して読み進めてください。

この記事について

この記事は、AWS を初めて触る方向けのシリーズの1本です。

シリーズ全体の地図と読む順番は、ロードマップにまとめてあります。

【2026年版】AWS × Claude Code でアプリ開発を始めるロードマップ【Mac・初心者向け】
はじめにこんにちは、KUDs です。「AWS を使ってみたい。できれば AI に手伝ってもらいながら」そう考えたときに最初にぶつかるのは、技術的な難しさよりも「結局、何から手をつければいいのか分からない」という問題だと思います。AWS の記…

この記事は、前回までの3つが終わっていることが前提です。

ひとつめは、作業用の IAM ユーザーを作ってあること

【2026年最新】AWSアカウント作成後にやるべき初期設定7つ【課金事故を防ぐ】
はじめにこんにちは、KUDs です。「AWS を触ってみたいけど、知らないうちに高額請求が来るのが怖い」AWS を始めるときに、いちばん多い不安がこれだと思います。 実際、「消し忘れたサーバーで数万円請求された」という話はいまも定期的に流れ…

ふたつめは、Homebrew が入っていること。この記事ではこれを使ってインストールします。

【2026年版】MacにHomebrewを導入する手順【AI開発の土台】
はじめにこんにちは、KUDs です。この記事では、Mac に Homebrew(ホームブリュー) を導入します。所要時間は10〜15分ほど(ダウンロードの待ち時間が大半です)、費用はかかりません。正直に言うと、この回だけを読んでも「何が嬉し…

みっつめは、 Visual Studio Code と Claude Code for VSCode が入っていること。ぶっちゃけなくてもいいですが、VSCode に慣れるのも含めてます。

【2026年版】VS Code に Claude Code を導入する手順【Mac・コマンド操作なし】
はじめにこんにちは、KUDs です。この記事では、VS Code に Claude Code を導入して、日本語で指示するだけで開発できる環境を作ります。所要時間は20分ほど、費用はかかりません(Claude のプラン料金以外に、追加の支払…

なお、Homebrew を入れていない方や、macOS のバージョンが古くて入れられない方向けの手順も用意してありますので、そのまま読み進めていただいて大丈夫です。

AWS CLI とは何か

AWS CLI(コマンドラインインターフェイス)は、ターミナルから AWS を操作するための公式コマンドです。

これまでマネジメントコンソール(Web の管理画面)でボタンを押してやっていたことを、aws で始まるコマンドで実行できるようになります。

aws s3 ls

たとえばこれは「S3 のバケット一覧を表示する」コマンドです。

なぜ CLI を入れるのか

「画面から操作できるなら、コマンドは要らないのでは」と思うかもしれません。
理由は2つあります。

1つめは、作業を記録・再現できるからです。
画面のクリックは記録に残りませんが、コマンドは文字として残ります。同じ環境をもう一度作りたいとき、コマンドが残っていれば貼り付けるだけで済みます。

2つめが、このシリーズにとって本命の理由です。

Claude Code のような AI に AWS を操作させるには、CLI が必要だからです。

AI がやっているのは、魔法でも特別な連携でもありません。
あなたの Mac にインストールされた aws コマンドを、あなたの代わりに組み立てて実行しているだけです。

つまり、ここで CLI を入れておかないと、このあとの回で Claude Code が何もできません
逆に言えば、ここさえ終われば AI に AWS を任せる準備が整います。

手順1: AWS CLI をインストールする

ここからはターミナルアプリではなく、VSCode 内のターミナルを使いましょう。
VSCode を開いて、Command + J (Windows の場合は Control + J)でターミナルを開けます。

brew install awscli

これで完了です。

以下のコマンドを実行して、インストールが完了しているか確認しましょう。

which -a aws

以下のような出力が出れば OK です。

/opt/homebrew/bin/aws

aws というコマンドは /opt/homebrew/bin/ というディレクトリ(フォルダ)に配置されてますよ。」という意味です。

お気づきの方もいるかも知れませんが、Claude にたった一言「Brew で AWS CLI をインストールして」と言えば終わりです。(前回までに Claude も Homebrew も導入済なので)
ただ、今回は「本来ならこういう手順でパッケージをインストールするんだな〜」を体感してもらうために敢えてコマンド実行してもらってます。

手順2: バージョンを必ず確認する

この手順は飛ばさないでください。

aws --version

こんな出力が返ってきます。

aws-cli/2.36.24 Python/3.13.4 Darwin/24.5.0

先頭の数字が 2.32 以上であることを確認してください。

なぜこの確認が必要かというと、この記事で使う aws login という機能が、AWS CLI 2.32.0 以上でないと使えないからです。

そしてもうひとつ理由があります。
AWS の公式インストール手順には、次のように書かれています。

Because AWS doesn’t maintain third-party repositories, we can’t guarantee that they contain the latest version of the AWS CLI.

(AWS はサードパーティのリポジトリを管理していないため、そこに最新版の AWS CLI が含まれることを保証できません)

つまり Homebrew 版は AWS が公式に管理しているものではなく、将来的にバージョンが古い可能性があるということです。
執筆時点(2026年8月)では 2.36.24 が入るので問題ありませんが、念のため自分の目で確認しておくのが確実です。

バージョンが古かった場合

まず更新を試してください。

brew upgrade awscli

それでも 2.32.0 未満だった場合は、次の「Homebrew を使わない場合」の手順で入れ直してください。

Homebrew を使わない場合

Homebrew を入れていない方、macOS が Sonoma 未満の方、Homebrew 版が古かった方は、AWS 公式のインストーラーを使ってください。

  1. 以下の URL をブラウザで開くと、AWSCLIV2.pkg のダウンロードが始まります
  2. ダウンロードした AWSCLIV2.pkg をダブルクリック
  3. 画面の指示に従って進める(Mac のパスワードを求められます)

こちらは AWS 自身が配布しているものなので、常に最新版が入ります
インストール後は、同じく aws --version で確認してください。

インストール方法の詳細は公式ドキュメントにあります。

AWS CLI の最新バージョンのインストールまたは更新 – AWS Command Line Interface
システムに AWS CLI をインストールまたは更新する手順。

Windows をお使いの方へ

Windows でもほぼ同じ手順で進められます。違うのはインストール方法だけです。

インストール

以下からインストーラーをダウンロードしてダブルクリックしてください。

https://awscli.amazonaws.com/AWSCLIV2.msi

PowerShell から入れる場合はこちらです。

irm https://awscli.amazonaws.com/v2/install.ps1 | iex

インストール後、コマンドプロンプトを開き直してから aws --version で確認します。

aws login 以降の手順は Mac とまったく同じです

手順3: aws login でサインインする

ここがこの記事の主役です。

その前に:なぜアクセスキーを作らないのか

前回の記事でも触れましたが、改めて整理しておきます。

アクセスキーは「長期の認証情報」で、有効期限がありません。
一度作ると、自分で無効化するまでずっと使えてしまいます。そして ~/.aws/credentials というファイルに平文のまま保存されます。

つまり、うっかり GitHub に上げたり、画面共有で映してしまったりすると、そのまま悪用されます。しかも気づくまで有効なままです。

AWS 公式の認証方法の一覧は「推奨順」に並んでいるのですが、2026年8月時点でこうなっています。

順位方法評価
1位コンソール認証情報(aws login(Recommended) 推奨
6位IAM ユーザーの長期認証情報(アクセスキー)(Not recommended) 非推奨
Authentication and access credentials for the AWS CLI – AWS Command Line Interface
この章では、AWS CLI を使用して AWS サービスに接続するためのプログラムによるアクセスを設定する認証および認証情報プロセスについて説明します。

AWS 自身が「非推奨」と書いているものを、わざわざ最初に教える理由はないと考えました。
なので、この記事では aws login を使います。

事前準備: IAM ユーザーに権限を1つ追加する

aws login を IAM ユーザーで使うには、SignInLocalDevelopmentAccess というポリシーが必要です。

前回作った作業用ユーザーに既に追加済のはずです。もしこの記事から始められた人は追加しておきましょう。

  1. マネジメントコンソールで「IAM」を開く
  2. 左メニューの「ユーザー」→ 前回作ったユーザーを選択
  3. 許可を追加」→「直接ポリシーをアタッチする
  4. SignInLocalDevelopmentAccess を検索してチェック
  5. 許可を追加

このポリシーが許可するのは「ブラウザ経由で認証して、一時的な認証情報を受け取ること」だけです。
AWS のリソースを操作する権限は含まれていないので、付けても権限が広がりすぎる心配はありません。

aws login を実行する

準備ができたら、ターミナルで実行します。

aws login

初回はリージョンを聞かれます。 日本から使うなら東京リージョンを入力してください。

AWS Region [us-east-1]: ap-northeast-1

すると、自動的にブラウザが開きます
そこで、いつもマネジメントコンソールにログインするときと同じようにサインインしてください。
IAM ユーザーの場合は、アカウント ID(またはエイリアス)とユーザー名、パスワードを使います。

サインインが完了すると、使う認証情報を選ぶ画面が表示されます。
選んだらターミナルに戻ってください。こんなメッセージが出ていれば成功です。

Logged in with role `arn:aws:sts::012345678910:user/iam-user`, and configured profile
`default` to use `ap-northeast-1`. This session will expire on ...

もしくは以下のようなメッセージです。

Updated profile default to use arn:aws:iam::123456789012:user/my-dev-user credentials.

これで設定は完了です。 アクセスキーは1つも作っていません。

何が保存されたのかを見てみる

せっかくなので、何が起きたのかを確認しておきましょう。

cat ~/.aws/config

中身はこれだけです。

[default]
login_session = arn:aws:iam::012345678910:user/my-dev-user
region = ap-northeast-1

パスワードもアクセスキーも入っていません。「誰としてログインしたか」と「どのリージョンを使うか」だけです。

実際の認証情報は ~/.aws/login/cache に一時的なものとして保存され、15分ごとに自動で更新されます。

セッションは最大12時間で切れます

ひとつだけ、知っておいてほしいことがあります。

このログインは最大12時間で切れます。

翌日にターミナルを開いて aws コマンドを実行すると、エラーが出ることがあります。
壊れたわけではないので、慌てずにもう一度実行してください。

aws login

これだけで復活します。 ブラウザが開くので、またサインインするだけです。

「毎回ログインが必要なんて面倒」と思われるかもしれませんが、これは面倒なのではなく、そういう仕組みだから安全なのだと考えてください。パソコンを盗まれても、12時間後には何もできなくなります。

作業を終えるとき

明示的にサインアウトしたい場合は、こうします。

aws logout

キャッシュされていた認証情報が削除されます。
共用のパソコンを使っている場合や、作業が一区切りついたときに実行しておくと安心です。

aws login の詳しい仕様は公式ドキュメントにまとまっています。

コンソール認証情報を使用して AWS ローカル開発にログインする – AWS Command Line Interface

手順4: 動作確認をする

設定できたか確認します。

自分が誰として操作できるのかを見る

aws sts get-caller-identity

こんな結果が返ってくれば成功です。

{
    "UserId": "AIDXXXXXXXXXXXXXXXXXX",
    "Account": "012345678910",
    "Arn": "arn:aws:sts::012345678910:user/my-dev-user"
}

Arn の末尾が、前回作った IAM ユーザー名になっていることを確認してください。
ルートユーザーになっていたら要注意です。 前回の記事に戻って、作業用ユーザーを作るところからやり直してください。

認証情報がどこから来ているかを見る

このコマンドは覚えておくと、後々とても役に立ちます。

aws configure list
NAME       : VALUE                    : TYPE             : LOCATION
profile    : (not set)                : None             : None
access_key : ****************FQMW     : login            :
secret_key : ****************2ZTp     : login            :
region     : ap-northeast-1           : config-file      : ~/.aws/config

見てほしいのは Type の列です。
ここが login になっていれば、aws login の認証情報が使われています。

もしここが shared-credentials-file になっていたら、別の認証情報が優先されています。あとで説明するトラブルの原因になるので、覚えておいてください。

試しに Claude Code に聞いてみる

パネルを開いて、こう入力してみてください。

User
User

AWS を触ってみたいんですが、今 AWS CLI は設定できてますか?

Haiku
Haiku

AWS CLI は既に設定されています! ✓

  • AWS CLI バージョン: 2.36.24
  • アクセスキー: 設定済み ✓
  • シークレットキー: 設定済み ✓
  • リージョン: ap-northeast-1(東京)

すぐに AWS を使い始められます。何をしたいですか?例えば:

  • S3 バケットの操作
  • EC2 インスタンスの管理
  • その他の AWS サービス
User
User

あれ?シークレットキーですか? aws login で一時認証情報を取得しているつもりでしたが、シークレットキーが配置されてしまっていますか?

Haiku
Haiku

その通りです。申し訳ありません — 誤った指摘でした。

aws configure list の出力から読み取れることは:

  • TYPE が login → aws login による一時認証情報が使われている ✓
  • LOCATION が空白 → ファイルパスが記載されていない = 一時認証情報

つまり、あなたの設定は正しく機能していて、一時認証情報が使われていました。

混乱させてしまい失礼しました。

モデルにも依りますが、AI は平気で嘘をつきます。気をつけましょう。笑

いま何が起きたのか

大事なので、仕組みを確認しておきます。

Claude Code は、魔法で AWS を操作したわけではありません。
あなたの Mac に入っている aws コマンドを、あなたの代わりに組み立てて実行しただけです。

つまり、現時点で既に Claude は AWS を操作できる状況です。
ただ、開発に進む前にあと1ステップあります
初心者の方には特に知っておいてほしい Claude Code の安全装置がありますので、次のステップでお話しします。

うまくいかないときは

Q. ブラウザが開きません / ファイアウォールの警告が出ました
A. セキュリティソフトが通信を止めている可能性があります。--remote を付けて実行してください。URL が表示されるので、それを手動でブラウザに貼り付け、表示された認証コードをターミナルに戻して入力します。

aws login --remote

Q. aws: command not found と出ます
A. ターミナルを一度閉じて開き直してください。インストール直後は、開いていたターミナルに変更が反映されていないためです。

Q. aws login なんてコマンドはない、と言われます
A. AWS CLI のバージョンが古いです。aws --version で確認してください。2.32.0 未満なら、Homebrew で入れた場合は brew upgrade awscli、公式インストーラーで入れた場合は aws update または最新のインストーラーを実行し直してください。

Q. AccessDenied が出てログインできません
A. SignInLocalDevelopmentAccess ポリシーの付け忘れです。この記事の「事前準備」に戻って追加してください。

Q. ログインは成功したのに、コマンドを打つと ExpiredToken エラーになります
A. これは要注意の症状です。 以前に aws configure でアクセスキーを設定したことがある場合、そちらが優先されてしまっています。
aws configure list を実行して、Type の列を見てください。login ではなく shared-credentials-file になっているはずです。
解決するには、~/.aws/credentials に残っている古いキーを削除してください。

Q. 会社のパソコンで、ブラウザのログインがうまくいきません
A. 会社の環境ではセキュリティ設定で弾かれることがあります。この記事の後半にあるアクセスキーの手順で進めてください。

【フォールバック】どうしてもうまくいかない場合

ここからは、aws login がどうしても動かなかった方向けの手順です。

うまくいった方は、この節を読む必要はありません。 次の章まで飛ばしてください。

先にお伝えしておくと、これは次善の策です。
先ほどの表のとおり、AWS 公式の推奨順位ではこの方法は最下位(非推奨)に位置づけられています。それでも「設定できずに先に進めない」よりはずっと良いので、手順を載せておきます。

アクセスキーを作る

  1. マネジメントコンソールで「IAM」→「ユーザー」→ 作業用ユーザーを選択
  2. セキュリティ認証情報」タブ →「アクセスキーを作成
  3. ユースケースで「コマンドラインインターフェイス(CLI)」を選択
  4. 注意事項のチェックボックスにチェック → 次へ
  5. アクセスキーを作成

アクセスキー IDシークレットアクセスキー が表示されます。
シークレットアクセスキーは、この画面を閉じると二度と表示されません。 必ず控えておいてください。

aws configure で設定する

aws configure

4つ聞かれるので、順に入力します。

聞かれること入力するもの
AWS Access Key ID作成したアクセスキー ID
AWS Secret Access Keyシークレットアクセスキー
Default region nameap-northeast-1
Default output formatjson

動作確認は aws login の場合と同じです。

aws sts get-caller-identity

保存されるものを見てください

cat ~/.aws/credentials

アクセスキーが、そのままの文字列で保存されています。

[default]
aws_access_key_id = AKIAXXXXXXXXXXXXXXXX
aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

暗号化はされていません。このファイルを見られたら、あなたの AWS アカウントは操作されます。

アクセスキーを使う場合に守ってほしいこと

  • チャットやメールに貼らない(AI とのチャット欄も含みます。設定ファイルに書いてあるので、AI に見せる必要はありません)
  • GitHub に上げない(公開リポジトリに上がったキーは、数分で悪用されます)
  • 画面共有のときは cat ~/.aws/credentials を実行しない
  • 使い終わったら IAM の画面から無効化・削除する

⚠️ あとで aws login に切り替えるときの注意

ここが一番ハマるポイントです。必ず読んでください。

この方法で設定したあと、「やっぱり aws login を使おう」と思って実行すると、ログインは成功するのに、すべてのコマンドが ExpiredToken で失敗するという状態になります。

原因は、~/.aws/credentials に残っているアクセスキーのほうが優先されるからです。
aws login は成功しているので、何が悪いのか非常に分かりにくいです。

切り替えるときは、先に ~/.aws/credentials の中身を削除してください。
これをやらずに実行すると、以下のようなエラーが出ます。

aws: [ERROR]: An error occurred (Configuration): Profile 'default' is already configured with Access Key credentials.

削除したあと aws configure list を実行し、Type の列が login になっていれば正しく切り替わっています。

そして、IAM の画面で古いアクセスキーを無効化・削除するところまでやってください。 使わないキーを残しておく理由はありません。

覚えておくと便利なコマンド

この記事で出てきたものを含め、よく使うものをまとめておきます。

コマンド何をするか
aws --versionバージョンを確認する
aws loginサインインする(12時間で切れたら再実行)
aws logoutサインアウトして認証情報を消す
aws sts get-caller-identityいま自分が誰として操作できるかを確認する
aws configure list認証情報がどこから読まれているかを確認する
aws s3 lsS3 のバケット一覧を表示する(動作確認に便利)

太字の2つは、トラブルが起きたときに最初に打つコマンドです。

「動かない」と思ったら、まずこの2つで現状を確認する癖をつけておくと、解決がぐっと速くなります。

よくある質問

Q. aws loginaws configure sso は違うものですか?
A. 違います。aws configure sso は IAM Identity Center を使う場合の方法です。前回の記事で説明したとおり、個人の単一アカウントで IAM Identity Center を有効にするとクレジットが失効するため、このシリーズでは使いません。

Q. アクセスキーを作らないと、プログラムから AWS を使えないのでは?
A. 使えます。aws login で取得した一時的な認証情報は、AWS CLI だけでなく SDK からも利用できます。ただし一部の SDK やバージョンは未対応なので、プログラムを書く段階になったら公式ドキュメントで対応状況を確認してください。

Q. パソコンを再起動したらログインし直しですか?
A. いいえ。再起動してもセッションは残ります。切れるのは最大12時間経過したときです。

Q. 複数の AWS アカウントを使い分けられますか?
A. できます。aws login --profile 名前 のようにプロファイルを分けて管理します。ただし最初のうちは1つで十分なので、慣れてからで大丈夫です。

Q. aws login の情報が少なくて不安です
A. 正直なところ、2025年11月に追加された新しい機能なので、日本語の解説はまだほとんどありません。詰まったときに検索で解決しにくいのは事実です。
そのぶんこの記事ではトラブルシューティングを厚めに書き、うまくいかない場合の代替手順も載せてあります。それでも解決しない場合は、公式ドキュメントを参照してください。

Q. これで料金は発生しますか?
A. しません。AWS CLI のインストールも aws login も無料です。料金が発生するのは、実際にリソースを作ったときだけです。

さいごに

Mac に AWS CLI をインストールし、コマンドから AWS を操作できる状態にするまでを解説しました。

やったことは3つです。

  1. AWS CLI をインストールする(バージョン 2.32.0 以上)
  2. aws login でサインインする(アクセスキーは作らない
  3. aws sts get-caller-identity で動作を確認する

これで、あなたの Mac は AWS を操作できる状態になりました。

そして重要なのは、手元に長期の認証情報が1つも残っていないことです。
入門記事の手順どおりに進めた結果、パソコンの中に有効期限のないアクセスキーが眠っている、という状態を避けられました。

次回は、AI が想定外の操作をしないようにするための安全設定を行います。
「AI がうっかり消してしまう」を防ぐ仕組みを入れてから、実際にモノを作る回に進みます。

【2026年版】Claude Code に AWS を触らせる前の安全設定【CLAUDE.mdは絶対ルールにならない】
はじめにこんにちは、KUDs です。前回までで、Claude Code から AWS を操作できる状態ができあがりました。ただ、まだリソースは1つも作っていません。わざと作らずに残してあります。理由は単純で、AI にクラウドを触らせるのは、…

シリーズの全体像は、ロードマップから確認できます。

【2026年版】AWS × Claude Code でアプリ開発を始めるロードマップ【Mac・初心者向け】
はじめにこんにちは、KUDs です。「AWS を使ってみたい。できれば AI に手伝ってもらいながら」そう考えたときに最初にぶつかるのは、技術的な難しさよりも「結局、何から手をつければいいのか分からない」という問題だと思います。AWS の記…

KUDs のサービス

KUDs では、実際に AWS 上で動く Web サービスを公開しています。

AI Transcriber — Transcribe and translate audio and video with AI
Upload an audio or video file and get a speaker-separated transcript with translation, powered by AI. Supports 18 langua…
[切り抜きアプリ]YouTube/Twitch生配信からハイライトを自動抽出!
YouTube Live のハイライト抽出時にエラーが発生していた件について、暫定的な処置が完了しました。2025-10-16 以降、Live Highlight Finder にて YouTube Live のハイライト抽出時にエラーが発…
YouTube/Twitchのライブ生配信履歴をカレンダー表示するアプリ!
はじめにこんにちは、KUDs です。今回は、KUDs 自作の Web アプリ「Live Stream Calendar」について紹介です。Twitter(X)「Live Stream Calendar 紹介」Live Stream Cale…

ご質問やご指摘は contact@kuds.jp までお寄せください。
「ここで詰まった」という報告は、記事を良くするうえでいちばんありがたいフィードバックです。

コメント