0Pricing
Cloud & IT Cert Prep · レッスン

VNet ピアリングとサービス エンドポイント

VNet ピアリングを使用して 2 つの VNet を接続し、低遅延のプライベート通信を実現します。また、サービス エンドポイントでパブリック インターネットを経由せずに Azure サービスへトラフィックをルーティングします。

「VNet ピアリングとサービス エンドポイント」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。

VNet Peering の必要性

異なる Azure VNet にあるリソースは、同じ Azure リージョン内にあっても、既定では相互に通信できません。しかし、大規模な組織では複数の VNet を使用することがよくあります。たとえば、開発、ステージング、本番用に別々の VNet を用意したり、部門ごとに異なる VNet を用意したりします。VNet Peeringは、Microsoft のプライベート バックボーン ネットワークを介して 2 つの VNet を直接接続します。これにより、パブリック インターネットを経由したり VPN ゲートウェイを必要としたりせずに、両方の VNet のリソースが同じネットワーク上にあるかのように通信できます。

VNet Peering の仕組み

VNet Peering は非推移的な接続です。VNet A と VNet B がピアリングされ、VNet B と VNet C もピアリングされている場合でも、A と C の間に別のピアリングを作成しない限り、VNet A は VNet C と通信できません。ピアリング リンクは双方向ですが、両側で構成する必要があります。A から B へのピアリングを作成しても、B から A へのピアリングは自動的には作成されません。両側を構成すると、ピアリングされた VNet 間のトラフィックはAzure バックボーンを使用します。そのため、単一の VNet 内のサブネット間通信と同程度の低レイテンシと高帯域幅を実現できます。

# Create peering from VNet-A to VNet-B
az network vnet peering create \
  --resource-group myRG \
  --name A-to-B \
  --vnet-name VNet-A \
  --remote-vnet VNet-B \
  --allow-vnet-access

# Create return peering from VNet-B to VNet-A
az network vnet peering create \
  --resource-group myRG \
  --name B-to-A \
  --vnet-name VNet-B \
  --remote-vnet VNet-A \
  --allow-vnet-access

ローカルピアリングとグローバルピアリング

VNet Peering には2つのスコープオプションがあります。Local VNet Peering は、同じ Azure リージョン内の2つの VNet を接続します。トラフィックはリージョン内に留まり、1 GB あたりの少額の転送料金が発生します。Global VNet Peering は、Microsoft のグローバルバックボーン経由で異なる Azure リージョンにある2つの VNet を接続します。これにより、East US のリソースと West Europe のリソースが、パブリックインターネットを経由せずにプライベート通信できます。グローバルピアリングの転送コストはローカルピアリングよりやや高くなりますが、VPN 経由のルーティングよりも大幅に安価で、信頼性にも優れています。

ピアリングを使用したハブアンドスポーク

一般的なエンタープライズパターンでは、VNet Peering を使用してハブアンドスポークトポロジを実装します。中央のハブ VNet には、Azure Firewall、VPN Gateway、DNS サーバー、監視などの共有サービスを配置します。複数のスポーク VNet(環境またはワークロードごとに1つ)がハブとピアリングします。すべてのスポークトラフィックをハブのファイアウォール経由でルーティングすることで、各スポークで複雑な NSG 管理を行わずに、セキュリティ検査を一元化できます。ピアリングは非推移的であるため、ハブのファイアウォールはUser-Defined Routes (UDRs) を使用してスポーク間のトラフィックをルーティングします。

ピアリングに必要なアドレス空間

VNet Peering には、1つの重要な要件があります。ピアリングする VNet のアドレス空間は重複していてはなりません。VNet A が 10.0.0.0/16 を使用し、VNet B も 10.0.0.0/16 を使用している場合、Azure は同一のアドレス範囲間でトラフィックをルーティングできないため、ピアリングは失敗します。そのため、作成を始める前に、すべての VNet とオンプレミスネットワークに対して、重複しない CIDR 範囲を計画しておくことが非常に重要です。リソースのデプロイ後に VNet のアドレス空間を変更するには、VNet を再作成するか、(制限付きの)アドレス空間の追加または削除機能を使用する必要があります。

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

Service Endpoints は、VNet の ID を Azure Storage、Azure SQL Database、Azure Key Vault、Cosmos DB などの Azure PaaS サービスに拡張します。サブネットでサービスエンドポイントを有効にすると、そのサブネット内のリソースから指定した Azure サービスへのトラフィックは、サービスのパブリック IP アドレスを使用する場合でも、パブリックインターネットではなくAzure バックボーン経由でルーティングされます。これにより、サービス側で、サービスエンドポイントを有効にした VNet 内のリソースだけにアクセスを制限できます。インターネットからアクセス可能なエンドポイントと比べて、セキュリティが大幅に向上します。

# Enable Service Endpoint for Storage on a subnet
az network vnet subnet update \
  --resource-group myRG \
  --vnet-name myVNet \
  --name app-tier \
  --service-endpoints Microsoft.Storage

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

Service Endpoints と Private Endpoints は、どちらも Azure PaaS サービスへの安全なアクセスを提供しますが、仕組みは異なります。Service Endpoint — トラフィックを Azure バックボーン経由でルーティングしますが、サービスのパブリック IP アドレスを引き続き使用します。サービスエンドポイントはサブネットレベルに存在します。Private Endpoint — VNet から取得したプライベート IP をサービスに割り当てます。パブリックエンドポイントを完全に無効化できるため、サービスを真にプライベートにできます。Private Endpoints はより強力な分離を提供し、VPN/ExpressRoute 経由でオンプレミスからもアクセスできます。最高レベルのセキュリティが必要な場合は Private Endpoints が推奨されますが、Service Endpoints はよりシンプルで低コストな選択肢です。

サービスエンドポイントでストレージを制限する

サブネットで Service Endpoint を有効にした後、Azure サービスがそのサブネットからの接続だけを受け入れるように設定します。ストレージアカウントの場合は、ストレージアカウントのファイアウォール設定に VNet ルールを追加します。この変更後は、指定したサブネット内の VM だけがストレージアカウントにアクセスでき、その他のインターネットトラフィックはすべて拒否されます。これは、すべてのインターネットトラフィックに公開したままにする場合と比べて、ストレージアカウントのセキュリティを大幅に向上させられる、迅速で追加コストのかからない方法です。機密性の高いアプリケーションデータを格納するアカウントでは、特に有効です。

# Restrict storage account to a subnet with service endpoint
az storage account network-rule add \
  --resource-group myRG \
  --account-name mystorageacct \
  --vnet-name myVNet \
  --subnet app-tier

App Services の VNet 統合

VNet Integration(VNet Peering とは異なります)を使用すると、Azure App Service アプリケーションから VNet 内のリソースにアウトバウンド接続できます。VNet Integration を使用しない場合、Azure SQL や同じ VNet 内の Azure Cache for Redis などのリソースに接続するときでも、App Service のアウトバウンドトラフィックは常にパブリックインターネット経由で送信されます。VNet Integration を有効にすると、アプリのアウトバウンドトラフィックは VNet にルーティングされ、プライベートリソースに到達できるようになります。これには、少なくとも /28 のアドレス空間を持つ、VNet 内の専用の委任済みサブネットが必要です。

NVA を使用した推移的ピアリング

VNet Peering は非推移的であるため、2つを超える VNet を接続するには、すべてのペア間で直接ピアリングする(O(n²) の複雑性)か、中央ルーティングハブを使用する必要があります。ハブアンドスポークモデルでは、ハブ VNet に Network Virtual Appliance (NVA) または Azure Firewall を配置し、スポーク VNet 間のトランジットルーターとして機能させます。各スポークには、すべてのトラフィック(0.0.0.0/0 または特定のスポーク CIDR)をハブ内の NVA の IP に送る UDR を追加します。NVA はその後、トラフィックを正しい宛先スポークに転送し、ハブ経由で実質的に推移的な接続を提供します。

知っておくべきピアリングの制限事項

VNet Peering の主な制限事項は次のとおりです。アドレス空間の重複は不可 — VNet を作成する前に CIDR 範囲を慎重に計画してください。非推移的 — A-B と B-C をピアリングしても、A-C は接続されません。アクティブなピアリングがある場合、VNet のアドレス空間をサイズ変更できない — 一時的にピアリングを削除する必要があります。ゲートウェイトランジット — スポーク VNet では、ピアリング構成で「Use Remote Gateways」を有効にすることで、ハブ VNet の VPN または ExpressRoute ゲートウェイを使用できます。ただし、先にハブゲートウェイを作成しておく必要があります。拡張性と保守性に優れたマルチ VNet アーキテクチャを設計するには、これらの制限事項を理解することが重要です。

理解度チェック

このレッスンで扱った Microsoft Azure Fundamentals (AZ-900) の概念について、理解度を確認しましょう。

レッスンのまとめ

このレッスンでは、次のことを学びました。VNet Peering は、VPN を使用せずにプライベートかつ低レイテンシで通信できるよう、Microsoft のバックボーン経由で2つの VNet を接続します。ただし、ピアリングは非推移的です。また、サービスエンドポイントは、サブネットのトラフィックを Azure PaaS サービスへバックボーン経由でルーティングし、パブリックインターネットに公開しません。さらに、プライベートエンドポイントは、PaaS サービスにプライベート IP を割り当て、パブリックエンドポイントを完全に無効化できる、より強力な代替手段です。次は Azure DNS と Load Balancer の基本事項について説明します。

よくある質問

「VNet ピアリングとサービス エンドポイント」レッスンは無料ですか?

はい。「VNet ピアリングとサービス エンドポイント」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。

「VNet ピアリングとサービス エンドポイント」で何を学びますか?

VNet ピアリングを使用して 2 つの VNet を接続し、低遅延のプライベート通信を実現します。また、サービス エンドポイントでパブリック インターネットを経由せずに Azure サービスへトラフィックをルーティングします。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cloud & IT Cert Prepを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「VNet ピアリングとサービス エンドポイント」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?

はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 仮想ネットワークとサブネット
  2. ネットワーク セキュリティ グループとアプリケーション セキュリティ グループ
  3. VNet ピアリングとサービス エンドポイント
  4. Azure DNS と Load Balancer の基本
← Cloud & IT Cert Prepに戻る