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 を開きます。 | |
Azure Portal の右上のメニューの [Cloud Shell] ボタンをクリックします。 | |
回線を特定する
構成を開始するには、Azure アカウントにサインインし、使用するサブスクリプションを選択します。
Azure Cloud Shell を使用している場合は、[試してみる] をクリックすると、Azure アカウントに自動的にサインインします。 ローカルにサインインするには、昇格された特権で PowerShell コンソールを開き、コマンドレットを実行して接続します。
Connect-AzAccount
複数のサブスクリプションがある場合は、Azure サブスクリプションの一覧を取得します。
Get-AzSubscription
使用するサブスクリプションを指定します。
Select-AzSubscription -SubscriptionName "Name of subscription"
使用する ExpressRoute 回線を特定します。 任意の 2 つの ExpressRoute 回線のプライベート ピアリング間で ExpressRoute Global Reach を有効にすることができるのは、それらがサポートされている国や地域に配置され、かつ異なるピアリングの場所で作成されている場合だけです。
- サブスクリプションが両方の回線を所有している場合は、以降のセクションで構成を実行するために、どちらかの回線を選択できます。
- 2 つの回線が異なる Azure サブスクリプションに含まれている場合は、1 つの Azure サブスクリプションからの承認が必要です。 その後、もう一方の Azure サブスクリプションで構成コマンドを実行するときに承認キーを渡します。
Note
ExpressRoute Global Reach の構成は、構成された回線からのみ確認できます。
接続性の確保
オンプレミス ネットワーク間の接続を有効にします。 同じ Azure サブスクリプション内にある回線と、異なるサブスクリプションである回線には、異なるセットの手順があります。
同じ Azure サブスクリプション内の ExpressRoute 回線
次のコマンドを使用して回線 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"
回線 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 サブネットを、-AddressPrefixType に IPv6 を指定する必要があります。
Add-AzExpressRouteCircuitConnectionConfig -Name 'Your_connection_name' -ExpressRouteCircuit $ckt_1 -PeerExpressRouteCircuitPeering $ckt_2.Peerings[0].Id -AddressPrefix '__.__.__.__/125' -AddressPrefixType IPv6
回線 1 上の構成を次のように保存します。
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt_1
前の操作が完了すると、2 つの ExpressRoute 回線を介して両側のオンプレミス ネットワーク間の接続が実現します。
異なる Azure サブスクリプションの ExpressRoute 回線
2 つの回線が同じ Azure サブスクリプション内にない場合は、承認が必要です。 次の構成では、回線 2 のサブスクリプション内に承認が生成され、その承認キーが回線 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 と承認キーをメモします。
回線 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 サブネットを、-AddressPrefixType に IPv6 を指定する必要があります。
Add-AzExpressRouteCircuitConnectionConfig -Name 'Your_connection_name' -ExpressRouteCircuit $ckt_1 -PeerExpressRouteCircuitPeering $ckt_2.Peerings[0].Id -AddressPrefix '__.__.__.__/125' -AddressPrefixType IPv6 -AuthorizationKey '########-####-####-####-############'
この構成は回線 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