仮想ネットワーク サービス エンドポイントについて説明する

完了

あなたの組織では、データベース サーバーを持つ既存の ERP アプリを Azure 仮想マシンに移行します。 次に、コストと管理要件を減らすために、あなたは Azure PaaS (サービスとしてのプラットフォーム) のサービスを利用することを検討しています。 具体的には、エンジニアリング図など、大量のファイル資産が保管するためのストレージ サービスです。 このようなエンジニアリング図には特許情報が含まれ、無許可のアクセスから保護される必要があります。 このようなファイルには、特定のシステムからのみアクセスできるようにする必要があります。

このユニットでは、仮想ネットワーク サービス エンドポイントを使用し、Azure サービスをセキュリティで保護する方法を確認します。

仮想ネットワーク サービス エンドポイントとは何ですか?

仮想ネットワーク (VNet) サービス エンドポイントでは、Azure サービスに安全に直接接続できます。 サービス エンドポイントを使用すると、重要な Azure サービス リソースを仮想ネットワークのみに保護することができます。 サービス エンドポイントを使用すると、VNet 内のプライベート IP アドレスは、パブリック IP アドレスを必要とせずに、Azure サービスのエンドポイントに接続できます。

VNet 内の Web サーバー、データベース サーバー、およびサービス エンドポイントを示す図。

既定では、Azure サービスはすべてインターネットに直接アクセスするために設計されています。 すべての Azure リソースにはパブリック IP アドレスが与えられます。これには、Azure SQL Database や Azure Storage などの PaaS サービスも含まれます。 このようなサービスはインターネットに公開されるため、潜在的には誰でも自分の Azure サービスにアクセスできます。

サービス エンドポイントでは、Azure 内のプライベート アドレス空間に一部の PaaS サービスを直接接続できます。 サービス エンドポイントでは、プライベート アドレス空間を使用し、PaaS サービスに直接アクセスします。 サービス エンドポイントを追加しても、パブリック エンドポイントは削除されません。 トラフィックがリダイレクトされるようになるだけです。

サービス エンドポイントの実装の準備

サービス エンドポイントを有効にするには、次の 2 つを行う必要があります。

  • サービスへのパブリック アクセスをオフにする。
  • 仮想ネットワークにサービス エンドポイントを追加する。

サービス エンドポイントを有効にするとき、トラフィックのフローを制限し、自分のプライベート アドレス空間からサービスに Azure VM が直接アクセスできるようにします。 デバイスでは、パブリック ネットワークからサービスにアクセスすることはできません。 デプロイされた VM の vNIC で、[有効なルート] を見ると、サービス エンドポイントが [次ホップの種類] になっていることがわかります。

サービス エンドポイントを有効にする前のルートの例を、次の表に示します。

ソース 状態 アドレス プレフィックス ネクスト ホップの種類
Default アクティブ 10.1.1.0/24 VNet
既定 アクティブ 0.0.0.0./0 インターネット
Default アクティブ 10.0.0.0/8 なし
Default アクティブ 100.64.0.0./ なし
Default アクティブ 192.168.0.0/16 なし

また、仮想ネットワークに 2 つのサービス エンドポイントを追加した後のルートの例を、次の表に示します。

ソース 状態 アドレス プレフィックス ネクスト ホップの種類
Default アクティブ 10.1.1.0/24 VNet
既定 アクティブ 0.0.0.0./0 インターネット
Default アクティブ 10.0.0.0/8 なし
Default アクティブ 100.64.0.0./ なし
Default アクティブ 192.168.0.0/16 なし
Default アクティブ 20.38.106.0/23、10 以上 VirtualNetworkServiceEndpoint
既定 アクティブ 20.150.2.0/23、9 以上 VirtualNetworkServiceEndpoint

これで、サービスのトラフィックはすべて仮想ネットワーク サービス エンドポイントにルーティングされ、Azure 内に留まります。

サービス エンドポイントを作成する

ネットワーク エンジニアであるあなたは、設計図の機密ファイルを Azure Storage に移す計画を立てています。 ファイルには、企業ネットワーク内のコンピューターからのみアクセスできるようにする必要があります。 あなたは、Azure Storage 用の仮想ネットワーク サービス エンドポイントを作成して、ストレージ アカウントへの接続をセキュリティで保護したいと考えています。

サービス エンドポイントのチュートリアルでは、次の方法を学習します。

  • サブネットでサービス エンドツーエンドを有効にする
  • ネットワーク ルールを使用して Azure Storage へのアクセスを制限する
  • Azure Storage の仮想ネットワーク サービス エンドポイントの作成
  • アクセスが適切に拒否されることを確認する

サービス エンドポイントを使用して Azure Storage にアクセスするデータ サーバーを示す図。

サービス タグを構成する

サービス タグは、指定された Azure サービスからの IP アドレス プレフィックスのグループを表します。 サービス タグに含まれるアドレス プレフィックスの管理は Microsoft が行い、アドレスが変化するとサービス タグは自動的に更新されます。これにより、ネットワーク セキュリティ規則に対する頻繁な更新の複雑さを最小限に抑えられます。

サービス タグを使用して、ネットワーク セキュリティ グループまたは Azure Firewall でのネットワーク アクセス制御を定義できます。 セキュリティ規則を作成するときに、特定の IP アドレスの代わりにサービス タグを使用します。 規則の適切なソースまたは宛先フィールドにサービス タグ名 (API Management など) を指定することにより、対応するサービスのトラフィックを許可または拒否できます。

2021 年 3 月の時点で、ユーザー定義のルートにおいて、明示的な IP 範囲の代わりにサービス タグを使用することもできます。 現在、この機能はパブリック プレビュー段階にあります。

サービス タグを使用すると、ネットワーク分離を実現し、パブリック エンドポイントを持つ Azure サービスへのアクセス時に一般のインターネットから Azure リソースを保護できます。 受信/送信ネットワーク セキュリティ グループ規則を作成して、インターネットとの間のトラフィックを拒否し、AzureCloud または他の特定の Azure サービスの利用可能なサービス タグとの間のトラフィックを許可します。

サービス タグを持つネットワーク セキュリティ グループの図。

利用可能なサービス タグ

このには、ネットワーク セキュリティ グループの規則で使用できるすべてのサービス タグが含まれています。 各列は、タグが次を満たすかどうかを示しています。

  • 受信または送信トラフィックを扱う規則に適している。
  • リージョン スコープをサポートしている。
  • Azure Firewall 規則で使用可能である。

既定では、サービス タグはクラウド全体が対象です。 サービス タグによっては、対応する IP 範囲を指定されたリージョンに制限することで、より詳細な制御を実現することもできます。 たとえば、サービス タグ Storage はクラウド全体の Azure Storage を表しています。 WestUS を使用すると、米国西部リージョンのストレージ IP アドレスのみに範囲が限定されます。

Azure サービスのサービス タグは、使用される特定のクラウドのアドレス プレフィックスを表します。 たとえば、Azure パブリック クラウドの SQL タグ値に対応する基になる IP 範囲は、Azure Government クラウドの範囲とは異なります。

サービスの仮想ネットワーク サービス エンドポイントを実装する場合、Azure は仮想ネットワーク サブネットへのルートを追加します。 ルートのアドレス プレフィックスは、対応するサービス タグと同じアドレス プレフィックスです。