開発トンネル コマンド ライン リファレンス
開発トンネルには、開発トンネルを作成および管理するためのコマンド ライン インターフェイス (CLI) ツールが用意されています。 この記事では、さまざまな devtunnel
CLI コマンドの構文とパラメーターについて説明します。
重要
現在、この機能はパブリック プレビュー段階にあります。 このプレビュー バージョンはサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。
Note
devtunnel
CLI コマンドはプレビュー段階です。 コマンド名とオプションは、今後のリリースで変更される可能性があります。
グローバルなオプション
-v, --verbose
: 詳細出力を有効にします。-?, -h, --help
: ヘルプと使用状況の情報を表示します。
ユーザー資格情報を管理する
開発トンネル サービスでは、開発トンネルの管理とアクセスを承認するためのログインが必要です。 既定では、開発トンネルには開発トンネルを作成したユーザーのみがアクセスできますが、そのユーザーは他のユーザーにアクセス権を付与できます。
ログイン後、ログイン トークンはシステムのセキュリティで保護されたキー チェーンにキャッシュされ、有効期限が切れるまでの数日間有効です。 CLI からログアウトすると、このキャッシュされたトークンはクリアされますが、ブラウザーの Cookie はクリアされません。 開発トンネルでの認証にブラウザーを使用した場合は、これに開発トンネル アクセス トークンが含まれる場合があります。
command | 説明 |
---|---|
devtunnel user login |
Microsoft または GitHub アカウントを使用してログインします。 |
devtunnel user logout |
キャッシュされたトークンをクリアする |
devtunnel user show |
現在のログイン状態を表示する |
ヒント
devtunnel login
と devtunnel logout
は、ログインとログアウトのための短縮形のコマンドです。
これらのコマンドの使用例を次に示します。
例 | 説明 |
---|---|
devtunnel user login |
Microsoft 組織 (Microsoft Entra ID) または個人用アカウントを使用したログイン |
devtunnel user login -g |
GitHub アカウントを使用したログイン |
devtunnel user login -d |
ローカルの対話型ブラウザー ログインが使用できない場合は、デバイス コード ログインを使用して GitHub アカウントでログインします |
devtunnel user login -g -d |
ローカルの対話型ブラウザー ログインが使用できない場合は、デバイス コード ログインを使用して GitHub アカウントでログインします |
開発トンネルをホストする
devtunnel host
は、開発トンネルをホストするために使用されるメイン コマンドです。 このコマンドは、開発トンネルを介してアクセスしたいサーバーを実行しているホスト システムで実行する必要があります。
command | 説明 |
---|---|
devtunnel host |
開発トンネルをホストします。 開発トンネル ID が指定されていない場合は、接続が閉じられた後に削除される新しい一時的な開発トンネルが作成されます。 |
このコマンドの使用例を次に示します。
例 | 説明 |
---|---|
devtunnel host -p 3000 |
ホスト システム上のポート 3000 でリッスンしているサーバーの一時的な開発トンネルをホストします。 |
devtunnel host -p 3000 --allow-anonymous |
一時的な開発トンネルをホストし、匿名クライアント アクセスを有効にします。 |
devtunnel host -p 3000 5000 |
ポート 3000 と 5000 でリッスンしているローカル サーバーの一時的な開発トンネルをホストします。 |
devtunnel host -p 8443 --protocol https |
HTTPS プロトコルを使用するポート 8443 でリッスンしているサーバーの一時的な開発トンネルをホストします。 |
devtunnel host -p 8000 --expiration 2d |
カスタム有効期限を持つ一時的な開発トンネルをホストします。 最小値は 1 時間 (1h)、最大値は 30 日 (30d) です。 |
devtunnel host TUNNELID |
既に構成されている既存の開発トンネルをホストします。 |
警告
開発トンネルへの匿名アクセスを許可すると、インターネット上のすべてのユーザーがローカル サーバーに接続できます (開発トンネル ID を推測できる場合)。
Ctrl + C を押して、開発トンネル ホスト プロセスを停止し、開発トンネル経由でクライアント接続を終了します。 既存の開発トンネルが指定されていない場合、プロセスによって自動的に作成された開発トンネルが、プロセス終了時に削除されます。
開発トンネルに接続する
Web 転送 UI を使用する:
devtunnel host
コマンドの出力は次のようになります。
Hosting port 3000 at https://l3rs99qw-3000.usw2.devtunnels.ms/
表示される https:
URI は、開発トンネル ポートに固有です。最初のコンポーネントは、指定された開発トンネル ID とポート番号を含むサブドメインメインです。
ホストされるポートが Web サーバーに接続している場合、その URI は、どこからでもブラウザーで直接開くことができます。 開発トンネルへのアクセスに承認が必要な場合、URI への最初の要求はログイン ページにリダイレクトされ、ユーザーが承認された後にサイトに戻ります。
ホストされるポートが Web サービスに接続している場合、その URI は Web サービス クライアント アプリケーションによってベース URI として使用できます。 ただし、開発トンネルで匿名アクセスが許可されていない場合、通常、Web サービス クライアントは認証方法を認識しません。 Web サービスがパブリックに公開しても安全な場合は、匿名アクセスを許可することを検討してください。 そうでない場合、Web サービス クライアントは、接続を承認するための開発トンネル アクセス トークンを含む要求ヘッダーを追加できます。
CLI を使用する:
クライアント ブラウザーまたはアプリケーションを開発トンネル リレー URI に直接接続する代わりに、CLI を使用して、クライアントのポートから開発トンネル ポートに接続を転送できます。 また、開発トンネルで匿名アクセスが許可されていない場合は、クライアントもログインする必要がある場合もあります。
devtunnel connect TUNNELID
TUNNELID
をホストで使用されたのと同じ開発トンネル ID に置き換えます 。
成功した場合は、次のようなクライアントの出力が表示されます。
Connected to tunnel: l3rs99qw
SSH: Forwarding from 127.0.0.1:3000 to host port 3000.
SSH: Forwarding from [::1]:3000 to host port 3000.
これで、ホストのポート 3000 で共有されたサーバーが、IPv4 または IPv6 を使用してクライアントの localhost:3000
で使用できるようになりました。 ("SSH" プレフィックスは、開発トンネル サービスがポート転送用の標準 SSH プロトコルに基づいて構築されるためです)。ホストされるポートが Web サーバーに接続している場合は、http://localhost:3000/
をブラウザーで開くことができます。 この場合、必要に応じてクライアントの CLI ログイン トークンを使用して接続を承認したため、それ以上の承認は必要ありません。
詳細設定: 開発トンネルを管理する
まだホストせずに開発トンネルを作成できます。 これは、次のような高度な開発トンネルの構成と管理に便利です。
- 所有しているすべての開発トンネルの一覧表示
- 開発トンネルのポートの追加と削除
- 開発トンネルのアクセス制御の管理
- 説明やタグなどのメタデータの開発トンネルへの追加
command | 説明 |
---|---|
devtunnel create |
永続的な開発トンネルを作成する |
devtunnel list |
開発トンネルを一覧表示する |
devtunnel show |
開発トンネルの詳細を表示する |
devtunnel update |
開発トンネルのプロパティを更新する |
devtunnel delete |
開発トンネルを削除する |
devtunnel delete-all |
すべての開発トンネルを削除する |
これらのコマンドの使用例を次に示します。
例 | 説明 |
---|---|
devtunnel create -a |
匿名アクセスを許可する永続的な開発トンネルを作成します。 |
devtunnel create -d 'my tunnel description' |
検索不可能な説明を含む永続的な開発トンネルを作成します。 |
devtunnel create --expiration 4h |
カスタム有効期限を持つ永続的な開発トンネルを作成します。 最小値は 1 時間 (1h)、最大値は 30 日 (30d) です。 |
devtunnel create myTunnelID |
カスタム トンネル ID を持つ永続的な開発トンネルを作成します。 |
devtunnel create --tags my-web-app v1 |
永続的な開発トンネルを作成し、検索可能なタグを適用します。 |
devtunnel list --tags my-web-app |
指定したタグのいずれかを持つ開発トンネルを一覧表示します。 |
devtunnel list --all-tags my-web-app v1 |
指定されたすべてのタグを持つ開発トンネルを一覧表示します。 |
devtunnel show |
最後に使用した開発トンネルの詳細を表示します。 |
devtunnel show TUNNELID |
開発トンネルの詳細を表示します。 |
devtunnel update TUNNELID -d 'my new tunnel description' |
開発トンネルの説明を更新します。 |
devtunnel update TUNNELID --remove-tags |
開発トンネルからすべてのタグを削除します。 |
devtunnel update TUNNELID --expiration 10d |
新しいカスタム有効期限を持つ開発トンネルを更新します。 最小値は 1 時間 (1h)、最大値は 30 日 (30d) です。 |
devtunnel delete TUNNELID |
開発トンネルを削除します。 |
devtunnel delete-all |
すべての開発トンネルを削除します。 |
ヒント
ほとんどの CLI コマンドは、最後に使用した開発トンネルで暗黙的に動作しますが、必要に応じて開発トンネル ID を指定するオプションがあります。
詳細設定: 開発トンネル ポートを管理する
最初に devtunnel create
コマンドを使用して作成された開発トンネルにはポートがありません。 ホストする前に、devtunnel port
コマンドを使用してポートを追加します。
command | 説明 |
---|---|
devtunnel port create |
開発トンネル ポートを作成する |
devtunnel port list |
開発トンネル ポートを一覧表示する |
devtunnel port show |
開発トンネル ポートの詳細を表示する |
devtunnel port update |
開発トンネル ポートのプロパティを更新する |
devtunnel port delete |
開発トンネル ポートを削除する |
例 | 説明 |
---|---|
devtunnel port create -p 3000 --protocol http |
プロトコルを指定してポートを追加する |
devtunnel port list TUNNELID |
現在のポートを一覧表示する |
devtunnel port show TUNNELID -p 3000 |
ポート 3000 の詳細を表示する |
devtunnel port update -p 3000 --description 'frontend port' |
開発トンネル ポートの説明を更新する |
devtunnel port delete -p 3000 |
ポートを削除する |
ポートを作成するときに、自動検出が正常に機能しない場合は、必要に応じてプロトコルを指定できます。 現在のオプションは、"http"、"https"、または "auto" (既定値) です。 ホストされるポートが HTTPS の場合は、ポート プロトコルを "https" に設定することをお勧めします。それ以外の場合は 、"auto" で問題ありません。
上記のコマンドを使用して開発トンネルを構成した後、ホストを開始します。
devtunnel host
詳細設定: 開発トンネル アクセスを管理する
次のコマンドを使用すると、開発トンネル アクセス トークンを発行して、匿名アクセスを許可せずに他のクライアントに開発トンネルへのアクセスを提供できます。 アクセス制御エントリ コマンドを使用すると、開発トンネルおよび開発トンネル ポートでアクセス制御を構成できます。
command | 説明 |
---|---|
devtunnel token |
開発トンネル アクセス トークンを発行する |
devtunnel access create |
アクセス制御エントリを作成する |
devtunnel access list |
アクセス制御エントリを一覧表示する |
devtunnel access delete |
アクセス制御エントリを削除する |
devtunnel access reset |
アクセス制御エントリを既定値にリセットする |
これらのコマンドの使用例を次に示します。
例 | 説明 |
---|---|
devtunnel token TUNNELID --scopes connect |
開発トンネルへの一時的なアクセスを提供するために共有できる開発トンネルの "接続" アクセス トークンを取得します。 |
devtunnel access create TUNNELID --anonymous |
開発トンネルで匿名クライアント アクセスを有効にします。 |
devtunnel access create TUNNELID --anonymous --expiration 4h |
カスタム アクセス制御の有効期限を使用して、開発トンネルで匿名クライアント アクセスを有効にします。 最小値は 1 時間 (1h)、最大値は 30 日 (30d) です。 |
devtunnel access create TUNNELID --port 3000 --anonymous |
ポート 3000 で匿名クライアント アクセスを有効にします。 |
devtunnel access create TUNNELID --tenant |
開発トンネルで現在の Microsoft Entra テナント アクセスを有効にします。 |
devtunnel access create TUNNELID --org ORG |
開発トンネルで名前による GitHub 組織のアクセスを有効にします。 |
ヒント
GitHub 組織のアクセスには、開発トンネル GitHub アプリを組織にインストールする必要があります。
補助コマンド
これらのコマンドは、最後に使用した開発トンネルのローカル キャッシュを明示的に設定または設定解除する必要がある場合に使用できます。
command | 説明 |
---|---|
devtunnel set |
既定の開発トンネルを設定する |
devtunnel unset |
既定の開発トンネルをクリアする |
診断コマンド
command | 説明 |
---|---|
devtunnel clusters |
利用可能なサービス クラスターを場所別に一覧表示する |
devtunnel echo |
ローカル ポートで診断エコー サーバーを実行する |
devtunnel ping |
リモート エコー サーバーに診断メッセージを送信する |
例 | 説明 |
---|---|
devtunnel clusters --ping |
利用可能なサービス クラスターを、測定された待ち時間で並べ替えて一覧表示します。 |
devtunnel echo http --port 8080 --interface 127.0.0.1 |
ポート 8080 でローカル http 診断サーバーを起動します。 |
トラブルシューティング
devtunnel
CLI に関する問題をトラブルシューティングするには、次のヒントが役立つ場合があります。
- 最新バージョンの
devtunnel
CLI を使用していることを確認します。devtunnel --version
を使用して、現在インストールされているバージョンを確認します。 --verbose
オプションは、追加の診断情報を提供できるデバッグ メッセージを出力します。