WSL2で劇的に変わるあなたのWebアプリケーション開発環境【その2:導入編】

こんにちは、サイオステクノロジー技術部 武井です。今回はWindows Subsystem for Linuxを用いて、Webアプリケーション開発環境を劇的に改善してみたいと思います。3回シリーズでお届けする予定で、第2回目は導入編となります。

  1. その1:概要編
  2. 今回はこちら → その2:導入編
  3. その3:実践編

※ 本記事は技術評論社「Software Design」2019年11月号(詳細はこちら)に私が寄稿した「Microsoft Azureで最新Webアプリ開発」の記事をベースとしております(本ブログ掲載は技術評論社様ご了承済みです)。

WSL1とWSL2の導入方法

本章では、WSL1とWSL2の導入方法をご紹介致します。

WSL2を直接インストールすることは出来ず、まず従来通りWSL1をインストールしてから、PowerShellでWSL2に変換するという作業が必要になります。

また、前提条件として、Windows Insider Preview Build 18917以降が動作している環境であることが必須です。その環境の導入方法については、割愛させて頂きます(※1)。

※1 Windows Insiderに登録して更新プログラムを受け取っていれば使用可能ですが、Windows Insider Previewは開発中のバージョンにより、まだバグが残っている可能性もあるため、動作については自己責任の範囲でお願い致します

WSL1のインストール

まずWSL1の導入方法をご説明致します。

スタートボタンを右クリックして、「アプリと機能(F)」をクリックします。

Picture2

 

「プログラムと機能」をクリックします。

Picture3

 

「Windowsの機能の有効化または無効化」をクリックし、「Windows Subsystem for Linux」をチェックして「OK」をクリックします。OSを再起動すると、WSLのインストールは完了です。

Picture4

 

Microsoft Storeを起動し、検索用のボックスに「wsl」と入力すると、その候補に」「Run Linux on Windows」が表示されますので、それをクリックします。

Picture5

 

「Ubuntu」をクリックし、次画面にて「Get」をクリックします。

Picture6

 

これでWSLのインストールは終わりです。では、WSLを起動してみましょう。スタートボタンをクリックすると、以下のように「Ubuntu」のアイコンが表示されますので、クリックします。

Picture7

 

初回だけ起動に数分かかりますが、その後にログインするためのユーザー名とパスワードを入力すれば起動は完了です。

いかがでしたでしょうか?こんなにも簡単にLinux on Windowsの環境が構築出来てしまいました。素晴らしいですね、WSL!!

WSL2のインストール

次に、WSL2のインストール方法をご説明致します。WSL2のインストールは、GUIでの方法は提供されておらず、PowerShellで実施します。先程作成したWSL1のOSをWSL2の形式に変換するというアプローチを取ります。

まず、PowerShellを管理者権限で起動し、以下のコマンドを実行します。

Yを入力してOSを再起動します。OS起動後に再びPowerShellを起動します。今回は管理者権限でなくても問題ありません。以下のコマンドを実行して、「変換が完了しました。」と表示されれば、WSL2への変換は成功です。

ちなみに筆者の環境では、最初は以下のエラーが出てWSL2への変換が失敗しました。筆者の環境は、Windows on Parallels on Macな環境で検証したので、ParallelsをPro Editionにアップグレードして、「ネストされた仮想化」を有効にする必要がありました。他の環境でも同様のエラーが出た場合には、ご参考頂ければ思います。

WSLにAzureCLIを導入

本章では、WSLにAzure CLIを導入する方法をご紹介します。これにより、Azureの管理が劇的に改善します。

Azure CLIとは、Azureの各種リソースをコマンドラインで管理できるインターフェースで、例えば、Virtual Machineを作成したり、一覧を表示するといったことが可能です。

Azure CLIは、もちろんWindowsでも使うことができます。しかし、Azure CLIで出力されるようなテキストの処理は、断然、Bashを始めとしたLinux上のシェルの方が優れています。メディア系ファイルの操作に優れたWindowsで音楽や動画を楽しみながら、Linux上でAzure CLIを使って、その結果を華麗にsedやawkしたいと思いませんか?

そんな夢を叶えてくれるのが、WSLです。WSL上ではLinuxを稼働することができるので、もちろんAzure CLIをインストールすることが可能です。

では、早速実践してみましょう。Azure CLIのインストールは以下のコマンドをWSLで実行してウィザードに従うだけです。

※本手順はWSLのディストリビューションがUbuntuであることを前提としています

Azure CLIを使うためには、まずAzureのテナントにログインする必要があります。以下のコマンドを実行して下さい。

先のコマンドの実行結果に表示されているように「https://microsoft.com/devicelogin」のURLにブラウザからアクセスして、表示されているコードを入力します。

Picture8

 

Azureにログインするためのログインフォームが表示されますので、Azure CLIで操作したいサブスクリプションが紐付いているアカウントでログインします。

ログインが完了したら、Virtual Machineの一覧を出力してみましょう。下記の例は、Virtual Machineの各項目タブ区切りで出力している例です(少々わかりにくいですが)。

さて、ここからがWSL上でAzure CLIを動かす真骨頂です。Virtual Machineのリージョンが東日本のものだけを出力したいとします。リージョンは8列目に出力されている「japaneast」です。PowerShellでは難しいですが、Linuxではawkを使った以下のコマンドで一発です。

まとめ

いかがでしたしょうか?WSL1とWSL2のインストール方法をご説明いたしました。これであなたのWindowsの中にLinuxが生まれます。次は、その3:実践編として、WSL2でWebアプリケーションの開発環境を劇的に改善してみたいと思います。

>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。

コメント投稿

メールアドレスは表示されません。


*