Windows11Proのローカル環境(WSL2/Ubuntu/Docker/VS Code)構築からAWSのECRへプッシュ、ECSデプロイまで

Windows11を購入しました。ローカルの開発環境を整え、
コンテナを実際にAWSで動かすところまでやってみた記録です。

## はじめに
Windows11Pro+WSL2+Ubuntu+Docker環境を構築し、
VS CodeからUbuntuに接続しプログラム作成、コンテナイメージ作成、
AWSのECRへプッシュ、ECSへのデプロイ・接続確認までを行います。

1. **[WSL2のインストール](https://qiita.com/hiropon1839/items/126de61987a0daa8267d) (今回の記事)**
2. [Visual Studio CodeのインストールとUbuntu on WSL2への接続](https://qiita.com/hiropon1839/items/0f48d85733ad0c85b3b1)
3. [Docker Desktopのインストール、Dockerfile作成、コンテナビルドと修正](https://qiita.com/hiropon1839/items/2af467975fb31bbb2819)
4. [AWS CLIインストール、IAMユーザー作成、アクセスキー作成、AWSリソースへのアクセス](https://qiita.com/hiropon1839/items/cd9d1e049ac5d0c07a64)
5. [AWS ECRリポジトリ作成、Ubuntu on WSL2からECRへのプッシュ](https://qiita.com/hiropon1839/items/52442eb55a58c0b409a0)
6. [AWS ECSのタスク定義、クラスタ作成、サービス作成](https://qiita.com/hiropon1839/items/d443d0073f12819f1a88)


## WSL2のインストール
下記Microsoftのサイトを参考に、WSL2のインストールを実行します。
- [WSL を使用して Windows に Linux をインストールする](https://learn.microsoft.com/ja-jp/windows/wsl/install) (Microsoft)

デフォルトではUbuntuがインストールされます。Ubuntuのまま進めます。

```powershell:poweshell(管理者モード)
wsl --install
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/284b0913-624f-5393-ce0e-d33dcf47d8ee.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/3e2ec61d-de9b-5269-4677-3f7116320c58.png)

```
PS C:\Users\hiropon> wsl --install
インストール中: 仮想マシン プラットフォーム
仮想マシン プラットフォーム はインストールされました。
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
インストール中: Ubuntu
Ubuntu はインストールされました。
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。
PS C:\Users\hiropon>
```
　
Womdowsを再起動します。
再起動が完了すると、Windowsターミナルが自動的に実行され、Ubuntuが起動されます。
初回なので、新規にユーザー名とパスワードを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/7ad0bbe8-c071-6ade-3bb3-67ac6de87230.png)


下記のガイドに従って、登録します。
今回ユーザー名は「hiropon」としました。
適宜、ご自身の利用するユーザー名に読み替えてください。

- [Linux のユーザー名とパスワードを設定する](https://learn.microsoft.com/ja-jp/windows/wsl/setup/environment#set-up-your-linux-username-and-password) (Microsoft)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/e02b5d98-138a-e467-e7c3-a9981ecebcaa.png)

```bash
Ubuntu は既にインストールされています。
Ubuntu を起動しています...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: hiropon
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.15.90.1-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage


This message is shown once a day. To disable it please create the
/home/hiropon/.hushlogin file.
hiropon@um560xt:~$
```


パッケージの更新とアップデートを行います。
```bash:bash
sudo apt update && sudo apt upgrade
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/555c1b11-eff9-ac08-e0c0-44f11308f4d0.png)
・・・略・・・
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/17ed6bdb-861e-3d79-0aad-1a28e639cbca.png)



Ubuntuを再起動します。
```bash:bash
sudo reboot
```

再起動後は、スタートメニューから「Ubuntu」を起動、
もしくはWindowsターミナルを開いて、「Ubuntu」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/8aa83ac4-83a1-5bbc-c60f-883311112d50.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3488334/afdf3ca6-e26d-f463-11d8-2121daa59ea8.png)


## さいごに
WSL2のインストール、Ubuntuのアップデート・再起動、WindowsコンソールからUbuntuへの接続が完了しました。
次回は、VS Codeをインストールし、VS CodeからUbuntuに接続します。

- [Visual Studio CodeのインストールとUbuntu on WSL2への接続](https://qiita.com/hiropon1839/items/0f48d85733ad0c85b3b1)


## 参考ページ
- [WSL を使用して Windows に Linux をインストールする](https://learn.microsoft.com/ja-jp/windows/wsl/install) (Microsoft)
- [Linux のユーザー名とパスワードを設定する](https://learn.microsoft.com/ja-jp/windows/wsl/setup/environment#set-up-your-linux-username-and-password) (Microsoft)