WSL 3.0がリリースされ、コンテナと「wslc」CLIのネイティブサポートが搭載されました。

キーポイント:
  • Windows上でLinuxコンテナのライフサイクル全体を管理するためのwslcとそのSDK APIの紹介。
  • wslcsession.exe子プロセスとユーザーごとの個別のVHDストレージを使用したセッション分離。
  • virtiofsのデフォルトファイルシステムは、オペレーティングシステム間の読み書き速度を2倍にします。
  • Microsoft Intuneポリシーとのエンタープライズセキュリティ統合、およびMicrosoft Defender for Endpointによる監視。
WLS

WLS は、Windows 上で Linux 実行可能ファイルをネイティブに実行するために Microsoft によって開発された互換性レイヤーです。

マイクロソフトは先日、WSL 3.0の一般提供開始を発表しました。このアップデートにより、WindowsはコンテナベースおよびAIを活用したワークロード向けの包括的な開発プラットフォームとして位置づけられます。

今回のリリースにおける主な革新点は、コマンドラインツール「wslc」(WSL Containers)とその組み込みエイリアス「container.exe」の導入です。このユーティリティは、C++およびC#/WinRTに対応した補完的なSDK APIと組み合わせることで、開発者やネイティブWindowsアプリケーションが、サードパーティの仮想化環境に依存することなく、Linuxコンテナを作成、実行、管理できるようになります。

WSL 3.0の主な新機能

「wslc」ツールはコンテナのライフサイクル全体をカバーし、システムイメージの作成、起動、停止、エクスポート、検査などの操作に加え、各インスタンスに割り当てられるCPUとメモリのリソース制限も可能です。ネットワークの分野では、新バージョンではカスタム仮想ネットワークの作成、コンテナの複数ネットワークへの接続、ポートフォワーディングが可能になりました。さらに、開発者は仮想ハードディスク(VHD)を操作したり、デフォルトのストレージパスを設定したり、マウントされたLinuxコンテナ内でWindowsディレクトリを直接共有したりすることもできます。

分析と監視のために、WSL 3.0では「wslc logs」コマンドとリアルタイムイベント監視機能が導入され、コンテナアクティビティログから詳細な統計情報と強調表示された出力が提供されます。また、非特権ユーザーがコンテナ内からグラフィックス処理ユニット(GPU)にアクセスできるようにすることで、オペレーティングシステムレベルでの統合が強化され、AIモデルやローカルで開発されたグラフィックスツールの実行速度が向上します。

分離と最適化されたネットワーク

従来の仮想化アーキテクチャとは異なり、WSL 3.0 はWindows サービス「wslservice.exe」の管理者権限を使用してコンテナをデプロイします。ただし、分離性を確保するために、このサービスは「wslcsession.exe」と呼ばれるセカンダリ プロセスを生成します。このプロセスは、現在のシステム ユーザーの権限で実行されます。これらのセッションは完全に分離されており、それぞれに独自の仮想ハードディスク (VHD) が割り当てられます。この仮想ハードディスクは、デフォルトではユーザーのディレクトリ (`%AppData%\Local\wslc\sessions`) に配置されます。

ネットワークのパフォーマンスと互換性が向上しました。ファイルシステム間のアクセスにvirtiofsテクノロジーがデフォルトで採用されたことで、従来のWindowsファイルアクセスと比較して最大2倍の読み書き速度を実現しています。

通信に関しては、「consumme」ネットワークモードが導入されました。このモードでは、LinuxネットワークトラフィックをWindowsネットワークインターフェース経由で直接ルーティングすることで相互運用性が向上し、コンテナアプリケーションが既存の仮想プライベートネットワーク(VPN)、エンタープライズプロキシ、および企業セキュリティポリシーとシームレスに連携できるようになります。

WSL 3.0 を運用環境で導入しやすくするため、マイクロソフトは Microsoft Intune と Microsoft Defender for Endpoint (MDE) を通じてガバナンス制御を展開しました。IT 管理者は、MDE を使用して WSL コンテナ内のプロセス、ネットワーク、ファイルを監視し、これらのアクティビティをホスト システムと関連付けて統合的なセキュリティ分析を行うことができます。さらに、Intune ポリシーでは、コンテナへのアクセスを無効にしたり、「ログ記録権限リスト」を構成したりすることで、開発チームが検証済みのリポジトリからのみイメージを取得するように強制できます。

wslcと互換性のあるツール群は、コミュニティの貢献のおかげで急速に拡大しています。Visual Studio Codeエディタは、「Dev Containers」拡張機能を通じてwslcをデフォルトドライバとしてサポートするようになり、ソースコードのリモートコンパイルが容易になりました。

同様に、Aspireのようなツールは、WSL 3.0を主要な実行環境として使用できます。コマンドラインインターフェイスに加えて、開発者は、ターミナルベースの「Lazywslc」や「WinUI 3 WSL Container Desktop」デスクトップアプリケーションなどのビジュアルアプリケーションを使用してローカルインフラストラクチャを管理したり、WSL上でホストされているLinuxディストリビューションからスクリプトを介してリモートでコマンドを実行したりできます。将来的には、Microsoftはwslc composeオーケストレーションの完全なサポートをリリースすることで、このエコシステムを拡張し、既存の業界標準のcompose.yamlファイルとの直接的な互換性を実現する予定です。

最後に、さらに詳しく知りたい場合は、以下のリンクから詳細をご確認いただけます。


Googleで優先ソースとして追加する