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 モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

この記事では、PowerShell コマンドレットを使用します。This article uses PowerShell cmdlets. コマンドレットを実行するには、Azure Cloud Shell を使用できます。To run the cmdlets, you can use Azure Cloud Shell. 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. [コピー] をクリックしてコードをコピーし、Cloud Shell に貼り付けて Enter キーを押すだけで、コードを実行することができます。Just click the Copy to copy the code, paste it into the Cloud Shell, and then press enter to run it. 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. https://shell.azure.com/powershell
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

ローカルでの PowerShell の実行Running PowerShell locally

Azure PowerShell コマンドレットは、ローカルのコンピューターにインストールして実行することもできます。You can also install and run the Azure PowerShell cmdlets locally on your computer. 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 version of PowerShell that you are running locally, use the Get-Module -ListAvailable Az cmdlet. インストールまたは更新するには、「Install the Azure PowerShell module (Azure PowerShell モジュールのインストール)」を参照してください。To install or update, see Install the Azure PowerShell module.

同じサブスクリプション内の仮想ネットワークを回線に接続する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 回線の接続と帯域幅の料金は、サブスクリプションの所有者が負担することになります。 すべての仮想ネットワークが同じ帯域幅を共有します。

サブスクリプション間接続

管理 - 回線所有者と回線ユーザー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

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

注意

仮想ネットワーク接続が既にあっても FastPath を有効にしていない場合は、仮想ネットワーク接続の削除と新規作成を行う必要があります。

$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" 

次の手順Next steps

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