Azure Bastion とは
Azure で仮想マシンを作成する場合、パブリック IP アドレスを割り当てることができます。パブリック IP アドレスはインターネットに接続しているグローバル IP アドレスのリソースで、この IP アドレスを通じて仮想マシンは受信接続および送信接続でインターネット経由での通信を行えます。
ここで受信接続が行えるということは、インターネット上の任意のホストから仮想マシンへのアクセスが可能であるということになります。通常はこのようなアクセスは、ネットワーク セキュリティ グループ(NSG)で規則を構成して、必要でないアクセスはブロックすることになります。
しかし、仮想マシン上のオペレーティングシステムやアプリケーションの構築・保守・運用のためにリモート接続する必要がありますので、そのための受信接続(RDP や SSH)は許可しなければなりません。とは言え、インターネットに対してグローバル IP アドレスが公開されているということは Attack Surface(攻撃対象領域)となり、セキュリティ的には好ましくありません。
Azure では、これを緩和するために以下の2つの方法が考えられます。
- オンプレミスのネットワークと VPN / Express Route で閉域網接続し、プライベート IP アドレスでリモート接続する(パブリック IP は削除する)
- Azure Bastion を利用してリモート接続する(パブリック IP は削除する)
Bastion はいわばリモート接続のプロトコル(RDP/SSH)のリバース プロキシで、フルマネージドな PaaS として提供される堅牢なサービスです。インターネットに公開されるのは Bastion の IP アドレスとなり、仮想マシンではリモート接続のためのパブリック IP アドレスが必要なくなります。
参考:Azure Bastion について | Microsoft Learn

元々 Bastion は上のアーキテクチャ図のように仮想ネットワークごとに専用のサブネットと専用のインスタンスを作成して利用するようになっています。また作成すると利用の有無に関わらず時間単位で課金される仕組みでした。1時間当たりの料金は SKU によって約 30 円~70 円(1か月約 22,000 円~51,000 円)とそれなりにコストがかかりました。
※ Bastion インスタンスの利用料に加えて、エグレスのデータ転送料金も発生します。
参考:価格 – Azure Bastion | Microsoft Azure
Bastion Developer SKU
この料金体系のため、検証環境などのちょっとした作業でコストを掛けたくない場合に Bastion を利用するのは気が重かったのですが、そのような用途に向けて Bastion Developer SKU が提供されるようになりました。日本リージョンでは 2025 年の 5 月頃から利用可能となっています。
Bastion Developer のアーキテクチャは以下の図のようになります。

Bastion Developer は他の SKU と異なり、共用プールのインスタンスを利用します。また専用のサブネットも必要ありません。また料金は Bastion インスタンスの利用料・エグレスのデータ転送料金ともに「無料」です。
その代わり、Bastion Developer には固有の制限があります。
- Azure ポータルの Web ベース クライアントでの接続のみ可能(ネイティブ RDP クライアントでの接続不可)
- 一度に1つのホストにしか接続できない
- 仮想ネットワーク ピアリング非対応(ピアリング先の仮想ネットワークの仮想マシンには接続できない)
SKU ごとの詳しい比較は以下を参照してください。
参考:ニーズに合わせて適切な Azure Bastion SKU を選択する | Microsoft Learn
Bastion Developer を利用する
それでは実際に Bastion Developer を利用してみましょう。
まず Azure 仮想マシン(VM)を作成します。

Azure ポータルで Windows VM を作成すると、既定の構成ではパブリック IP アドレスが関連付けられ、仮想ネットワーク インターフェイスのネットワーク セキュリティ グループ(受信規則)で RDP の受信接続が許可されます。

ネイティブ クライアントでの接続
それでは VM に RDP 接続してみましょう。VM の [概要] で [接続] – [接続] を選択します。

パブリック IP アドレスが関連付けられており、NSG でも受信が許可されているのでネイティブ RDP での接続は前提条件を満たしており可能となっています。

このようにリモートデスクトップ クライアント(mstsc.exe)でリモートデスクトップ接続が行えます。

Bastion での接続
今度は Bastion を経由して接続します。VM の [概要] で [接続] – [Bastion を介した接続] を選択します。
Bastion 経由での VM へのリモート接続には、VM のオペレーティングへのサインインの資格情報のほかに、以下の Azure ロールが必要です。
・仮想マシンに対する閲覧者ロール
・仮想マシンのプライベート IP を持つ NIC の閲覧者ロール

キーボードを適切なものに設定し、VM のオペレーティング システムのユーザー名とパスワードを入力して [接続] をクリックします。

[新しいブラウザー タブで開く] にチェックが入っている場合、初めて Bastion を利用する際は以下のようなメッセージが表示されます。これはブラウザーのポップアップ ブロックのために新しいタブが開けないことを示しています。

そのため、Bastion でのポップアップを許可するようにブラウザーを設定します。Microsoft Edge であればアドレス バーの右端にポップアップがブロックされたことを示すアイコンが表示されます。

アイコンをクリックすると以下のようなダイアログが表示されますので、[常に許可する] を選択して [完了] をクリックします。

この後 [接続] を再度クリックすると、今度は新しいタブで Web クライアントが開き、VM へのリモートデスクトップ接続が行われます。
※接続先が Linux VM の場合は、SSH 接続のコンソールが Web で表示されます。

Web クライアントの画面には以下のようなボタンが表示されますが、上は全画面表示、下はクリップボードのボタンです。

クリップボードのボタンをクリックすると以下のウィンドウが開きます。初めてクリップボードにアクセスする場合はブラウザーがクリップボードへのアクセスを許可するかダイアログを表示して確認しますので、[許可] をクリックします。

VM 内でコピーしてクリップボードに入っているテキストは以下のように表示されます。ここからローカルのクリップボードにコピーすることができます。

またクリップボードのウィンドウに入力して [OK] をクリックすると、VM のクリップボードにテキストが格納されます。

クリップボードに格納されたテキストは VM 内の貼り付けで

アプリケーションに貼り付けることができます。

パブリック IP アドレスを削除する
現在、VM にパブリック IP アドレスが関連付けされている ことが確認できます。

[関連付けの解除] をクリックして、仮想ネットワーク インターフェイスへの関連付けを解除します。

関連付けが解除されました。

パブリック IP アドレスの関連付けを削除すると、仮想マシンへのネイティブ RDP 接続はプライベート IP アドレスからのみ可能となり、インターネット経由での RDP は行えなくなります。

このようにパブリック IP アドレスが関連付けられていない場合でも、インターネット経由で Bastion によるリモートデスクトップ接続は可能です。

Bastion から VM への接続はプライベート IP アドレスで行われるため、Web クライアントでの接続が行えます。

まとめ
このように Bastion Developer SKU を利用することで、VM にパブリック IP アドレスを構成しなくともリモート接続が可能となります。アプリケーションやサービスの運用には パブリック IP アドレスが不要であれば、パブリック IP アドレスの関連付けの無い VM とすることで、 Attack Surface(攻撃対象領域)を減らしセキュリティを向上させることができます。
補足
VM にパブリック IP アドレスが無い場合でも、VM が接続しているサブネットで「既定の送信アクセス」が有効であれば、VM からインターネットへの送信接続は可能です。ただしより Attack Surface(攻撃対象領域)を減らすには、既定の送信アクセスも無効にすることが推奨されています。
既定の送信アクセスが無効かつパブリック IP アドレスが関連付けられていないと、VM からインターネットへの接続が一切できなくなります。Windows ライセンス認証や Windows 更新プログラムの取得もできなくなりますので、その場合は他の方法での明示的な送信接続(VM をロードバランサーや NAT Gateway の背後に置くなど)を構成してください。
参考:Azure での既定の送信アクセス – Azure Virtual Network | Microsoft Learn
この記事を書いた人
この投稿者の最近の記事
Microsoft3652026/01/13無料の Bastion Developer を利用する
Microsoft3652025/12/29ゲスト参加している Microsoft 365 テナントを確認する
Microsoft3652025/12/25ブラウザーのプロキシ設定
Microsoft 365以外のトピック2025/12/08Windows Server の評価版の変換・エディション変換

