ExpressRoute Global Reach を構成する

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

開始する前に

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

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

Note

現在、Global Reach では構成の更新がサポートされません。 つまり、以降の手順を使用して Global Reach 接続を作成する場合は、接続を削除してから、新しい構成で接続を再作成する必要があります。 既存の Global Reach 接続を更新しようとすると、ExpressRoute 回線がエラー状態になります。

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 サブスクリプションで構成コマンドを実行するときに承認キーを渡します。

接続性の確保

オンプレミス ネットワーク間の接続を有効にします。 同じ 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 サポートがパブリック プレビューになりました。 IPv6 Global Reach 接続を追加するには、-AddressPrefix に /125 IPv6 サブネットと IPv6-AddressPrefixType を指定する必要があります。

      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 サポートがパブリック プレビューになりました。 IPv6 Global Reach 接続を追加するには、-AddressPrefix に /125 IPv6 サブネットと IPv6-AddressPrefixType を指定する必要があります。

    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

ExpressRoute Global Reach の IPv6 サポートがパブリック プレビューになりました。 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 仮想ネットワークにリンクする