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

完了

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

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

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

仮想ネットワーク (VNet) サービス エンドポイントでは、Azure のバックボーン ネットワーク上で最適化されたルートを介して、Azure サービスに安全に直接接続できます。 エンドポイントを使用することで、重要な Azure サービス リソースへのアクセスを仮想ネットワークのみに限定することができます。 サービス エンドポイントを使用すると、VNet 内のプライベート IP アドレスは、VNet 上のパブリック IP アドレスを必要とせずに、Azure サービスのエンドポイントに接続できます。

仮想ネットワーク内の Web サーバー、データベース サーバー、サービス エンドポイントを示す画像。サービス エンドポイントから仮想ネットワーク外部の Azure Storage へのリンクが示されています。

既定では、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 サービスの利用可能なサービス タグとの間のトラフィックを許可します。

サービスタグを使用した NSG の例

利用可能なサービス タグ

次の表には、ネットワーク セキュリティ グループの規則で使用できるすべてのサービス タグが含まれています。

各列は、タグが次を満たすかどうかを示しています。

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

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

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

Azure Storage や Azure SQL Database などのサービスの仮想ネットワーク サービス エンドポイントを実装する場合、Azure はサービスの仮想ネットワーク サブネットへのルートを追加します。 ルートのアドレス プレフィックスは、対応するサービス タグと同じアドレス プレフィックスまたは CIDR 範囲になります。