PowerShell を使用した ExpressRoute 回線のピアリングの作成と変更

この記事は、PowerShell を使用して Resource Manager デプロイ モデルで ExpressRoute 回線のルーティング構成を作成し、管理します。 また、ExpressRoute 回線の状態確認、ピアリングの更新、または削除およびプロビジョニング解除を行うこともできます。 別の方法を使用して回線を操作する場合は、次の一覧から記事を選択してください。

次の手順は、サービス プロバイダーが提供するレイヤー 2 接続サービスで作成された回線にのみ適用されます。 マネージド レイヤー 3 サービス (通常は MPLS などの IPVPN) を提供するサービス プロバイダーを使っている場合、接続プロバイダーがネットワーク ルーティングを構成および管理します。

重要

現在のところ、サービス管理ポータルでは、サービス プロバイダーが構成したピアリングをアドバタイズしていません。 できるだけ早くこの機能を提供できるように取り組んでいます。 BGP ピアリングを構成する前に、ご利用のサービス プロバイダーにお問い合わせください。

ExpressRoute 回線にプライベート ピアリングおよび Microsoft ピアリングを構成できます。 ピアリングは、任意の順序で構成できます。 ただし、各ピアリングの構成は必ず一度に 1 つずつ完了するようにしてください。 ルーティング ドメインとピアリングの詳細については、ExpressRoute のルーティング ドメインに関する記事をご覧ください。

ExpressRoute 回線を介して Microsoft クラウドに接続されたオンプレミス ネットワークを示す図。

このチュートリアルでは、次の作業を行う方法について説明します。

  • 回線用に Microsoft ピアリングを構成、更新、削除する
  • 回線用に Azure プライベート ピアリングを構成、更新、削除する

前提条件

  • 構成を開始する前に、次のページを確認してください。
  • アクティブな ExpressRoute 回線が必要です。 手順に従って、ExpressRoute 回線を作成し、接続プロバイダー経由で回線を有効にしてから続行してください。 この記事にあるコマンドレットを実行するには、ExpressRoute 回線をプロビジョニング済みで有効化された状態にする必要があります。

Azure Cloud Shell

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

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

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

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

  1. Cloud Shell を開始します。

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

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

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

Microsoft ピアリング

このセクションでは、ExpressRoute 回線用の Microsoft ピアリング構成を作成、取得、更新、および削除します。

重要

2017 年 8 月 1 日より前に構成された ExpressRoute 回線の Microsoft ピアリングでは、ルート フィルターが定義されていない場合でも、すべてのサービス プレフィックスが Microsoft ピアリングでアドバタイズされます。 2017 年 8 月 1 日以降に構成された ExpressRoute 回線の Microsoft ピアリングでは、ルート フィルターが回線に接続されるまで、プレフィックスはアドバタイズされません。 詳しくは、「Configure a route filter for Microsoft peering」(Microsoft ピアリング用にルート フィルターを構成する) をご覧ください。

Microsoft ピアリングを作成するには

  1. サインインして、使用するサブスクリプションを選択します。

    PowerShell をローカルにインストールした場合は、サインインします。 Azure Cloud Shell を使用している場合は、この手順を省略できます。

    Connect-AzAccount
    

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

    Select-AzSubscription -SubscriptionId "<subscription ID>"
    
  2. ExpressRoute 回線を作成します。

    手順に従って、 ExpressRoute 回線 を作成し、接続プロバイダー経由で回線をプロビジョニングします。 接続プロバイダーが管理対象レイヤー 3 サービスを提供する場合は、Microsoft ピアリングを有効にするように接続プロバイダーに依頼できます。 次のセクションにリストされている手順に従う必要はありません。 ただし、接続プロバイダーがルーティングを管理しない場合は、回線を作成した後、次の手順を使用して、構成を続行します。

  3. ExpressRoute 回線がプロビジョニングされ、有効になっていることを確認します。 次の例を使用してください。

    Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
    

    応答は次の例のようになります。

    Name                             : ExpressRouteARMCircuit
    ResourceGroupName                : ExpressRouteResourceGroup
    Location                         : westus
    Id                               : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
    Etag                             : W/"################################"
    ProvisioningState                : Succeeded
    Sku                              : {
                                        "Name": "Standard_MeteredData",
                                        "Tier": "Standard",
                                        "Family": "MeteredData"
                                      }
    CircuitProvisioningState         : Enabled
    ServiceProviderProvisioningState : Provisioned
    ServiceProviderNotes             : 
    ServiceProviderProperties        : {
                                        "ServiceProviderName": "Equinix",
                                        "PeeringLocation": "Silicon Valley",
                                        "BandwidthInMbps": 200
                                      }
    ServiceKey                       : **************************************
    Peerings                         : []
    
  4. 回路の Microsoft ピアリングを構成する 続行する前に、次の情報を確認してください。

    • 自分が所有し、RIR/IRR に登録されているサブネットのペア。 1 つのサブネットはプライマリ リンクに使われ、もう 1 つはセカンダリ リンクに使われます。 これらの各サブネットから、ユーザーは 1 番目に使用可能な IP アドレスを自分のルーターに割り当て、Microsoft は 2 番目に使用可能な IP アドレスをそのルーターに使用します。 このサブネットのペアには、3 つのオプションがあります。
      • IPv4: 2 つの /30 サブネット。 これらは有効なパブリック IPv4 プレフィックスである必要があります。
      • IPv6: 2 つの /126 サブネット。 これらは有効なパブリック IPv6 プレフィックスである必要があります。
      • 両方: 2 つの /30 サブネットと 2 つの /126 サブネット。
    • Microsoft ピアリングを使用すると、Microsoft ネットワーク上のパブリック IP アドレスと通信できます。 そのため、オンプレミス ネットワーク上のトラフィック エンドポイントもパブリックにする必要があります。 これは多くの場合、SNAT を使用して行われます。

    Note

    SNAT を使用する場合、プライマリまたはセカンダリ リンクに割り当てられた範囲のパブリック IP アドレスはお勧めしません。 代わりに、自分に割り当てられ、地域インターネット レジストリ (RIR) またはインターネット ルーティング レジストリ (IRR) に登録されている別の範囲のパブリック IP アドレスを使用する必要があります。 呼び出し量によっては、この範囲は 1 つの IP アドレスと同じくらい小さくできます (IPv4 の場合は '/32'、IPv6 の場合は '/128' として表される)。

    • このピアリングを確立するための有効な VLAN ID。 回線の他のピアリングが同じ VLAN ID を使用しないようにしてください。 プライマリとセカンダリの両方のリンクに対し、同じ VLAN ID を使用する必要があります。
    • ピアリングの AS 番号。 2 バイトと 4 バイトの AS 番号の両方を使用することができます。
    • アドバタイズするプレフィックス:BGP セッションを介してアドバタイズする予定のすべてのプレフィックスのリストを指定します。 パブリック IP アドレス プレフィックスのみが受け入れられます。 一連のプレフィックスを送信する場合は、コンマ区切りのリストを送信できます。 これらのプレフィックスは、RIR/IRR に登録する必要があります。
    • 省略可能 - 顧客 ASN:ピアリング AS 番号に登録されていないプレフィックスをアドバタイズしている場合は、それらが登録されている AS 番号を指定できます。
    • ルーティング レジストリ名: AS 番号とプレフィックスを登録する RIR/IRR を指定することができます。
    • 省略可能 - MD5 を使用する場合には、パスワードを準備します。

重要

Microsoft は、指定された 'アドバタイズされたパブリック プレフィックス' と 'ピア ASN' (または '顧客 ASN') がインターネット ルーティング レジストリでユーザーに割り当てられているかどうかを確認します。 別のエンティティからパブリック プレフィックスを取得している場合、およびルーティング レジストリに割り当てが記録されていない場合、自動検証は完了せず、手動検証が必要になります。 自動検証が失敗した場合は、"Get-AzExpressRouteCircuitPeeringConfig" の出力に 'AdvertisedPublicPrefixesState' が '検証が必要です' として表示されます (次のセクションの「Microsoft ピアリングの詳細を取得するには」を参照)。

'検証が必要です' というメッセージが表示された場合は、ルーティング レジストリにプレフィックスの所有者として一覧表示されているエンティティによって組織にパブリック プレフィックスが割り当てられていることを示すドキュメントを収集し、サポート チケットを開くことにより、これらのドキュメントを手動検証のために送信してください。

次の例を使用して、ご使用の回線用に Microsoft ピアリングを構成します。

Add-AzExpressRouteCircuitPeeringConfig -Name "MicrosoftPeering" -ExpressRouteCircuit $ckt -PeeringType MicrosoftPeering -PeerASN 100 -PeerAddressType IPv4 -PrimaryPeerAddressPrefix "123.0.0.0/30" -SecondaryPeerAddressPrefix "123.0.0.4/30" -VlanId 300 -MicrosoftConfigAdvertisedPublicPrefixes "123.1.0.0/24" -MicrosoftConfigCustomerAsn 23 -MicrosoftConfigRoutingRegistryName "ARIN"

Add-AzExpressRouteCircuitPeeringConfig -Name "MicrosoftPeering" -ExpressRouteCircuit $ckt -PeeringType MicrosoftPeering -PeerASN 100 -PeerAddressType IPv6 -PrimaryPeerAddressPrefix "3FFE:FFFF:0:CD30::/126" -SecondaryPeerAddressPrefix "3FFE:FFFF:0:CD30::4/126" -VlanId 300 -MicrosoftConfigAdvertisedPublicPrefixes "3FFE:FFFF:0:CD31::/120" -MicrosoftConfigCustomerAsn 23 -MicrosoftConfigRoutingRegistryName "ARIN"

Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

Microsoft ピアリングの詳細を取得するには

構成の詳細を取得するには、次の例を使用します。

$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"

Get-AzExpressRouteCircuitPeeringConfig -Name "MicrosoftPeering" -ExpressRouteCircuit $ckt

Microsoft ピアリング構成を更新するには

次の例を使用して構成の任意の部分を更新することができます。

Set-AzExpressRouteCircuitPeeringConfig  -Name "MicrosoftPeering" -ExpressRouteCircuit $ckt -PeeringType MicrosoftPeering -PeerASN 100 -PeerAddressType IPv4 -PrimaryPeerAddressPrefix "123.0.0.0/30" -SecondaryPeerAddressPrefix "123.0.0.4/30" -VlanId 300 -MicrosoftConfigAdvertisedPublicPrefixes "124.1.0.0/24" -MicrosoftConfigCustomerAsn 23 -MicrosoftConfigRoutingRegistryName "ARIN"

Set-AzExpressRouteCircuitPeeringConfig  -Name "MicrosoftPeering" -ExpressRouteCircuit $ckt -PeeringType MicrosoftPeering -PeerASN 100 -PeerAddressType IPv6 -PrimaryPeerAddressPrefix "3FFE:FFFF:0:CD30::/126" -SecondaryPeerAddressPrefix "3FFE:FFFF:0:CD30::4/126" -VlanId 300 -MicrosoftConfigAdvertisedPublicPrefixes "3FFE:FFFF:0:CD31::/120" -MicrosoftConfigCustomerAsn 23 -MicrosoftConfigRoutingRegistryName "ARIN"

Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

Azure プライベート ピアリング

このセクションでは、ExpressRoute 回線用の Azure プライベート ピアリング構成を作成、取得、更新、および削除します。

Azure プライベート ピアリングを作成するには

  1. ExpressRoute 用の PowerShell モジュールをインポートします。

    PowerShell ギャラリーから最新の PowerShell インストーラーをインストールします。 次に、ExpressRoute コマンドレットの使用を開始するために、Azure Resource Manager モジュールを PowerShell セッションにインポートします。 管理者として PowerShell を実行する必要があります。

    Install-Module Az
    

    既知のセマンティック バージョン範囲内の Az.* モジュールをすべてインポートします。

    Import-Module Az
    

    既知のセマンティック バージョン範囲内の選択したモジュールのみをインポートすることもできます。

    Import-Module Az.Network 
    

    ご使用のアカウントにサインインします。

    Connect-AzAccount
    

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

    Select-AzSubscription -SubscriptionId "<subscription ID>"
    
  2. ExpressRoute 回線を作成します。

    手順に従って、 ExpressRoute 回線 を作成し、接続プロバイダー経由で回線をプロビジョニングします。 接続プロバイダーが管理対象レイヤー 3 サービスを提供する場合は、Azure プライベート ピアリングを有効にするように接続プロバイダーに依頼できます。 次のセクションにリストされている手順に従う必要はありません。 ただし、接続プロバイダーがルーティングを管理しない場合は、回線を作成した後、次の手順を使用して、構成を続行します。

  3. ExpressRoute 回線がプロビジョニングされ、有効になっていることを確認します。 次の例を使用してください。

    Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
    

    応答は次の例のようになります。

    Name                             : ExpressRouteARMCircuit
    ResourceGroupName                : ExpressRouteResourceGroup
    Location                         : westus
    Id                               : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
    Etag                             : W/"################################"
    ProvisioningState                : Succeeded
    Sku                              : {
                                        "Name": "Standard_MeteredData",
                                        "Tier": "Standard",
                                        "Family": "MeteredData"
                                      }
    CircuitProvisioningState         : Enabled
    ServiceProviderProvisioningState : Provisioned
    ServiceProviderNotes             : 
    ServiceProviderProperties        : {
                                        "ServiceProviderName": "Equinix",
                                        "PeeringLocation": "Silicon Valley",
                                        "BandwidthInMbps": 200
                                      }
    ServiceKey                       : **************************************
    Peerings                         : []
    
  4. 回線用に Azure プライベート ピアリングを構成します。 次の手順に進む前に、以下のものがそろっていることを確認します。

    • 仮想ネットワーク用に予約されたアドレス空間の一部ではないサブネットのペア。 1 つのサブネットはプライマリ リンクに使われ、もう 1 つはセカンダリ リンクに使われます。 これらの各サブネットから、ユーザーは 1 番目に使用可能な IP アドレスを自分のルーターに割り当て、Microsoft は 2 番目に使用可能な IP アドレスをそのルーターに使用します。 このサブネットのペアには、3 つのオプションがあります。
      • IPv4: 2 つの /30 サブネット。
      • IPv6: 2 つの /126 サブネット。
      • 両方: 2 つの /30 サブネットと 2 つの /126 サブネット。
    • このピアリングを確立するための有効な VLAN ID。 回線の他のピアリングが同じ VLAN ID を使用しないようにしてください。
    • ピアリングの AS 番号。 2 バイトと 4 バイトの AS 番号の両方を使用することができます。 このピアリングではプライベート AS 番号を使用できます。 65515 は使用しないようにしてください。
    • "省略可能":
      • いずれかを使用する場合は、MD5 ハッシュ。

    次の例を使用して、回線用に Azure プライベート ピアリングを構成します。

    Add-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuit $ckt -PeeringType AzurePrivatePeering -PeerASN 100 -PrimaryPeerAddressPrefix "10.0.0.0/30" -SecondaryPeerAddressPrefix "10.0.0.4/30" -VlanId 200
    
    Add-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuit $ckt -PeeringType AzurePrivatePeering -PeerASN 100 -PrimaryPeerAddressPrefix "3FFE:FFFF:0:CD30::/126" -SecondaryPeerAddressPrefix "3FFE:FFFF:0:CD30::4/126" -VlanId 200 -PeerAddressType IPv6
    
    Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
    

    MD5 ハッシュを使用する場合は、次の例を使用します。

    Add-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuit $ckt -PeeringType AzurePrivatePeering -PeerASN 100 -PrimaryPeerAddressPrefix "10.0.0.0/30" -SecondaryPeerAddressPrefix "10.0.0.4/30" -VlanId 200  -SharedKey "A1B2C3D4"
    
    Add-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuit $ckt -PeeringType AzurePrivatePeering -PeerASN 100 -PrimaryPeerAddressPrefix "3FFE:FFFF:0:CD30::/126" -SecondaryPeerAddressPrefix "3FFE:FFFF:0:CD30::4/126" -VlanId 200 -PeerAddressType IPv6 -SharedKey "A1B2C3D4"
    

    重要

    顧客 ASN ではなく、ピアリング ASN として AS 番号を指定するようにしてください。

Azure プライベート ピアリングの詳細を取得するには

構成の詳細を取得するには、次の例を使用します。

$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"

Get-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuit $ckt

Azure プライベート ピアリングの構成を更新するには

構成の任意の部分を更新するには、次の例を使用します。 この例では、回線の VLAN ID が 200 から 500 に更新されています。

Set-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuit $ckt -PeeringType AzurePrivatePeering -PeerASN 100 -PrimaryPeerAddressPrefix "10.0.0.0/30" -SecondaryPeerAddressPrefix "10.0.0.4/30" -VlanId 500

Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

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

Microsoft ピアリングを削除するには

以下のコマンドレットを実行して、ピアリング構成を削除することができます。

Remove-AzExpressRouteCircuitPeeringConfig -Name "MicrosoftPeering" -ExpressRouteCircuit $ckt

Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

Azure プライベート ピアリングを削除するには

ピアリング構成を削除するには、次の例を実行します。

警告

この例を実行する前に、すべての仮想ネットワークと ExpressRoute Global Reach 接続が削除されていることを確認する必要があります。

Remove-AzExpressRouteCircuitPeeringConfig -Name "AzurePrivatePeering" -ExpressRouteCircuit $ckt

Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt

次のステップ

Azure プライベート ピアリングを構成すると、ExpressRoute ゲートウェイを作成して、仮想ネットワークを回線にリンクすることができます。