WSL2でAWS CLIをセットアップする入門|WindowsからAWSのEC2・S3を操作する最初のステップ

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)【Linux入門】初心者のための基礎知識・講座 > WSL2でAWS CLIをセットアップする入門|WindowsからAWSのEC2・S3を操作する最初のステップ
「AWSのS3やEC2を操作するたびに、ブラウザのマネジメントコンソールを開いて画面をクリックしていませんか?」

コンソール操作は直感的ですが、複数のバケットやインスタンスを扱いはじめると、毎回クリックして探すのは非効率になってきます。WSL2のLinuxターミナルにAWS CLIを入れれば、aws s3 lsaws ec2 describe-instancesの1行でAWSリソースをコマンドから操作できます。

この記事では、WSL2(Windows Subsystem for Linux 2)のUbuntu上にAWS CLI v2をインストールして、認証情報の設定からS3・EC2の基本操作を試すまでの手順を初心者向けに解説します。実際にコマンドを動かしながら、クラウドとLinuxターミナルをつなぐ感覚をつかんでください。

この記事のポイント

・WSL2のUbuntuにAWS CLI v2をインストールして「aws」コマンドが使えるようになる
・aws configureでアクセスキー・リージョンを設定するだけで接続できる
・aws s3 ls・aws ec2 describe-instancesで基本的なリソース確認ができる
・「command not found」「Unable to locate credentials」エラーの対処法も解説する


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

なぜWSL2でAWS CLIを使うのか?

AWSの操作にはブラウザのマネジメントコンソールを使う方法が一般的ですが、現場のエンジニアはコマンドラインを好んで使います。その理由は主に3つあります。

繰り返し操作を自動化できる:シェルスクリプトと組み合わせれば、複数のS3バケットへの一括アップロードや、EC2インスタンスの一括起動も1行で実行できます
操作ログが残る:historyコマンドで過去の操作が確認でき、何をやったか記録が残ります
Linux環境と統一できる:本番のLinuxサーバー上でもAWS CLIは同じコマンドで動きます。WSL2で慣れておけば、本番でも迷いません

WSL2はWindows上でLinuxのターミナル環境を使えるようにする仕組みです。WSL2がまだインストールされていない方は、先に「WSL2でLinuxを始める手順」の記事で環境を整えてから戻ってきてください。

AWS CLI v2のインストール手順

動作確認環境: Ubuntu 24.04 LTS(WSL2)、AWS CLI v2.17.x

1. WSL2のUbuntuを最新の状態にする

まず、Ubuntuのパッケージを最新の状態にします。WSL2のターミナルを開いて以下を実行してください。

sudo apt update && sudo apt upgrade -y

パッケージの更新が完了するまで少し待ちます。

2. AWS CLI v2のインストーラーをダウンロードする

AWSの公式インストーラーをcurlでダウンロードして展開します。

# インストーラーのダウンロード curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" # unzipで展開(入っていない場合は sudo apt install unzip -y で導入) unzip awscliv2.zip # インストール実行 sudo ./aws/install

3. インストールの確認

インストールが成功したかどうかをバージョンコマンドで確認します。

aws --version

以下のような出力が表示されれば成功です。

aws-cli/2.17.45 Python/3.12.6 Linux/5.15.167.4-microsoft-standard-WSL2 exe/x86_64.ubuntu.24

バージョン番号が少し違っても問題ありません。「aws-cli/2.」で始まっていればAWS CLI v2が動いています。

AWS CLIの初期設定(aws configure)

インストールしただけでは、どのAWSアカウントに接続するか分かりません。aws configureコマンドで認証情報を設定します。

1. IAMユーザーのアクセスキーを用意する

aws configureに必要なのは以下の4つの情報です。

AWS Access Key ID:IAMユーザーのアクセスキーID(AKIAで始まる20文字)
AWS Secret Access Key:アクセスキーに対応するシークレットキー(40文字)
Default region name:操作するAWSリージョン(東京リージョンは「ap-northeast-1」)
Default output format:コマンドの出力形式(json・text・tableから選ぶ。初心者はjsonでOK)

アクセスキーはAWSマネジメントコンソールの「IAM > ユーザー > セキュリティ認証情報」タブから発行できます。発行したら手元にメモしておいてください(シークレットキーは一度しか表示されません)。

2. aws configureコマンドで設定する

aws configure

コマンドを実行すると、4つの項目を順番に聞かれます。

AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: ap-northeast-1 Default output format [None]: json

上の出力はAWS公式ドキュメントで使われているサンプル値です。実際には自分のアクセスキーを入力してください。

3. 設定ファイルの確認

設定は~/.aws/ディレクトリに保存されます。

# 認証情報ファイル(アクセスキー) cat ~/.aws/credentials # 設定ファイル(リージョン・出力形式) cat ~/.aws/config

# ~/.aws/credentials の内容例 [default] aws_access_key_id = AKIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

基本的な操作を試す

設定が完了したら、実際にAWSリソースにアクセスしてみます。

1. S3バケットの一覧を確認する

aws s3 ls

S3バケットが存在する場合は以下のような出力になります。

2025-03-15 10:23:45 my-backup-bucket-20250315 2025-08-01 08:00:12 my-webapp-static-assets

バケットがまだない場合は何も表示されません(エラーではありません)。

2. EC2インスタンスの一覧を確認する

EC2インスタンスの状態をテーブル形式で確認します。

aws ec2 describe-instances --query "Reservations[].Instances[].{ID:InstanceId,State:State.Name,Type:InstanceType}" --output table

EC2インスタンスがある場合は以下のように表示されます。

--------------------------------------------- | DescribeInstances | +------------------+-----------+-----------+ | ID | State | Type | +------------------+-----------+-----------+ | i-0a1b2c3d4e5f | running | t3.micro | | i-0f5e4d3c2b1a | stopped | t2.small | +------------------+-----------+-----------+

--queryオプションで必要な列だけを絞り込んでいます。JSON全量が不要な場面でよく使うパターンです。

よくあるエラーと対処法

1. 「command not found: aws」が表示される

インストール後すぐにawsが使えない場合は、ターミナルを閉じて再起動してください。パスが反映されていないことが原因です。

それでも解決しない場合は、インストールパスを確認します。

which aws # /usr/local/bin/aws が返ってくれば正常 # 何も返ってこない場合はインストールが失敗している # 再インストールする場合は以下でインストール先を指定する sudo ./aws/install --update

2. 「Unable to locate credentials」エラーが出る

aws configureを実行していないか、設定に失敗している場合に出るエラーです。

An error occurred (AuthFailure) when calling the DescribeInstances operation: Unable to locate credentials. You can configure credentials by running "aws configure".

対処法: aws configureを再度実行して、アクセスキーIDとシークレットキーを正しく入力してください。アクセスキーに必要なIAMポリシーがない場合は「AccessDenied」エラーになります。その際はAWSのIAM管理画面でポリシーを確認してください。

3. リソースが見つからない(空の一覧が返る)

設定したリージョンと、実際にリソースを作成したリージョンが異なると、S3やEC2の一覧が空になります。

# コマンド実行時に一時的にリージョンを指定する方法 aws ec2 describe-instances --region us-east-1 # 設定を更新する場合は aws configure を再実行する

アクセスキーの管理で注意すること

AWS CLIを使うにあたって、アクセスキーの扱いには十分な注意が必要です。現場で実際によく起きるミスを2つ紹介します。

【注意】アクセスキーをGitHubに絶対にアップロードしない~/.aws/credentials.envファイルをGitリポジトリに含めると、インターネット上に認証情報が公開されてしまいます。悪意のある第三者に発見されると、クラウドリソースが不正利用されて多額の課金が発生する事故になります
【注意】ルートユーザーのアクセスキーは作成しない:AWSの最高権限を持つルートユーザーのアクセスキーを発行するのは危険です。必要最小限の権限を持つIAMユーザーを作成して、そのアクセスキーを使う運用が現場の鉄則です

アクセスキーが漏洩した疑いがある場合は、AWSマネジメントコンソールのIAM画面からすぐに無効化してください。

本記事のまとめ

やりたいこと コマンド
AWS CLIのバージョン確認 aws --version
認証情報の設定 aws configure
S3バケット一覧の表示 aws s3 ls
EC2インスタンス一覧(テーブル形式) aws ec2 describe-instances --output table
特定リージョンを指定して実行 aws ec2 describe-instances --region ap-northeast-1
認証情報ファイルの確認 cat ~/.aws/credentials
WSL2にAWS CLIを設定することで、WindowsのPCからでもLinuxターミナル感覚でAWSを操作できるようになります。次のステップとして、シェルスクリプトとAWS CLIを組み合わせた自動化にも挑戦してみてください。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
コマンドを「なんとなく打つ」段階から卒業したい方は、ぜひ受け取ってみてください。
無料マニュアルを受け取る >>

次に読む記事(LinuxMaster.JP)

DNS設定とresolv.confをnmcliで管理する方法|NetworkManagerとの連携も解説
Apacheのタイムアウト設定を確認・変更する方法|Timeout・KeepAliveTimeout対応
ssコマンドでポートの使用状況を確認する方法|LISTEN・ESTABの見方
systemctlでサービスを管理する方法|起動・停止・自動起動設定
tarコマンドで圧縮・解凍する方法|.tar.gzと.tar.bz2の両対応
ftpコマンドでファイルを転送する方法|接続からダウンロードまで
rpmコマンドでパッケージを照会・検証する方法|RHEL/CentOS対応

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。