
Windows10+WSL2環境のLinuxディストリビューションにAWS CLIをインストールしてみた
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
データアナリティクス事業本部の藤川です。2020年5月下旬に、Windows 10 バージョン2004 ビルド19041(通称、May 2020 Update)が正式にリリースされました。今回のリリースでは、WSL(Windows Subsystems for Linux)がWSL2にバージョンアップし、Linuxカーネルがそのまま動くよう、大幅な進化を遂げています。
これから数回に分けて、WSL2の実力を探りつつ、AWS開発環境を改善してみようと思います。
前提環境
次の環境をご用意ください。Ubuntu 20.04 LTSのインストール手順は後述しますので、インストールされていない状態でも構いません。
また、他のLinuxディストリビューションを使用する場合は、適宜読み替えてください。
- Windows 10 バージョン2004 ビルド19041(May 2020 Update)以降
Windows Subsystem for Linux(Linux用Windowsサブシステム)をインストール済み仮想マシン プラットフォームをインストール済みWSL2 Linuxカーネル更新プログラムをインストール済み- IAMユーザ及びIAMユーザのアクセスキーが発行済み
WSL用のLinuxディストリビューション(本記事ではUbuntu 20.04 LTS)を使用
ゴール
本記事では、Windows 10 Home Editionを使用し、WSL2用のUbuntu 20.04 LTSにインストールしたAWS CLIを使用できるようにします。
手順
前提環境を確認
PowerShellかコマンドプロンプトを起動し、次のコマンドを実行します。dism.exe /online /get-features-
実行結果に次の2点が
有効と設定されていれば先へ進んでください。機能名 : Microsoft-Windows-Subsystem-Linux 状態 : 有効 機能名 : VirtualMachinePlatform 状態 : 有効
Ubuntu 20.04 LTSをインストール
Microsoft StoreからUbuntu 20.04 LTSをインストールします。Ubuntu 20.04 LTSを起動します。
Linuxアカウントについて聞かれますので、適当に作成してください。
Windows Explorerで%USERPROFILE%\AppData\Local\Packagesフォルダを開きます。CanonicalGroupLimited.Ubuntu20.04onWindows_*で始まるファイルを探し、[右クリック]-[プロパティ]を開きます。[詳細設定]ボタンをクリックします。
[内容を圧縮してディスク領域を節約する]のチェックを外し、[OK]ボタンをクリックします。
- 元の
[プロパティ]ダイアログに戻るので、[OK]ボタンをクリックします。 [属性変更の確認]ダイアログが開くので、[変更をこのフォルダー、サブフォルダーおよびファイルに適用する]が選択されていることを確認し、[OK]ボタンをクリックします。
[属性の適用エラー]ダイアログが開くので、[すべて無視]ボタンをクリックします。
属性の適用中ダイアログが開いて、変換処理が開始します。
筆者の環境では、40分程で完了しましたコマンドプロンプトを開きます。-
次のコマンドを実行し、
WSLからWSL2に変換します。
筆者の環境では、5分程で完了しましたwsl --set-version Ubuntu-20.04 2変換中です。この処理には数分かかることがあります... WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください 変換が完了しました。 -
ようやく終わりました。筆者の環境では、元々インストールしていた
Ubuntuに加えて、Ubuntu-20.04がインストールされました。wsl --list --verboseNAME STATE VERSION * Ubuntu Running 2 Ubuntu-20.04 Running 2
AWS CLIをインストール
※参考:LinuxでのAWS CLIバージョン2のインストールに従い、AWS CLIをインストールしてください。
[スタート]メニュー-[Ubuntu 20.04 LTS]をクリックします。- 依存パッケージをインストールします。
sudo apt install unzip -
AWS CLIをインストールします。curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install -
AWS CLIがインストールされたことを確認します。aws --version -
次のように表示されればインストール完了です。
aws-cli/2.0.17 Python/3.7.3 Linux/4.19.104-microsoft-standard botocore/2.0.0dev21
credentials/configファイル
※詳細は、設定ファイルと認証情報ファイルの設定をご覧ください。
コマンドプロンプトを開きます。- インストール済みの
ディストリビューション名を確認します。wsl --list --verboseNAME STATE VERSION * Ubuntu Running 2 Ubuntu-20.04 Running 2 -
Windows Explorerで\\wsl$\<ディストリビューション名>を開きます。\\wsl$\Ubuntu-20.04 -
ルートディレクトリが表示されるので、ホームディレクトリ(
/home/<Linuxユーザ名>)を表示します。\\wsl$\Ubuntu-20.04\home\<Linuxユーザ名> -
Windowsでいつも使用している
credentialファイルとconfigファイルをコピーしましょう。無ければ、新規作成してください。Windows Explorerで%USERPROFILE%フォルダを開きます。 -
%USERPROFILE%フォルダ直下にある.awsフォルダを、フォルダごと[Ubuntu 20.04 LTS]のホームディレクトリにコピーしましょう。%USERPROFILE%\.aws ↓ \\wsl$\Ubuntu-20.04\home\<Linuxユーザ名>\.aws -
同様に、
.sshフォルダも、いつも使用しているconfigファイルやキーペアファイル(*.pem)等をホームディレクトリにコピーしましょう。%USERPROFILE%\.ssh ↓ \\wsl$\Ubuntu-20.04\home\<Linuxユーザ名>\.ssh
動作確認
[Ubuntu 20.04 LTS]を開きます。-
awsコマンドを実行します。aws ec2 describe-instances -
EC2インスタンスの一覧が表示されました。

さいごに
Linuxディストリビューションをインストールする際に、最初からWSL2形式でインストールされてくれると楽なのですが、その方法は見つかりませんでした。また、WSL2になっても、一つのLinuxディストリビューションを1環境しかインストールできないため、開発プロジェクトごとに異なる環境を用意しておくことはできないようです。VMwareやDockerほど、使い勝手が良い訳ではありませんが、WindowsでMacのような開発環境を実現できるようになったことは大きな前進と言えるでしょう。
次回は、WSL2環境でAWS SAM CLIを動かしてみたいと思います。






