Microsoft ピアリングにルート フィルターを構成する: Azure CLI

ルート フィルターとは、Microsoft ピアリングでサポートされるサービスの一部だけを利用する手段です。 この記事の手順を通じて、ExpressRoute 回線にルート フィルターを構成し、管理することができます。

Microsoft 365 サービス (Exchange Online、SharePoint Online、Skype for Business など) には、Microsoft ピアリングを介してアクセスできます。 ExpressRoute 回線に Microsoft ピアリングを構成すると、これらのサービスに関連したすべてのプレフィックスが、確立された BGP セッションを通じてアドバタイズされます。 提供されているサービスをプレフィックスで識別するために、すべてのプレフィックスには BGP コミュニティ値がアタッチされます。 BGP コミュニティ値とサービスのマッピング一覧については、BGP コミュニティに関するページを参照してください。

すべての Azure および Microsoft 365 サービスに接続すると、多数のプレフィックスが BGP を通じてアドバタイズされます。 このようにプレフィックスが多数になると、ネットワーク内のルーターによって管理されるルート テーブルのサイズが著しく増加します。 Microsoft ピアリング経由で提供されるサービスの一部しか利用する予定がない場合は、ルート テーブルのサイズを 2 とおりの方法で減らすことができます。 次のようにすることができます。

  • BGP コミュニティにルート フィルターを適用して不要なプレフィックスを除外する。 ルート フィルター処理はネットワーク運用の標準的技法であり、多くのネットワークで広く使用されています。

  • ルート フィルターを定義して ExpressRoute 回線に適用する。 ルート フィルターは、Microsoft ピアリング経由で利用する予定の一連のサービスを選択できる新しいリソースです。 ExpressRoute ルーターからは、ルート フィルターで識別されたサービスに属しているプレフィックスのリストだけが送信されます。

Diagram of a route filter applied to the ExpressRoute circuit to allow only certain prefixes to be broadcast to the on-premises network.

ルート フィルターについて

ExpressRoute 回線に Microsoft ピアリングが構成されると、接続プロバイダーを介してご利用のエッジ ルーターとの間に一対の BGP セッションが Microsoft エッジ ルーターによって確立されます。 貴社のネットワークにはルートが一切アドバタイズされません。 ネットワークに対するルート アドバタイズを有効にするには、ルート フィルターを関連付ける必要があります。

ExpressRoute 回線の Microsoft ピアリング経由で利用するサービスがルート フィルターによって識別されます。 これは、実質的にはすべての BGP コミュニティ値から成る許可リストです。 ルート フィルター リソースを定義して ExpressRoute 回線にアタッチすると、BGP コミュニティ値にマッピングされたすべてのプレフィックスが貴社のネットワークにアドバタイズされます。

Microsoft 365 サービスにルート フィルターをアタッチするには、ExpressRoute 経由での Microsoft 365 サービスの利用に対する承認が必要となります。 ExpressRoute 経由で Microsoft 365 サービスを利用することが承認されていない場合、ルート フィルターをアタッチする操作は失敗します。 承認プロセスの詳細については、Microsoft 365 向け Azure ExpressRouteに関する記事を参照してください。

重要

2017 年 8 月 1 日より前に構成された ExpressRoute 回線の Microsoft ピアリングでは、ルート フィルターが定義されていない場合でも、すべての Microsoft Office サービス プレフィックスが Microsoft ピアリングでアドバタイズされます。 2017 年 8 月 1 日以降に構成された ExpressRoute 回線の Microsoft ピアリングでは、ルート フィルターが回線に接続されるまで、プレフィックスはアドバタイズされません。

前提条件

Microsoft ピアリング経由でサービスに正しく接続するためには、次の構成手順を完了する必要があります。

  • Microsoft ピアリングがプロビジョニングされたアクティブな ExpressRoute 回線を用意する。 その作業は、次の手順に従って実行できます。
    • あらかじめ ExpressRoute 回線を作成し、接続プロバイダー経由で回線を有効にしておきます。 ExpressRoute 回線がプロビジョニングされて有効な状態になっている必要があります。
    • BGP セッションを直接管理する場合は、Microsoft ピアリングを作成します。 または、ご利用の回線に対する Microsoft ピアリングのプロビジョニングを接続プロバイダーに依頼します。

Azure Cloud Shell

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。

Azure Cloud Shell を開始するには、以下のようにします。

オプション 例とリンク
コードまたはコマンド ブロックの右上隅にある [使ってみる] を選択します。 [使ってみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にはコピーされません。 Screenshot that shows an example of Try It for Azure Cloud Shell.
https://shell.azure.com に移動するか、[Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。 Button to launch Azure Cloud Shell.
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。 Screenshot that shows the Cloud Shell button in the Azure portal

Azure Cloud Shell を使用するには、以下のようにします。

  1. Cloud Shell を開始します。

  2. コード ブロック (またはコマンド ブロック) の [コピー] ボタンを選択し、コードまたはコマンドをコピーします。

  3. Windows と Linux では Ctrl+Shift+V キーを選択し、macOS では Cmd+Shift+V キーを選択して、コードまたはコマンドを Cloud Shell セッションに貼り付けます。

  4. Enter キーを選択して、コードまたはコマンドを実行します。

CLI をローカルにインストールして使用する場合、このチュートリアルでは、Azure CLI バージョン 2.0.28 以降が必要です。 バージョンを確認するには、az --version を実行します。 インストールまたはアップグレードが必要な場合は、Azure CLI のインストールに関するページを参照してください。

Azure アカウントにサインインしてサブスクリプションを選択する

構成を始めるには、Azure アカウントにサインインします。 "試してみる" を使用している場合は、自動的にサインインされ、サインイン手順をスキップできます。 接続については、次の例を参照してください。

az login

アカウントのサブスクリプションを確認します。

az account list

ExpressRoute 回線を作成するサブスクリプションを選択します。

az account set --subscription "<subscription ID>"

一連のプレフィックスと BGP コミュニティ値を取得する

  1. 次のコマンドレットを使用して、BGP コミュニティ値と、Microsoft ピアリング経由でアクセス可能なサービスに関連付けられているプレフィックスとから成るリストを取得します。

    az network route-filter rule list-service-communities
    
  2. ルート フィルターで使用する BGP コミュニティ値をリストアップします。

ルート フィルターとフィルター ルールを作成する

ルート フィルターに割り当てることができるルールは 1 つだけで、また "許可" タイプであることが必要です。 このルールに、一連の BGP コミュニティ値を関連付けることができます。 az network route-filter create コマンドで作成されるのはルート フィルター リソースだけです。 このリソースを作成した後、自分でルールを作成し、ルート フィルター オブジェクトにアタッチする必要があります。

  1. ルート フィルター リソースを作成するには、次のコマンドを実行します。

    az network route-filter create -n MyRouteFilter -g MyResourceGroup
    
  2. ルート フィルター規則を作成するには、次のコマンドを実行します。

    az network route-filter rule create --filter-name MyRouteFilter -n CRM --communities 12076:5040 --access Allow -g MyResourceGroup
    

ルート フィルターを ExpressRoute 回線にアタッチする

次のコマンドを実行して、ルート フィルターを ExpressRoute 回線にアタッチします。

az network express-route peering update --circuit-name MyCircuit -g ExpressRouteResourceGroupName --name MicrosoftPeering --route-filter MyRouteFilter

一般的なタスク

ルート フィルターのプロパティを取得するには

ルート フィルターのプロパティを取得するには、次のコマンドを使用します。

az network route-filter show -g ExpressRouteResourceGroupName --name MyRouteFilter 

ルート フィルターのプロパティを更新するには

既にルート フィルターが回線にアタッチされている場合、一連の BGP コミュニティ値が更新されると、プレフィックス アドバタイズの変更が、確立されている BGP セッションを通じて自動的に伝達されます。 ルート フィルターに対する一連の BGP コミュニティ値は、次のコマンドで更新できます。

az network route-filter rule update --filter-name MyRouteFilter -n CRM -g ExpressRouteResourceGroupName --add communities '12076:5040' --add communities '12076:5010'

ExpressRoute 回線からルート フィルターをデタッチするには

ExpressRoute 回線からルート フィルターをデタッチした後は、いずれのプレフィックスも BGP セッションを通じてアドバタイズされません。 ExpressRoute 回線からルート フィルターをデタッチするには、次のコマンドを使用します。

az network express-route peering update --circuit-name MyCircuit -g ExpressRouteResourceGroupName --name MicrosoftPeering --remove routeFilter

リソースをクリーンアップする

削除できるのは、いずれの回線にもアタッチされていないルート フィルターだけです。 ルート フィルターの削除を試みる前に、それが回線にアタッチされていないことを確認してください。 ルート フィルターを削除するには、次のコマンドを使用します。

az network route-filter delete -n MyRouteFilter -g MyResourceGroup

次の手順

ルーター構成のサンプルについては、以下を参照してください。