が利用可能になりました!11月の新機能と修正点についてご確認ください。

ローカルポートフォワーディング

ポートフォワーディングのサポートは、拡張機能を必要とせずに、Microsoft dev tunnels を介して Visual Studio Code に組み込まれています。ローカルWebサービスを実行している場合、**ポート**ビューを使用して、インターネット経由で他の人々がサービスにアクセスできるようにすることができます。

ローカルポートフォワーディングの使い方

まず、フォワーディングするサービスが必要です。まだサービスがないが Node.js がインストールされている場合は、次のコマンドを実行してポート 3000 でサーバーを起動できます。

npx serve

次に、パネル領域の**ポート**ビュー(**ポート:ポートビューにフォーカス**)に移動し、**ポートの転送**を選択します。

Forward a Port button displayed in the Ports view

以前に GitHub にログインしていない場合は、サインインを求めるメッセージが表示されます。次に、転送するポートを入力します。上記のコマンドを使用するデフォルトのポートはポート 3000 です。ポートを転送すると、ポートフォワーディングシステムが開始され、**ポート**ビューが更新されて、転送したポートとその**転送されたアドレス**が表示されます。

Port 3000 added to the Ports view

**転送されたアドレス**の上にカーソルを合わせると、インラインアクションを使用してアドレスをコピーしたり、ブラウザで開いたり、エディター内のプレビューを開いたりできます。

デフォルトでは、転送されたポートは**プライベート**です。URLにアクセスするには、VS Codeでポートフォワーディングプロセスを開始するために使用したのと同じGitHubアカウントでサインインする必要があります。ポートを右クリックして**ポートの表示>パブリック**を選択することで、表示を変更できます。**パブリック**ポートはサインインを必要としません。

よくある質問

リモートマシンに接続している場合、ローカルサービスをどのように転送しますか?

現在、ポートフォワーディングはローカルで実行されているサービスを公開する場合にのみ機能します。リモート接続ではまだ機能しませんが、将来的には機能する予定です。

シナリオによっては、リモートマシンにトンネリングするために、VS Code の Remote - Tunnels 拡張機能を使用することをお勧めします。Remote - Tunnels ドキュメントで詳細を確認できます。

転送されたポートはどのように保護されていますか?

デフォルトでは、トンネルへのホスティングと接続の両方に、各エンドで同じ GitHub または Microsoft アカウントを使用した認証が必要です。どちらの場合も、VS Code は Azure でホストされているサービスへのアウトバウンド接続を行い、ファイアウォールの変更は一般的に必要なく、VS Code はネットワークリスナーを設定しません。

ただし、**パブリック**ポートを開いた場合、リンクを持っているユーザーは誰でも転送されたサービスにアクセスできます。このようなポートを介して機密情報または安全でないサービスをホストしないように注意する必要があります。

基盤となる dev tunnels サービスのセキュリティの詳細については、ドキュメントを参照してください。

ポートフォワーディングにはどのような制限がありますか?

ポートフォワーディングで使用される帯域幅の量と、ポートフォワーディングで使用できるアクティブなマシンの数には制限があり、これは時間の経過とともに変更される可能性があります。Remote-Tunnels ドキュメントで、トンネルの使用制限について詳しく読むことができます。

組織全体でポリシーを構成できますか?

ポートフォワーディングへのアクセスを制御したい組織に所属している場合は、ドメイン `global.rel.tunnels.api.visualstudio.com` へのアクセスを許可または拒否することで実行できます。

Windows デバイスを実行しているユーザーは、dev tunnels のグループポリシー設定を構成して展開することもできます。dev tunnels ドキュメントで詳細を確認できます。