【図解】Azure VNet 統合とは?初心者向け・基礎から解説
【図解】Azure VNet 統合とは?初心者向け・基礎から解説
App Service から VNet 内のデータベース接続まで、安全な経路(専用トンネル)の仕組みを分かりやすく説明します。
Azure を使っていると、「App Service から、VNet の中にあるデータベースにアクセスしたい」 という要件によく遭遇します。
その時に使うのが 「VNet 統合 (VNet Integration)」 という機能です。
今回は、インフラに詳しくない方でもイメージが湧くように、専門用語を「オフィスの建物」に例えて、この仕組みを解説します。
1. そもそも何が問題なのか?
まず、Azure のネットワーク構成を理解するために「VNet」と「サブネット」について簡単に説明します。
VNetとサブネットの図解(箱のイメージ)
以下の図は、VNet(仮想ネットワーク)という大きな箱の中に、用途ごとに分けた小さな箱(サブネット)が入っているイメージです。
このように、VNetという大きな箱の中に、複数のサブネット(小さな箱)を作成し、用途ごとに分けて管理します。
-
VNet(Virtual Network/仮想ネットワーク)
- Azure 上で構築できる、プライベートなネットワーク空間です。
- オンプレミスの LAN のように、リソース同士を安全に通信させるための「囲い」の役割を持ちます。
- VNet 内の通信は外部から直接アクセスできず、セキュリティが保たれます。
-
サブネット(Subnet)
- VNet の中をさらに細かく分割したネットワーク領域です。
- 例えば「Web サーバー用」「データベース用」など、用途ごとに分けて管理できます。
- サブネットごとにセキュリティ設定(NSG)やルーティングを細かく制御できます。
このように、VNet は「敷地全体」、サブネットは「敷地内の部屋や区画」と考えるとイメージしやすいです。
Azure の世界を「会社」に例えてみましょう。
-
VNet (仮想ネットワーク) = 「自社ビルの敷地」
- 壁に囲まれており、ID カードがないと入れない安全な場所です。
-
サブネット = 「ビルの中の部屋」
- ビルの中は「経理部」「サーバー室」のように小部屋(サブネット)に分かれています。
-
App Service (Web アプリ) = 「外回りの営業担当」
- Web アプリは、実は自社ビルの中にはいません。インターネットという「公道(カフェなど)」で仕事をしています。だから誰でもアクセスできるのです。
ここで困ったことが起きる
「外にいる営業担当(アプリ)が、自社ビルの奥にある金庫(データベース)から資料を取りたい」
しかし、自社ビルはセキュリティが高く、外からは簡単に入れません。
「アプリは外、DB は中。壁があって繋がらない」 これが最初の状態です。
2. VNet 統合 = 「専用の地下トンネル」
そこで登場するのが 「VNet 統合」 です。
これは、公道(インターネット)から自社ビルの特定の部屋へ 「専用の地下トンネル」 を掘る機能です。
このトンネルを使えば、外にいるアプリは、誰にも見られずに自社ビルの中(VNet)に入り、金庫(データベース)にアクセスできるようになります。
イメージ図(全体像)
まずは概念をイメージで掴んでみましょう。
3. VNet 統合の仕組み(詳細図解)
ここからは少し技術的な話になります。
VNet 統合を使うと、単に「つながる」だけでなく、VNet が持っている強力なセキュリティ機能(NSG やルーティング) を適用できるのが大きなメリットです。
具体的な通信の流れと構成要素を、以下の図にまとめました。
図の解説
この図には、初心者がステップアップするために必要な要素が詰まっています。
-
① 統合用サブネット(入り口)
- ここが App Service からの着陸地点です。
- NSG (Network Security Group) を適用することで、「ここから出して良い通信・ダメな通信」を制御できます。
-
② リソース用サブネット(目的地)
- データベースなどはここに配置します。
- プライベートエンドポイント を置くことで、PaaS(SQL DB など)を VNet 内のリソースとして扱えます。
-
③ 出口用サブネット(NAT Gateway)
- (応用編)アプリからインターネットへ出る通信も VNet 経由にすることができます。
- NAT Gateway を通すことで、アプリのアクセス元 IP アドレスを固定化し、取引先のセキュリティ制限をクリアするといった構成も可能です。
4. 設定時の重要ポイント
この機能を使う上で、絶対に知っておくべきルールが 2 つあります。
① 「空っぽの部屋」を 1 つ差し出す必要がある(サブネット委任)
VNet 統合を行うには、VNet の中に 「トンネルの出口専用の部屋(サブネット)」 を 1 つ用意し、「ここは App Service 専用です」と宣言する必要があります。
- これを 「サブネットの委任 (Delegation)」 と呼びます。
- 注意点: この部屋には、他のサーバーや DB を置くことはできません。あくまで「通り道」として占有されます。
② 通信は「一方通行」
VNet 統合は、あくまで 「アプリ → VNet」 へ行くための機能です。
- ✅ App Service から SQL Database を見に行く(アウトバウンド通信)
- ❌ VNet 内の VM から App Service を見に行く(インバウンド通信)
※逆方向(VNet→ アプリ)のアクセスを制御したい場合は、「プライベートエンドポイント」という別の機能を使います。
💡 コラム:なぜ「ゲートウェイ」と呼ばないの?
役割としては「VNet への入り口」なのでゲートウェイと呼びたくなりますが、Azure には 「VPN Gateway」 という別の機能があるため、混同しないように注意が必要です。
- VPN Gateway: 外部(オンプレミスなど)から VNet へつなぐための重厚な関所。
- VNet 統合: Azure 内の PaaS から、専用の LAN ケーブルを直挿しするような軽量な接続。
VNet 統合はゲートウェイ装置を作らないため、オーバーヘッドが少なく高速である点も特徴です。
5. まとめ
Azure のネットワークは複雑に見えますが、役割を整理するとシンプルです。
- VNet 統合 は、PaaS(App Service)が VNet 内に入るための 「地下トンネル」。
- トンネルを通すために、VNet 内に 「専用のサブネット(出口)」 が必要。
- これにより、パブリックな Web アプリから、セキュアな DB へ安全にアクセスできる。
「PaaS の手軽さ」と「VNet の安全性」をいいとこ取りするための機能、それが VNet 統合です。
Discussion