Azure Bastion にプライベート ネットワークでアクセスする
はじめに
Azure Bastion は、インターネット経由でセキュアに Azure VM などにアクセスするための機能です。このサービスを利用することで、Azure VM がパブリック IP を持つ必要がなくなり、またインターネットからのインバウン ドアクセスを許可する必要がありません。従来、Azure Bastion はインターネットからのアクセスのみをサポートしており、ExpressRoute 経由などのプライベートアクセスを利用することはできませんでした。
しかし、Azure Bastion Premium によって、Azure Bastion はプライベート環境での利用もサポートされるようになりました。これにより、よりセキュアなネットワーク環境での運用が可能となります。今回は、この新しい機能をテストしてみることにします。
構成
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 レンジが指定できるようになる形と考えられます。
- 強制トンネリング構成の場合はサポートされません。(詳細はこちら)
Discussion