Azure サービスエンドポイントを利用したPaaSへのプライベート接続
2019-10-09
azblob://2022/11/11/eyecatch/2019-10-09-azure-virtual-network-service-endpoint-000.jpg

こんにちは。インフラエンジニアの佐藤です。今回はAzure仮想ネットワークにおける「サービスエンドポイント」の利用について紹介します。

サービスエンドポイント(Service Endpoint)とは

仮想ネットワーク内からAzurePaaSへ接続する際、送信元のパブリックIPから、PaaSの持つパブリックIPに対して接続が行われます。しかし、ネットワークセキュリティグループ(NSG)側で外部への送信を拒否している場合や、ルーティングを構成している場合PaaSへの接続が出来ません。このような閉じた環境からPaaSへのアクセスを行う際、サービスエンドポイントを構成することで、プライベートIPを利用して接続をすることが可能です。 具体的な利用方法として、 ・ExpressRoute等の閉域接続時のAzure内からのPaaS利用 ・フロントが動的IPを持つPaaSサービスへのアクセス などが一般的な使い方となります。

対応リソース(一部)・Azure Storage・SQL Server・Key Vault・App Serviceなど

設定方法

今回は閉域のネットワークにデプロイしたAzureVMと、ストレージアカウントを利用して実際に接続を試してみます。

まずストレージ側にテキストファイルを用意します。

アクセスレベルは「コンテナー」の状態

ChromeからURLを確認した状態

VNET側で東日本リージョンに対してサービスエンドポイントを有効にします ※ストレージの場合、デフォルトでペアリージョンへの接続が有効となります

「Microsoft.Storage」を選択

ストレージ側でもサービスエンドポイントを有効にします

「新しい仮想ネットワークを追加」から設定を行う 設定が反映された状態

ストレージへ接続し、テキストの中身が表示されました

ChromeからURLを確認した状態

閉じた環境のVMから、サービスエンドポイント経由でストレージに接続が出来ました。

注意点

・PaaSからVNETへの接続サービスエンドポイントはVNET内→PaaSへの一方通行となるため、PaaSからVNET内へアクセスする際には利用出来ないので注意・リージョン基本的に同一リージョン内での構成となるため、SQLServerなどペアリージョンでフェールオーバグループを構成する場合、切り替え時のオペレーションの注意が必要となる(ストレージのように伊津部例外もある)

おわりに

同様の条件でより厳密なセキュリティ対策を施す場合、Private Link(プレビュー)の利用を推奨します。Private Linkについてはこちらの記事が参考になります。