ExpressRoute 回線に仮想ネットワークを接続するConnect a virtual network to an ExpressRoute circuit

この記事では、Resource Manager デプロイ モデルと PowerShell を使用して Azure ExpressRoute 回線に仮想ネットワーク (VNet) をリンクする方法について説明します。This article helps you link virtual networks (VNets) to Azure ExpressRoute circuits by using the Resource Manager deployment model and PowerShell. 仮想ネットワークは、同じサブスクリプションにあっても、別のサブスクリプションの一部であってもかいまいません。Virtual networks can either be in the same subscription or part of another subscription. この記事では、仮想ネットワークのリンクを更新する方法も示します。This article also shows you how to update a virtual network link.

  • 最大 10 個の仮想ネットワークを標準 ExpressRoute 回線に接続できます。You can link up to 10 virtual networks to a standard ExpressRoute circuit. 標準 ExpressRoute 回線を使用する場合は、すべての仮想ネットワークが同じ地理的リージョンに存在する必要があります。All virtual networks must be in the same geopolitical region when using a standard ExpressRoute circuit.

  • 単一の VNet を最大 4 つの ExpressRoute 回線にリンクできます。A single VNet can be linked to up to four ExpressRoute circuits. この記事の手順を使用して、接続先の各 ExpressRoute 回線の新しい接続オブジェクトを作成します。Use the steps in this article to create a new connection object for each ExpressRoute circuit you are connecting to. ExpressRoute 回線は、同じサブスクリプション、異なるサブスクリプション、または両方の組み合わせにすることができます。The ExpressRoute circuits can be in the same subscription, different subscriptions, or a mix of both.

  • ExpressRoute Premium アドオンを有効にした場合は、ExpressRoute 回線の地理的リージョンの外部にある仮想ネットワークをリンクしたり、さらに多くの仮想ネットワークを ExpressRoute 回線にリンクしたりすることができます。You can link virtual networks outside of the geopolitical region of the ExpressRoute circuit, or connect a larger number of virtual networks to your ExpressRoute circuit if you enabled the ExpressRoute premium add-on. Premium アドオンの詳細については、 FAQ を確認してください。Check the FAQ for more details on the premium add-on.

開始する前にBefore you begin

  • 構成を開始する前に、前提条件ルーティングの要件ワークフローを確認します。Review the prerequisites, routing requirements, 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.
    • 回線用に Azure プライベート ピアリングが構成されていることを確認してください。Ensure that you have Azure private peering configured for your circuit. ルーティング手順については、 ルーティングの構成 に関する記事を参照してください。See the configure routing article for routing instructions.
    • Azure プライベート ピアリングが構成されていることを確認します。また、エンド ツー エンド接続を有効にできるように、ネットワークと Microsoft の間の BGP ピアリングを起動しておく必要があります。Ensure that Azure private peering is configured and the BGP peering between your network and Microsoft is up so that you can enable end-to-end connectivity.
    • 仮想ネットワークと仮想ネットワーク ゲートウェイを作成し、完全にプロビジョニングします。Ensure that you have a virtual network and a virtual network gateway created and fully provisioned. 指示に従って ExpressRoute 用の仮想ネットワーク ゲートウェイを作成します。Follow the instructions to create a virtual network gateway for ExpressRoute. ExpressRoute 用の仮想ネットワーク ゲートウェイは、VPN ではなく GatewayType 'ExpressRoute' を使用します。A virtual network gateway for ExpressRoute uses the GatewayType 'ExpressRoute', not VPN.

Azure PowerShell を使用するWorking with Azure PowerShell

この記事の手順と例では、Azure PowerShell Az モジュールが使用されます。The steps and examples in this article use Azure PowerShell Az modules. Az モジュールをご利用のコンピューターにローカルにインストールするには、Azure PowerShell のインストールに関するページを参照してください。To install the Az modules locally on your computer, see Install Azure PowerShell. Az モジュールの詳細については、「新しい Azure PowerShell Az モジュールの概要」を参照してください。To learn more about the new Az module, see Introducing the new Azure PowerShell Az module. 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.

Azure Cloud Shell を使用すると、Azure PowerShell または CLI をローカルにインストールしなくても、ほとんどの PowerShell コマンドレットおよび CLI コマンドを実行できます。You can use Azure Cloud Shell to run most PowerShell cmdlets and CLI commands, instead of installing Azure PowerShell or CLI locally. 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. この記事に含まれるコードを Azure Cloud Shell で実行するには、Cloud Shell セッションを開き、コード ブロック上の [コピー] ボタンを使ってコードをコピーし、Ctrl + Shift + V キー (Windows と Linux) または command + Shift + V キー (macOS) を押して Cloud Shell セッションに貼り付けます。To run any code contained in this article on Azure Cloud Shell, open a Cloud Shell session, use the Copy button on a code block to copy the code, and paste it into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS. テキストを貼り付けても自動的には実行されません。コードを実行するには、Enter キーを押します。Pasted text is not automatically executed, press Enter to run code.

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.
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

同じサブスクリプション内の仮想ネットワークを回線に接続するConnect a virtual network in the same subscription to a circuit

次のコマンドレットを使用し、ExpressRoute 回線に仮想ネットワーク ゲートウェイを接続できます。You can connect a virtual network gateway to an ExpressRoute circuit by using the following cmdlet. コマンドレットを実行する前に、仮想ネットワーク ゲートウェイが作成されており、リンクの準備ができていることを確認してください。Make sure that the virtual network gateway is created and is ready for linking before you run the cmdlet:

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
$gw = Get-AzVirtualNetworkGateway -Name "ExpressRouteGw" -ResourceGroupName "MyRG"
$connection = New-AzVirtualNetworkGatewayConnection -Name "ERConnection" -ResourceGroupName "MyRG" -Location "East US" -VirtualNetworkGateway1 $gw -PeerId $circuit.Id -ConnectionType ExpressRoute

別のサブスクリプション内の仮想ネットワークを回線に接続するConnect a virtual network in a different subscription to a circuit

複数のサブスクリプションで ExpressRoute 回線を共有できます。You can share an ExpressRoute circuit across multiple subscriptions. 下図に、複数のサブスクリプションで ExpressRoute 回線を共有するしくみについて概略を示します。The following figure shows a simple schematic of how sharing works for ExpressRoute circuits across multiple subscriptions.

大規模クラウド内のそれぞれの小規模クラウドは、組織内のさまざまな部門に属するサブスクリプションを表すために使用されています。Each of the smaller clouds within the large cloud is used to represent subscriptions that belong to different departments within an organization. 組織内の各部門はサービスのデプロイ用に固有のサブスクリプションを使用できますが、1 つの ExpressRoute 回線を共有することで、オンプレミス ネットワークに接続し直すことができます。Each of the departments within the organization can use their own subscription for deploying their services--but they can share a single ExpressRoute circuit to connect back to your on-premises network. 1 つの部門 (この例では IT) で ExpressRoute 回線を所有できます。A single department (in this example: IT) can own the ExpressRoute circuit. 組織内の他のサブスクリプションも ExpressRoute 回線を使用できます。Other subscriptions within the organization can use the ExpressRoute circuit.


ExpressRoute 回線の接続と帯域幅の料金は、サブスクリプションの所有者が負担することになります。Connectivity and bandwidth charges for the ExpressRoute circuit will be applied to the subscription owner. すべての仮想ネットワークが同じ帯域幅を共有します。All virtual networks share the same bandwidth.


管理 - 回線所有者と回線ユーザーAdministration - circuit owners and circuit users

"回線所有者" は、ExpressRoute 回線リソースの権限のあるパワー ユーザーです。The 'circuit owner' is an authorized Power User of the ExpressRoute circuit resource. 回線所有者は、"回線ユーザー" が利用できる承認を作成できます。The circuit owner can create authorizations that can be redeemed by 'circuit users'. 回線ユーザーは、ExpressRoute 回線と同じサブスクリプション内にない仮想ネットワーク ゲートウェイの所有者です。Circuit users are owners of virtual network gateways that are not within the same subscription as the ExpressRoute circuit. 回線ユーザーは、承認を利用できます (仮想ネットワークごとに 1 つの承認)。Circuit users can redeem authorizations (one authorization per virtual network).

回線所有者は、承認をいつでも変更し、取り消す権限を持っています。The circuit owner has the power to modify and revoke authorizations at any time. 承認を取り消すと、アクセスが取り消されたサブスクリプションからすべてのリンク接続が削除されます。Revoking an authorization results in all link connections being deleted from the subscription whose access was revoked.

回線所有者の操作Circuit owner operations

承認を作成するにはTo create an authorization

回線所有者は、承認を作成します。The circuit owner creates an authorization. その結果、回線ユーザーが各自の仮想ネットワーク ゲートウェイを ExpressRoute 回線に接続するために使用できる承認キーが作成されます。This results in the creation of an authorization key that can be used by a circuit user to connect their virtual network gateways to the ExpressRoute circuit. 承認は、1 つの接続に対してのみ有効です。An authorization is valid for only one connection.

次のコマンドレット スニペットは、承認を作成する方法を示しています。The following cmdlet snippet shows how to create an authorization:

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
Add-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit -Name "MyAuthorization1"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $circuit

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
$auth1 = Get-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit -Name "MyAuthorization1"

このコマンドレットの応答に、承認キーと状態が含まれます。The response to this will contain the authorization key and status:

Name                   : MyAuthorization1
Id                     : /subscriptions/&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/resourceGroups/ERCrossSubTestRG/providers/Microsoft.Network/expressRouteCircuits/CrossSubTest/authorizations/MyAuthorization1
Etag                   : &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 
AuthorizationKey       : ####################################
AuthorizationUseStatus : Available
ProvisioningState      : Succeeded

承認を確認するにはTo review authorizations

回線所有者は、次のコマンドレットを実行し、特定の回線で発行されるすべての承認を確認できます。The circuit owner can review all authorizations that are issued on a particular circuit by running the following cmdlet:

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
$authorizations = Get-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit

承認を追加するにはTo add authorizations

回線所有者は、次のコマンドレットを使用して承認を追加できます。The circuit owner can add authorizations by using the following cmdlet:

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
Add-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit -Name "MyAuthorization2"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $circuit

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
$authorizations = Get-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit

承認を削除するにはTo delete authorizations

回線所有者は、次のコマンドレットを実行して、ユーザーに対する承認を取り消したり削除したりすることができます。The circuit owner can revoke/delete authorizations to the user by running the following cmdlet:

Remove-AzExpressRouteCircuitAuthorization -Name "MyAuthorization2" -ExpressRouteCircuit $circuit
Set-AzExpressRouteCircuit -ExpressRouteCircuit $circuit

回線ユーザーの操作Circuit user operations

回線ユーザーは、ピア ID と回線所有者が作成した承認キーを必要とします。The circuit user needs the peer ID and an authorization key from the circuit owner. 承認キーは GUID です。The authorization key is a GUID.

ピア ID は、次のコマンドから確認できます。Peer ID can be checked from the following command:

Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"

接続の承認を利用するにはTo redeem a connection authorization

回線ユーザーは次のコマンドレットを実行し、リンク承認を利用できます。The circuit user can run the following cmdlet to redeem a link authorization:

$id = "/subscriptions/********************************/resourceGroups/ERCrossSubTestRG/providers/Microsoft.Network/expressRouteCircuits/MyCircuit"    
$gw = Get-AzVirtualNetworkGateway -Name "ExpressRouteGw" -ResourceGroupName "MyRG"
$connection = New-AzVirtualNetworkGatewayConnection -Name "ERConnection" -ResourceGroupName "RemoteResourceGroup" -Location "East US" -VirtualNetworkGateway1 $gw -PeerId $id -ConnectionType ExpressRoute -AuthorizationKey "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"

接続の承認を解除するにはTo release a connection authorization

ExpressRoute 回線を仮想ネットワークにリンクしている接続を削除することで、承認を解除できます。You can release an authorization by deleting the connection that links the ExpressRoute circuit to the virtual network.

仮想ネットワーク接続を変更するModify a virtual network connection

仮想ネットワーク接続の特定のプロパティを更新することができます。You can update certain properties of a virtual network connection.

接続の重みを更新するにはTo update the connection weight

仮想ネットワークは、複数の ExpressRoute 回線に接続できます。Your virtual network can be connected to multiple ExpressRoute circuits. 複数の ExpressRoute 回線から同じプレフィックスを受け取る場合があります。You may receive the same prefix from more than one ExpressRoute circuit. このプレフィックスを宛先とするトラフィックをどの接続が送信するかを選択するには、接続の RoutingWeight を変更します。To choose which connection to send traffic destined for this prefix, you can change RoutingWeight of a connection. RoutingWeight が最も高い接続でトラフィックが送信されます。Traffic will be sent on the connection with the highest RoutingWeight.

$connection = Get-AzVirtualNetworkGatewayConnection -Name "MyVirtualNetworkConnection" -ResourceGroupName "MyRG"
$connection.RoutingWeight = 100
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection

RoutingWeight の範囲は 0 ~ 32000 です。The range of RoutingWeight is 0 to 32000. 既定値は 0 です。The default value is 0.

ExpressRoute FastPath を構成するConfigure ExpressRoute FastPath

仮想ネットワーク ゲートウェイが Ultra Performance または ErGw3AZ である場合は、ExpressRoute FastPath を有効にすることができます。You can enable ExpressRoute FastPath if your virtual network gateway is Ultra Performance or ErGw3AZ. FastPath により、オンプレミス ネットワークと仮想ネットワークの間の 1 秒あたりのパケット数や 1 秒あたりの接続数などのデータ パスのパフォーマンスが向上します。FastPath improves data path performance such as packets per second and connections per second between your on-premises network and your virtual network.

新しい接続で FastPath を構成するConfigure FastPath on a new connection

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG" 
$gw = Get-AzVirtualNetworkGateway -Name "MyGateway" -ResourceGroupName "MyRG" 
$connection = New-AzVirtualNetworkGatewayConnection -Name "MyConnection" -ResourceGroupName "MyRG" -ExpressRouteGatewayBypass -VirtualNetworkGateway1 $gw -PeerId $circuit.Id -ConnectionType ExpressRoute -Location "MyLocation" 

既存の接続を更新して FastPath を有効にするUpdating an existing connection to enable FastPath

$connection = Get-AzVirtualNetworkGatewayConnection -Name "MyConnection" -ResourceGroupName "MyRG" 
$connection.ExpressRouteGatewayBypass = $True
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection

次のステップNext steps

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