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についてはこちらの記事が参考になります。