🐾

Azure Bastion にプライベート ネットワークでアクセスする

2024/07/01に公開

はじめに

Azure Bastion は、インターネット経由でセキュアに Azure VM などにアクセスするための機能です。このサービスを利用することで、Azure VM がパブリック IP を持つ必要がなくなり、またインターネットからのインバウン ドアクセスを許可する必要がありません。従来、Azure Bastion はインターネットからのアクセスのみをサポートしており、ExpressRoute 経由などのプライベートアクセスを利用することはできませんでした。
しかし、Azure Bastion Premium によって、Azure Bastion はプライベート環境での利用もサポートされるようになりました。これにより、よりセキュアなネットワーク環境での運用が可能となります。今回は、この新しい機能をテストしてみることにします。
https://learn.microsoft.com/ja-jp/azure/bastion/private-only-deployment

構成

Bastion 作成時にレベル (SKU) を Premium に指定します。また、[IP アドレスの構成] で [プライベート IP アドレス] を選択します。なお、プライベート エンドポイントではないため、パブリック構成とプライベート構成の併用はできません。


ExpressRoute または VPN 経由でアクセスする場合は [IP ベースの接続] を有効にします (Bastion がオンプレミスなどのルーティングを学習する必要があるため)。 また Premium の注目機能である [セッションの記録] も有効化しておきます。


設定内容を確認し、問題なければ作成します。


[セッションの記録] を有効化した場合、[セッションの記録] からストレージ アカウントの SAS URL を指定します。 (指定しておかないと Bastion 経由での接続時にエラーになりました)

動作確認

Bastion の URL をパブリック DNS で名前解決すると、結果がプライベート IP アドレスになります。そのため、プライベート エンドポイントのようなプライベート DNS ゾーンの構成やオンプレミス環境の DNS フォワーディング設定は不要です。


疑似プライベート環境にあるマシン (ピアリングした別 VNET の Azure VM) から Bastion 経由で別の Azure VM にアクセスしてみます。


問題なく接続できました。


診断設定を有効化してログを確認してみると、ClientIpAddress の箇所がプライベート IP アドレスになっています。(通常のパブリック構成ではグローバル IP アドレスになっています)


セッションの記録

[セッションの記録] ページからレコーディングを確認可能です。なおレコーディングの確認は Bastion の URL を使用するため、プライベート構成時には Bastion のプライベート IP アドレスにアクセスできるネットワークからアクセスする必要があります。

注意点

  • Bastion へのアクセスはプライベート ネットワーク経由になりますが、Azure ポータルへのアクセスや Entra ID 認証などはインターネット経由となるため、アクセス元端末は引き続きインターネット アクセスが必要です。
  • Bastion リソースについてもメンテナンス通信などがあるため、完全なプライベート化はできません。接続元端末からのアクセスがプライベート ネットワーク経由になります。こちら の説明のうち、[パブリック インターネットからのイグレス トラフィック] の Source でプライベート IP レンジが指定できるようになる形と考えられます。
  • 強制トンネリング構成の場合はサポートされません。(詳細はこちら)
Microsoft (有志)

Discussion