TerraformやAWS CLI、Dockerを快適に使うために、WindowsにWSL2を導入しました。
この記事では、実際に行ったセットアップ手順と、途中で遭遇したエラーへの対処方法をまとめます。
WSL(Windows Subsystem for Linux)は、Windows上でLinux環境を動かすための仕組みです。
AWSやTerraform、Dockerなど、多くの開発ツールはLinux環境との相性が良いため、Windowsで開発する場合でもWSL2を利用するのが一般的です。
今回の開発環境では以下のような構成を想定しています。
PowerShell(管理者)を開き、以下を実行します。
wsl --install
Ubuntuを起動すると、Linuxユーザー名とパスワードの設定を求められます。
例
Enter new UNIX username:
好きなユーザー名を入力します。
続いてパスワードを設定します。
※入力中は文字が表示されませんが正常な動作です。
Ubuntuを起動したら、まず最新状態へ更新します。
sudo apt update
sudo apt upgrade -y
アップグレード中に次のようなメッセージが表示されました。
Failed to connect to system scope bus via local transport: Connection refused
一見エラーに見えますが、今回は最後まで
Processing triggers...
done.
と表示され、更新自体は正常に完了していました。
WSLではsystemd関連の処理で、このような警告が表示されることがあります。
PowerShellで以下を実行します。
wsl --status
今回は
既定のディストリビューション: docker-desktop
既定のバージョン: 2
となっていました。
ここで少し混乱しやすいポイントがあります。
Docker Desktopをインストールすると、docker-desktopというWSLディストリビューションが作成されます。
しかし、これはDockerが内部で利用するためのもので、普段の開発を行う場所ではありません。
おすすめの構成は次の通りです。
Windows
│
├── VS Code
├── Docker Desktop
│
├── Ubuntu (WSL2)
│ ├── Git
│ ├── Terraform
│ ├── AWS CLI
│ ├── Node.js
│ └── Docker CLI
│
└── docker-desktop
└── Docker Engine
開発はUbuntuで行い、Docker Desktopはコンテナ実行基盤として利用します。
現在登録されているWSLを確認します。
wsl -l -v
Ubuntuがインストールされていることを確認したら、
wsl --set-default Ubuntu
を実行します。
これで
wsl
だけでUbuntuが起動するようになります。
WSL環境では今後以下を導入していきます。
この環境をベースに、AWS Organizations、IAM Identity Center、Terraformを利用したインフラ構築を進めていく予定です。
WSL2を導入することで、Windows上でもLinuxとほぼ同じ開発環境を構築できます。
特にAWSやTerraform、Dockerを利用する場合は、Windowsネイティブ環境よりもトラブルが少なく、本番環境との差異も減らせます。
Windowsでクラウドインフラ開発を始める場合は、まずWSL2 + Ubuntuをセットアップしておくことをおすすめします。
この記事をシェア
coiai
この記事もおすすめ
株式会社coiaiは、「想像できることを美しく実現」を掲げ、XR・Web・アプリ・システム開発およびDX支援を行う会社です。 創業2022年、東京都練馬区に本社を置き、要件のヒアリングからPoC(概念実証)、本番運用まで一貫して伴走します。 まずはお気軽にご相談ください。
主なご相談内容
詳しい会社情報は会社概要ページでご覧いただけます。