Microsoft ピアリングにルート フィルターを構成する:PowerShellConfigure route filters for Microsoft peering: PowerShell

ルート フィルターとは、Microsoft ピアリングでサポートされるサービスの一部だけを利用する手段です。Route filters are a way to consume a subset of supported services through Microsoft peering. この記事の手順を通じて、ExpressRoute 回線にルート フィルターを構成し、管理することができます。The steps in this article help you configure and manage route filters for ExpressRoute circuits.

Office 365 サービス (Exchange Online、SharePoint Online、Skype for Business など) および Azure パブリック サービス (ストレージ、SQL DB など) には、Microsoft ピアリングを介してアクセスすることができます。Office 365 services such as Exchange Online, SharePoint Online, and Skype for Business, and Azure public services, such as storage and SQL DB are accessible through Microsoft peering. Azure パブリック サービスはリージョンごとに選択でき、パブリック サービスごとに定義することはできません。Azure public services are selectable on a per region basis and cannot be defined per public service.

ExpressRoute 回線に Microsoft ピアリングを構成してルート フィルターをアタッチすると、これらのサービス用に選択されたすべてのプレフィックスが、確立された BGP セッションを通じてアドバタイズされます。When Microsoft peering is configured on an ExpressRoute circuit and a route filter is attached, all prefixes that are selected for these services are advertised through the BGP sessions that are established. 提供されているサービスをプレフィックスで識別するために、すべてのプレフィックスには BGP コミュニティ値がアタッチされます。A BGP community value is attached to every prefix to identify the service that is offered through the prefix. BGP コミュニティ値とサービスのマッピング一覧については、BGP コミュニティに関するページを参照してください。For a list of the BGP community values and the services they map to, see BGP communities.

すべてのサービスに接続する必要がある場合、多数のプレフィックスが BGP を通じてアドバタイズされます。If you require connectivity to all services, a large number of prefixes are advertised through BGP. このことによって、ネットワーク内のルーターによって管理されるルート テーブルのサイズは著しく増加します。This significantly increases the size of the route tables maintained by routers within your network. Microsoft ピアリング経由で提供されるサービスの一部しか利用する予定がない場合は、ルート テーブルのサイズを 2 とおりの方法で減らすことができます。If you plan to consume only a subset of services offered through Microsoft peering, you can reduce the size of your route tables in two ways. 次のようにすることができます。You can:

  • BGP コミュニティにルート フィルターを適用して不要なプレフィックスを除外する。Filter out unwanted prefixes by applying route filters on BGP communities. この方法はネットワーク運用の標準的技法であり、多くのネットワークで広く使用されています。This is a standard networking practice and is used commonly within many networks.

  • ルート フィルターを定義して ExpressRoute 回線に適用する。Define route filters and apply them to your ExpressRoute circuit. ルート フィルターは、Microsoft ピアリング経由で利用する予定の一連のサービスを選択できる新しいリソースです。A route filter is a new resource that lets you select the list of services you plan to consume through Microsoft peering. ExpressRoute ルーターからは、ルート フィルターで識別されたサービスに属しているプレフィックスのリストだけが送信されます。ExpressRoute routers only send the list of prefixes that belong to the services identified in the route filter.

ルート フィルターについてAbout route filters

ExpressRoute 回線に Microsoft ピアリングが構成されると、Microsoft のエッジ ルーターは、(貴社または接続プロバイダーの) エッジ ルーターとの間に一対の BGP セッションを確立します。When Microsoft peering is configured on your ExpressRoute circuit, the Microsoft edge routers establish a pair of BGP sessions with the edge routers (yours or your connectivity provider's). 貴社のネットワークにはルートが一切アドバタイズされません。No routes are advertised to your network. ネットワークに対するルート アドバタイズを有効にするには、ルート フィルターを関連付ける必要があります。To enable route advertisements to your network, you must associate a route filter.

ExpressRoute 回線の Microsoft ピアリング経由で利用するサービスがルート フィルターによって識別されます。A route filter lets you identify services you want to consume through your ExpressRoute circuit's Microsoft peering. これは、実質的には全 BGP コミュニティ値から成るホワイト リストです。It is essentially a white list of all the BGP community values. ルート フィルター リソースを定義して ExpressRoute 回線にアタッチすると、BGP コミュニティ値にマッピングされたすべてのプレフィックスが貴社のネットワークにアドバタイズされます。Once a route filter resource is defined and attached to an ExpressRoute circuit, all prefixes that map to the BGP community values are advertised to your network.

その回線上の Office 365 サービスにルート フィルターをアタッチするには、ExpressRoute を経由して Office 365 サービスを利用することへの承認が必要となります。To be able to attach route filters with Office 365 services on them, you must have authorization to consume Office 365 services through ExpressRoute. ExpressRoute 経由で Office 365 サービスを利用することを承認されていない場合、ルート フィルターをアタッチすることはできません。If you are not authorized to consume Office 365 services through ExpressRoute, the operation to attach route filters fails. 承認プロセスの詳細については、「Office 365 向け Azure ExpressRoute」を参照してください。For more information about the authorization process, see Azure ExpressRoute for Office 365.

重要

2017 年 8 月 1 日より前に構成された ExpressRoute 回線の Microsoft ピアリングでは、ルート フィルターが定義されていない場合でも、すべてのサービス プレフィックスが Microsoft ピアリングでアドバタイズされます。Microsoft peering of ExpressRoute circuits that were configured prior to August 1, 2017 will have all service prefixes advertised through Microsoft peering, even if route filters are not defined. 2017 年 8 月 1 日以降に構成された ExpressRoute 回路の Microsoft ピアリングでは、ルート フィルターが回線にアタッチされるまで、プレフィックスはアドバタイズされません。Microsoft peering of ExpressRoute circuits that are configured on or after August 1, 2017 will not have any prefixes advertised until a route filter is attached to the circuit.

ワークフローWorkflow

Microsoft ピアリング経由でサービスに正しく接続するためには、次の構成手順を完了する必要があります。To be able to successfully connect to services through Microsoft peering, you must complete the following configuration steps:

  • Microsoft ピアリングがプロビジョニングされたアクティブな ExpressRoute 回線を用意する。You must have an active ExpressRoute circuit that has Microsoft peering provisioned. その作業は、次の手順に従って実行できます。You can use the following instructions to accomplish these tasks:

    • あらかじめ ExpressRoute 回線を作成し、接続プロバイダー経由で回線を有効にしておきます。Create an ExpressRoute circuit and have the circuit enabled by your connectivity provider before you proceed. ExpressRoute 回線がプロビジョニングされて有効な状態になっている必要があります。The ExpressRoute circuit must be in a provisioned and enabled state.
    • BGP セッションを直接管理する場合は、Microsoft ピアリングを作成します。Create Microsoft peering if you manage the BGP session directly. または、ご利用の回線に対する Microsoft ピアリングのプロビジョニングを接続プロバイダーに依頼します。Or, have your connectivity provider provision Microsoft peering for your circuit.
  • ルート フィルターを作成して構成する。You must create and configure a route filter.

    • Microsoft ピアリング経由で利用するサービスを特定します。Identify the services you with to consume through Microsoft peering
    • それらのサービスに関連付けられている一連の BGP コミュニティ値を特定します。Identify the list of BGP community values associated with the services
    • それらの BGP コミュニティ値と合致した一連のプレフィックスを許可するルールを作成します。Create a rule to allow the prefix list matching the BGP community values
  • ExpressRoute 回線にルート フィルターをアタッチする。You must attach the route filter to the ExpressRoute circuit.

開始する前にBefore you begin

構成を開始する前に、次の条件を満たす必要があります。Before you begin configuration, make sure you meet the following criteria:

  • 構成を開始する前に、前提条件ワークフローを確認してください。Review the prerequisites and workflows before you begin configuration.

  • アクティブな ExpressRoute 回線が必要です。You must have an active ExpressRoute circuit. 手順に従って、ExpressRoute 回線を作成し、接続プロバイダー経由で回線を有効にしてから続行してください。Follow the instructions to Create an ExpressRoute circuit and have the circuit enabled by your connectivity provider before you proceed. ExpressRoute 回線がプロビジョニングされて有効な状態になっている必要があります。The ExpressRoute circuit must be in a provisioned and enabled state.

  • アクティブな Microsoft ピアリングが必要です。You must have an active Microsoft peering. ピアリング構成の作成と変更に関する記事の手順に従ってください。Follow the instructions in the Create and modifying peering configuration article.

Azure PowerShell を使用するWorking with Azure PowerShell

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

この記事では、PowerShell コマンドレットを使用します。This article uses PowerShell cmdlets. コマンドレットを実行するには、Azure Cloud Shell を使用できます。To run the cmdlets, you can use Azure Cloud Shell. Azure Cloud Shell は、無料の対話型シェルで、一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。Azure Cloud Shell is a free interactive shell that has common Azure tools preinstalled and is configured to use with your account. [コピー] をクリックしてコードをコピーし、Cloud Shell に貼り付けて Enter キーを押すだけで、コードを実行することができます。Just click the Copy to copy the code, paste it into the Cloud Shell, and then press enter to run it. Cloud Shell は、次のようにいくつかの方法で起動することができます。There are a few ways to launch the Cloud Shell:

コード ブロックの右上隅にある [使ってみる] をクリックします。Click Try It in the upper right corner of a code block. この記事の Cloud Shell
ブラウザーで Cloud Shell を開きます。Open Cloud Shell in your browser. https://shell.azure.com/powershell
Azure Portal の右上のメニューの [Cloud Shell] ボタンをクリックします。Click the Cloud Shell button on the menu in the upper right of the Azure portal. ポータルの Cloud ShellCloud Shell in the portal

ローカルでの Azure PowerShell の実行Run Azure PowerShell locally

Azure PowerShell コマンドレットは、ローカルのコンピューターにインストールして実行することもできます。You can also install and run the Azure PowerShell cmdlets locally on your computer. PowerShell コマンドレットは、頻繁に更新されます。PowerShell cmdlets are updated frequently. 最新バージョンを実行していないと、手順で指定されている値は失敗する場合があります。If you are not running the latest version, the values specified in the instructions may fail. システムにインストールされている PowerShell のバージョンを確認するには、Get-Module -ListAvailable Az コマンドレットを使用します。To find the installed versions of PowerShell on your system, use the Get-Module -ListAvailable Az cmdlet. インストールまたは更新するには、「Install the Azure PowerShell module (Azure PowerShell モジュールのインストール)」を参照してください。To install or update, see Install the Azure PowerShell module.

Azure アカウントへのログインLog in to your Azure account

この構成を開始する前に、Azure アカウントにログインする必要があります。Before beginning this configuration, you must log in to your Azure account. このコマンドレットは、Azure アカウントのログイン資格情報をユーザーに求めます。The cmdlet prompts you for the login credentials for your Azure account. ログイン後にアカウント設定がダウンロードされるため、Azure PowerShell で使用できるようになります。After logging in, it downloads your account settings so they are available to Azure PowerShell.

昇格された特権で PowerShell コンソールを開き、アカウントに接続します。Open your PowerShell console with elevated privileges, and connect to your account. 接続については、次の例を参考にしてください。Use the following example to help you connect. Azure Cloud Shell を使用している場合は、自動的にサインインされるため、このコマンドレットを実行する必要はありません。If you are using Azure Cloud Shell, you don't need to run this cmdlet, as you'll be automatically signed in.

Connect-AzAccount

複数の Azure サブスクリプションを所有している場合には、アカウントのサブスクリプションをすべて確認します。If you have multiple Azure subscriptions, check the subscriptions for the account.

Get-AzSubscription

使用するサブスクリプションを指定します。Specify the subscription that you want to use.

Select-AzSubscription -SubscriptionName "Replace_with_your_subscription_name"

手順 1:一連のプレフィックスと BGP コミュニティ値を取得するStep 1: Get a list of prefixes and BGP community values

1.一連の BGP コミュニティ値を取得する1. Get a list of BGP community values

Microsoft ピアリング経由でアクセス可能なサービスに関連付けられている一連の BGP コミュニティ値とそれに対応する一連のプレフィックスを取得します。次のコマンドレットを使用してください。Use the following cmdlet to get the list of BGP community values associated with services accessible through Microsoft peering, and the list of prefixes associated with them:

Get-AzBgpServiceCommunity

2.使用する値をリストアップする2. Make a list of the values that you want to use

ルート フィルターで使用する BGP コミュニティ値をリストアップします。Make a list of BGP community values you want to use in the route filter.

手順 2:ルート フィルターとフィルター ルールを作成するStep 2: Create a route filter and a filter rule

ルート フィルターに割り当てることができるルールは 1 つだけで、また "許可" タイプであることが必要です。A route filter can have only one rule, and the rule must be of type 'Allow'. このルールに、一連の BGP コミュニティ値を関連付けることができます。This rule can have a list of BGP community values associated with it.

1.ルート フィルターを作成する1. Create a route filter

まず、ルート フィルターを作成します。First, create the route filter. "New-AzRouteFilter" コマンドで作成されるのはルート フィルター リソースだけです。The command 'New-AzRouteFilter' only creates a route filter resource. このリソースを作成した後、自分でルールを作成し、ルート フィルター オブジェクトにアタッチする必要があります。After you create the resource, you must then create a rule and attach it to the route filter object. ルート フィルター リソースを作成するには、次のコマンドを実行します。Run the following command to create a route filter resource:

New-AzRouteFilter -Name "MyRouteFilter" -ResourceGroupName "MyResourceGroup" -Location "West US"

2.フィルター ルールを作成する2. Create a filter rule

次の例に示したように、一連の BGP コミュニティ値は、コンマ区切りで指定することができます。You can specify a set of BGP communities as a comma-separated list, as shown in the example. 次のコマンドを実行して、新しいルールを作成してください。Run the following command to create a new rule:

$rule = New-AzRouteFilterRuleConfig -Name "Allow-EXO-D365" -Access Allow -RouteFilterRuleType Community -CommunityList 12076:5010,12076:5040

手順 3.ルート フィルターにルールを追加する3. Add the rule to the route filter

次のコマンドを実行して、ルート フィルターにフィルター ルールを追加します。Run the following command to add the filter rule to the route filter:

$routefilter = Get-AzRouteFilter -Name "RouteFilterName" -ResourceGroupName "ExpressRouteResourceGroupName"
$routefilter.Rules.Add($rule)
Set-AzRouteFilter -RouteFilter $routefilter

手順 3:ルート フィルターを ExpressRoute 回線にアタッチするStep 3: Attach the route filter to an ExpressRoute circuit

Microsoft ピアリングのみの場合は、次のコマンドを実行して、ルート フィルターを ExpressRoute 回線にアタッチします。Run the following command to attach the route filter to the ExpressRoute circuit, assuming you have only Microsoft peering:

$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
$ckt.Peerings[0].RouteFilter = $routefilter 
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

一般的なタスクCommon tasks

ルート フィルターのプロパティを取得するにはTo get the properties of a route filter

ルート フィルターのプロパティを取得するには、次の手順を使用します。To get the properties of a route filter, use the following steps:

  1. 次のコマンドを実行して、ルート フィルター リソースを取得します。Run the following command to get the route filter resource:

    $routefilter = Get-AzRouteFilter -Name "RouteFilterName" -ResourceGroupName "ExpressRouteResourceGroupName"
    
  2. 次のコマンドを実行して、ルート フィルター リソースに使用されているルート フィルター ルールを取得します。Get the route filter rules for the route-filter resource by running the following command:

    $routefilter = Get-AzRouteFilter -Name "RouteFilterName" -ResourceGroupName "ExpressRouteResourceGroupName"
    $rule = $routefilter.Rules[0]
    

ルート フィルターのプロパティを更新するにはTo update the properties of a route filter

既にルート フィルターが回線にアタッチされている場合、一連の BGP コミュニティ値が更新されると、必要なプレフィックス アドバタイズの変更が、確立されている BGP セッションを通じて自動的に伝達されます。If the route filter is already attached to a circuit, updates to the BGP community list automatically propagate appropriate prefix advertisement changes through the established BGP sessions. ルート フィルターに対する一連の BGP コミュニティ値は、次のコマンドで更新できます。You can update the BGP community list of your route filter using the following command:

$routefilter = Get-AzRouteFilter -Name "RouteFilterName" -ResourceGroupName "ExpressRouteResourceGroupName"
$routefilter.rules[0].Communities = "12076:5030", "12076:5040"
Set-AzRouteFilter -RouteFilter $routefilter

ExpressRoute 回線からルート フィルターをデタッチするにはTo detach a route filter from an ExpressRoute circuit

ExpressRoute 回線からルート フィルターをデタッチした後は、いずれのプレフィックスも BGP セッションを通じてアドバタイズされません。Once a route filter is detached from the ExpressRoute circuit, no prefixes are advertised through the BGP session. ExpressRoute 回線からルート フィルターをデタッチするには、次のコマンドを使用します。You can detach a route filter from an ExpressRoute circuit using the following command:

$ckt.Peerings[0].RouteFilter = $null
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

ルート フィルターを削除するにはTo delete a route filter

削除できるのは、いずれの回線にもアタッチされていないルート フィルターだけです。You can only delete a route filter if it is not attached to any circuit. 削除する前に、ルート フィルターが回線にアタッチされていないことを確認してください。Ensure that the route filter is not attached to any circuit before attempting to delete it. ルート フィルターを削除するには、次のコマンドを使用します。You can delete a route filter using the following command:

Remove-AzRouteFilter -Name "MyRouteFilter" -ResourceGroupName "MyResourceGroup"

次の手順Next Steps

ExpressRoute の詳細については、「 ExpressRoute のFAQ」をご覧ください。For more information about ExpressRoute, see the ExpressRoute FAQ.