ExpressRoute Global Reach を構成する

この記事は、PowerShell を使用して ExpressRoute Global Reach を構成する際に役立ちます。 詳細については、ExpressRoute Global Reach に関するページを参照してください。

開始する前に

構成を開始する前に、次の情報を確認してください。

  • ExpressRoute 回線のプロビジョニング ワークフローを理解していること。
  • ExpressRoute 回線がプロビジョニングされた状態にあること。
  • ExpressRoute 回線上に Azure プライベート ピアリングが構成されていること。
  • PowerShell をローカルで実行する場合は、Azure PowerShell の最新バージョンがコンピューターにインストールされていることを確認します。

Azure PowerShell を使用する

この記事の手順と例では、Azure PowerShell Az モジュールが使用されます。 Az モジュールをご利用のコンピューターにローカルにインストールするには、Azure PowerShell のインストールに関するページを参照してください。 Az モジュールの詳細については、「新しい Azure PowerShell Az モジュールの概要」を参照してください。 PowerShell コマンドレットは、頻繁に更新されます。 最新バージョンを実行していないと、手順で指定されている値は失敗する場合があります。 システムにインストールされている PowerShell のバージョンを確認するには、Get-Module -ListAvailable Az コマンドレットを使用します。

Azure Cloud Shell を使用すると、Azure PowerShell または CLI をローカルにインストールしなくても、ほとんどの PowerShell コマンドレットおよび CLI コマンドを実行できます。 Azure Cloud Shell は、無料の対話型シェルで、一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。 この記事に含まれるコードを Azure Cloud Shell で実行するには、Cloud Shell セッションを開き、コード ブロック上の [コピー] ボタンを使ってコードをコピーし、Ctrl + Shift + V キー (Windows と Linux) または command + Shift + V キー (macOS) を押して Cloud Shell セッションに貼り付けます。 テキストを貼り付けても自動的には実行されません。コードを実行するには、Enter キーを押します。

Cloud Shell は、次のようにいくつかの方法で起動することができます。

オプション Link
コード ブロックの右上隅にある [使ってみる] をクリックします。 Cloud Shell in this article
ブラウザーで Cloud Shell を開きます。 https://shell.azure.com/powershell
Azure Portal の右上のメニューの [Cloud Shell] ボタンをクリックします。 Cloud Shell in the portal

回線を特定する

  1. 構成を開始するには、Azure アカウントにサインインし、使用するサブスクリプションを選択します。

    Azure Cloud Shell を使用している場合は、[試してみる] をクリックすると、Azure アカウントに自動的にサインインします。 ローカルにサインインするには、昇格された特権で PowerShell コンソールを開き、コマンドレットを実行して接続します。

    Connect-AzAccount
    

    複数のサブスクリプションがある場合は、Azure サブスクリプションの一覧を取得します。

    Get-AzSubscription
    

    使用するサブスクリプションを指定します。

    Select-AzSubscription -SubscriptionName "Name of subscription"
    
  2. 使用する ExpressRoute 回線を特定します。 任意の 2 つの ExpressRoute 回線のプライベート ピアリング間で ExpressRoute Global Reach を有効にすることができるのは、それらがサポートされている国や地域に配置され、かつ異なるピアリングの場所で作成されている場合だけです。

    • サブスクリプションが両方の回線を所有している場合は、以降のセクションで構成を実行するために、どちらかの回線を選択できます。
    • 2 つの回線が異なる Azure サブスクリプションに含まれている場合は、1 つの Azure サブスクリプションからの承認が必要です。 その後、もう一方の Azure サブスクリプションで構成コマンドを実行するときに承認キーを渡します。

Note

ExpressRoute Global Reach の構成は、構成された回線からのみ確認できます。

接続性の確保

オンプレミス ネットワーク間の接続を有効にします。 同じ Azure サブスクリプション内にある回線と、異なるサブスクリプションである回線には、異なるセットの手順があります。

同じ Azure サブスクリプション内の ExpressRoute 回線

  1. 次のコマンドを使用して回線 1 と回線 2 を取得します。 2 つの回線は同じサブスクリプションにあります。

    $ckt_1 = Get-AzExpressRouteCircuit -Name "Your_circuit_1_name" -ResourceGroupName "Your_resource_group"
    $ckt_2 = Get-AzExpressRouteCircuit -Name "Your_circuit_2_name" -ResourceGroupName "Your_resource_group"
    
  2. 回線 1 に対して次のコマンドを実行し、回線 2 のプライベート ピアリング ID を渡します。

    • プライベート ピアリング ID は、次の例のようになります。

      /subscriptions/{your_subscription_id}/resourceGroups/{your_resource_group}/providers/Microsoft.Network/expressRouteCircuits/{your_circuit_name}/peerings/AzurePrivatePeering
      
    • -AddressPrefix は /29 IPv4 サブネット (10.0.0.0/29 など) である必要があります。 このサブネット内の IP アドレスを使用して、2 つの ExpressRoute 回線間の接続を確立します。 このサブネット内のアドレスを Azure 仮想ネットワークやオンプレミス ネットワークでは使用しないでください。

      Add-AzExpressRouteCircuitConnectionConfig -Name 'Your_connection_name' -ExpressRouteCircuit $ckt_1 -PeerExpressRouteCircuitPeering $ckt_2.Peerings[0].Id -AddressPrefix '__.__.__.__/29'
      

      Note

      ExpressRoute Global Reach の IPv6 サポートを有効にする場合は、-AddressPrefix に /125 IPv6 サブネットを、-AddressPrefixTypeIPv6 を指定する必要があります。

      Add-AzExpressRouteCircuitConnectionConfig -Name 'Your_connection_name' -ExpressRouteCircuit $ckt_1 -PeerExpressRouteCircuitPeering $ckt_2.Peerings[0].Id -AddressPrefix '__.__.__.__/125' -AddressPrefixType IPv6
      
  3. 回線 1 上の構成を次のように保存します。

    Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt_1
    

前の操作が完了すると、2 つの ExpressRoute 回線を介して両側のオンプレミス ネットワーク間の接続が実現します。

異なる Azure サブスクリプションの ExpressRoute 回線

2 つの回線が同じ Azure サブスクリプション内にない場合は、承認が必要です。 次の構成では、回線 2 のサブスクリプション内に承認が生成され、その承認キーが回線 1 に渡されます。

  1. 承認キーを生成します。

    $ckt_2 = Get-AzExpressRouteCircuit -Name "Your_circuit_2_name" -ResourceGroupName "Your_resource_group"
    Add-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $ckt_2 -Name "Name_for_auth_key"
    Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt_2
    

    回線 2 のプライベート ピアリング ID と承認キーをメモします。

  2. 回線 1 に対して次のコマンドを実行します。 回線 2 のプライベート ピアリング ID と承認キーを渡します。

    Add-AzExpressRouteCircuitConnectionConfig -Name 'Your_connection_name' -ExpressRouteCircuit $ckt_1 -PeerExpressRouteCircuitPeering "circuit_2_private_peering_id" -AddressPrefix '__.__.__.__/29' -AuthorizationKey '########-####-####-####-############'
    

    Note

    ExpressRoute Global Reach の IPv6 サポートを有効にする場合は、-AddressPrefix に /125 IPv6 サブネットを、-AddressPrefixTypeIPv6 を指定する必要があります。

    Add-AzExpressRouteCircuitConnectionConfig -Name 'Your_connection_name' -ExpressRouteCircuit $ckt_1 -PeerExpressRouteCircuitPeering $ckt_2.Peerings[0].Id -AddressPrefix '__.__.__.__/125' -AddressPrefixType IPv6 -AuthorizationKey '########-####-####-####-############'
    
  3. この構成は回線 1 に保存します。

    Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt_1
    

前の操作が完了すると、2 つの ExpressRoute 回線を介して両側のオンプレミス ネットワーク間の接続が実現します。

構成を確認する

構成が作成された回線 (たとえば、前の例では回線 1) 上の構成を確認するには、次のコマンドを使用します。

$ckt_1 = Get-AzExpressRouteCircuit -Name "Your_circuit_1_name" -ResourceGroupName "Your_resource_group"

単純に PowerShell で $ckt_1 を実行すると、出力に CircuitConnectionStatus が表示されます。 これは接続が確立されているかどうか (Connected または Disconnected) を通知します。

接続の無効化

オンプレミス ネットワーク間での接続を無効にするには、構成が作成された回線 (たとえば、前の例では回線 1) に対してコマンドを実行します。

$ckt_1 = Get-AzExpressRouteCircuit -Name "Your_circuit_1_name" -ResourceGroupName "Your_resource_group"
Remove-AzExpressRouteCircuitConnectionConfig -Name "Your_connection_name" -ExpressRouteCircuit $ckt_1
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt_1

Note

IPv6 Global Reach 接続を削除するには、次のコマンドのように IPv6-AddressPrefixType を指定する必要があります。

$ckt_1 = Get-AzExpressRouteCircuit -Name "Your_circuit_1_name" -ResourceGroupName "Your_resource_group"
Remove-AzExpressRouteCircuitConnectionConfig -Name "Your_connection_name" -ExpressRouteCircuit $ckt_1 -AddressPrefixType IPv6
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt_1

Get 操作を実行して状態を確認できます。

前の操作が完了すると、ExpressRoute 回線を経由したオンプレミス ネットワーク間の接続は存在しなくなります。

接続構成を更新する

Global Reach の接続構成を更新するには、ExpressRoute 回線のいずれかに対して次のコマンドを実行します。

$ckt_1 = Get-AzExpressRouteCircuit -Name "Your_circuit_1_name" -ResourceGroupName "Your_resource_group"
$ckt_2 = Get-AzExpressRouteCircuit -Name "Your_circuit_2_name" -ResourceGroupName "Your_resource_group"
$addressSpace = 'aa:bb::0/125'
$addressPrefixType = 'IPv6'
Set-AzExpressRouteCircuitConnectionConfig -Name "Your_connection_name" -ExpressRouteCircuit $ckt_1 -PeerExpressRouteCircuitPeering $ckt_2.Peerings[0].Id -AddressPrefix $addressSpace -AddressPrefixType $addressPrefixType
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt_1

次のステップ

  1. ExpressRoute Global Reach について詳しく学習する
  2. ExpressRoute 接続を確認する
  3. ExpressRoute 回線を Azure 仮想ネットワークにリンクする