JavaScriptを有効にしてください

サービスエンドポイントとプライベートエンドポイント

 ·   3 分で読めます  ·   Kento

こんにちは、今日は Azure のネットワークで理解と使い分けが難しい「サービスエンドポイント」と「プライベートエンドポイント」についてまとめてみました

Azure の PaaS のエンドポイント

Azure の PaaS サービスの多くはパブリック IP アドレス経由で利用します
これは大前提なので特別な構成(App Service Environment や SQL DB Managed Instanceなど)を使わないと防ぐことできません
しかも特別な構成は費用がとても高くなります
そこで登場するのがサービスエンドポイントとプライベートエンドポイントです

サービスエンドポイントとは

サービスエンドポイントとは PaaS サービスにファイアウォールを設定しアクセス可能な範囲を絞る方法です
何も設定していないと以下のようにどこからでもアクセスが可能です
※もちろん接続文字列や適切な権限がないとアクセスができません。しかしそれが流出すると、どこからでもアクセスが可能になります

se_pe01
アクセスイメージ:

サービスエンドポイントを有効化すると特定の Azure Vnet から(正確にはサブネットから)のみにアクセスを制限することができます

se_pe02
サービスエンドポイントの有効化:

se_pe03
サービスエンドポイントのイメージ:

そしてファイアウォールの設定をすると特定のオンプレミスからのアクセスを許可することもできます

se_pe04
ファイアウォールのイメージ:

この時エンドポイントはパブリック IP のままとなります
以下の注意点があります

  • NSGでストレージアカウントを許可する必要がある
  • オンプレミス間でExpreeRouteを使用している場合、Microsoft ピアリングを使用する必要がある

Azure 仮想ネットワーク サービス エンドポイント | Microsoft Learn

プライベートエンドポイント

サービスエンドポイントはアクセス元を制限できる一方でパブリック IP を使うのはそのままでした
プライベートエンドポイントを使うと PaaS サービスにプライベート IP 経由でアクセスすることが可能になります
プライベート IP は Vnet 内に作成されますそのため

  • NSGでストレージアカウントを許可する必要がある
    NSGでVnet内だけを許可すればよい
  • オンプレミス間でExpreeRouteを使用している場合、Microsoft ピアリングを使用する必要がある
    プライベート ピアリングだけでよい

というようにサービスエンドポイントでの注意点をクリアすることができます

se_pe05
プライベートエンドポイントのイメージ:

ただし、DNS での名前解決をプライベート IP にしないといけないため DNS レコードの管理が必要になります
Azure のサービスを利用する場合はプライベート DNS ゾーンや IaaS VM 上に DNS を立てるなどの方法があります
プライベート エンドポイントとは - Azure Private Link | Microsoft Learn

まとめ

今回はサービスエンドポイントとプライベートエンドポイントについてまとめました
次回は NSG がプライベートエンドポイントに対応したのでこちらをまとめてみたいと思います

共有

Kento
著者
Kento
2020年に新卒で IT 企業に入社. インフラエンジニア(主にクラウド)として活動中