【Azure Bastion】ブラウザ操作が重い?「ネイティブクライアント接続」で 快適に動かす方法

  • URLをコピーしました!
目次

はじめに

Azure Bastion は、仮想マシン(VM)にパブリック IP をつけずに、安全に RDP/SSH 接続ができる非常に便利なサービスです。 しかし、Azure Portal のブラウザ画面から接続していて、こんな 「地味なストレス」 を感じたことはありませんか?

コピペが面倒

クリップボードの挙動が不安定で、テキスト以外(画像やファイル)の貼り付けができない。

動きがカクつく

Power BI Desktop や Visual Studio などの重いツールを動かすと、描画がワンテンポ遅れる。

画面が狭い

ブラウザのタブや枠が邪魔で、マルチモニターも使えない。

実は、Bastion には 「ネイティブクライアント接続」 という機能があり、普段お使いの「リモートデスクトップ接続 (mstsc.exe)」アプリを使って、Bastion 経由で VM に接続すること ができます。

本記事では、この機能を使って、セキュリティを維持したまま、ローカル PC のように快適に操作する方法を紹介します。

この記事でわかること
  • メリット: 重いツールも快適に動く。ネイティブ接続の利点
  • 準備: 必要な SKU と設定(Standard 以上が必須)
  • 実践: コマンド一発で RDP を起動する接続手順

「ネイティブクライアント接続」のメリットと推奨シーン

「わざわざコマンド叩いて RDP するの? ブラウザでいいやん」 最初はそう思うかもしれません。ですが、ネイティブ接続には以下のようなメリットがあります。

① パフォーマンス: 重たい GUI ツールも快適に動く

ブラウザ版 Bastion は、画面の描画を HTML5 ベースで転送しているため、動きの激しい画面や高解像度の描画にはどうしても限界があります。 特に Power BI Desktop で大量のデータポイントを含むグラフを操作したり、Visual Studio でコードをスクロールしたりする際、ブラウザ版では特有の「もっさり感」や描画遅延が発生しがちです。

ネイティブ接続なら、RDP プロトコル本来のパフォーマンスをフルに発揮できるため、ローカル PC と変わらないレベルで 快適に動きます。

② 機能性: ファイルのやり取りやマルチモニターが可能

ブラウザ版の最大の弱点は「PC との連携」です。 ネイティブ接続を使えば、RDP クライアントの標準機能がそのまま使えます。

ファイル転送

ローカル PC のドライブをリダイレクト(共有)できるので、エクスプローラー上でファイルをコピー&ペーストするだけで VM にファイルを送れます。

マルチモニター

「全画面表示」の設定で、複数のディスプレイを使って広々と作業領域を確保できます。

③ 操作感:ショートカットキーが吸われない

Alt + Tab でウィンドウを切り替えようとしたら、VM の中じゃなくて自分の PC の画面が切り替わった……」 ブラウザ版あるあるですよね。 ネイティブ接続なら、キーボード入力がしっかり VM 側にキャプチャされるため、ショートカットキーを多用するエンジニアもストレスフリーで作業できます。

ブラウザ版 vs ネイティブ版の使い分け
接続方法おすすめシチュエーション
ブラウザ接続「ちょっと確認したいとき」
・外出先や、普段使わない PC から緊急対応するとき
・Azure CLI のセットアップが面倒なとき
・ログを少し確認する程度の軽い作業
ネイティブ接続「ガッツリ作業するとき」
・Power BI, VS Code などの開発・構築作業
・ファイルを頻繁にアップロード/ダウンロードするとき
・腰を据えて数時間作業するとき

ブラウザ版がダメなわけではありません。シチュエーションによって使い分けるのがおすすめです。

前提条件と準備

ネイティブ接続を利用するには、いくつかの前提条件があります。特に Bastion の契約プラン(SKU)には注意が必要です。

① Bastion の SKU は「Standard」以上が必須

これが最も重要なポイントです。 Azure Bastion には BasicStandard(および Premium)のプランがありますが、ネイティブクライアント接続機能は Basic SKU では利用できません。

もし現在 Basic を利用している場合は、Azure Portal の Bastion の設定画面から Standard へアップグレードしてください(アップグレードは再作成なしで即時反映されます)

② 仮想マシンと Bastion の構築

まだ Azure 上に VM や Bastion リソースを作成していない場合は、以下の過去記事を参考に環境を構築してください。 基本的な VNet や Bastion の作成手順を詳しく解説しています。

リンク先の「Bastion の作成」手順などを参考にしてください。

③ クライアント側の準備(Azure CLI)

ネイティブ接続を行うには、手元の PC(クライアント)に Azure CLI がインストールされている必要があります。 PowerShell や コマンドプロンプトから以下のコマンドを実行し、バージョンが表示されるか確認してください。

az --version

まだインストールされていない場合は、Microsoft 公式サイト からインストーラーをダウンロードして入れておきましょう。

設定と接続手順

STEP
設定手順: Bastion をネイティブ接続対応にする

Standard SKU にアップグレードしただけでは、まだネイティブ接続は使えません。 Azure Portal から、明示的に機能を「有効化」する必要があります。

  1. Azure Portal で、対象の Bastion リソース を開きます。
  2. 左メニューの 「構成(Configuration)」 をクリックします。
  3. 「ネイティブ クライアントのサポート(Native client support)」 というチェックボックスがあるので、これに チェック を入れます。
  4. 画面上部の 「適用(Apply)」 をクリックします。

更新が完了するまで数分待ちます。これで Bastion 側の受け入れ準備は完了です。

STEP
接続手順: コマンド一発で RDP 起動

PowerShell または コマンドプロンプトを開き、以下の手順を実行してください。

① Azure にログインする

まず、以下のコマンドで Azure に認証を通します。ブラウザが立ち上がるので、自分のアカウントでログインしてください。

az login

② RDP 接続コマンドを実行する

ログインできたら、以下のコマンドを実行します。 (※ < > の部分はご自身の環境に合わせて書き換えてください)

az network bastion rdp --name "<Bastion名>" --resource-group "<リソースグループ名>" --target-resource-id "<接続したいVMのリソースID>"

💡 VM のリソース IDの確認方法
接続したい VM の「設定」>「プロパティ」画面にある「リソース ID」をコピーして貼り付けるのが確実です。

実行結果

コマンドを実行して数秒待つと…… 見慣れた 「Windows セキュリティ(パスワード入力画面)」 がポップアップします。

あとは普段どおり VM のユーザー名とパスワードを入力すれば、ネイティブアプリ(mstsc.exe)でのリモートデスクトップ接続が開始されます。

トラブルシューティング

「コマンドを叩いたけどエラーが出る」「RDP 画面が立ち上がらない」 そんな時は、以下のポイントを順番にチェックしてみてください。

Check
SKU は「Standard」になっていますか?

最も多い原因です。Basic SKU ではこのコマンドは通りません。また、アップグレード後に「ネイティブ クライアントのサポート」のチェックを入れ忘れていないかも確認してください。

Check
Azure CLI のログインは済んでいますか?

PC を再起動した後や、しばらく時間が空いた場合はセッションが切れていることがあります。念のためもう一度 az login を実行してみてください。

Check
リソース ID は合っていますか?
    • コマンド内の --target-resource-id が間違っていると接続できません。VM 名ではなく、/subscriptions/... から始まる長い ID を指定する必要があります。

まとめ

本記事では、Azure Bastion の「ネイティブクライアント接続」について紹介しました。

本記事のポイント
  • 快適: Power BI や Visual Studio などの重いアプリも、ローカル並みの速度で動く。
  • 便利: クリップボード共有やファイル転送、マルチモニターが使える。
  • 安全: RDP ポート (3389) をインターネットに公開せず、セキュアな接続を維持できる。

「ちょっと様子を見る」程度ならブラウザ版で十分ですが、「腰を据えて開発・構築を行う」 なら、ネイティブ接続がおすすめです。

以上、最後までお読みいただきありがとうございました。


よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

インフラ(クラウド/NW/仮想化)から Web 開発まで、技術領域を横断して活動するエンジニア💻 コンシューマー向けエンタメ事業での新規開発・運営経験を活かし、実戦的な技術ノウハウを発信中

[ Certs ] CCIE Lifetime Emeritus / VCAP-DCA ✒️ [ Life ] 技術書・ビジネス書愛好家📖 / 小・中学校で卓球コーチ👟

目次