クイック スタート: Azure PowerShell を使用してルート サーバーを作成および構成する
この記事は、Azure PowerShell を使用して、仮想ネットワーク内のネットワーク仮想アプライアンス (NVA) とピアリングするように Azure Route Server を構成するのに役立ちます。 Route Server では、NVA からルートを学習し、仮想ネットワーク内の仮想マシン上にそれらをプログラムします。 また、Azure Route Server は NVA に仮想ネットワーク ルートをアドバタイズします。 詳細については、Azure Route Server に関するページを参照してください。
重要
パブリック IP アドレスが関連付けられていない 2021 年 11 月 1 日より前に作成された Azure Route Server は、パブリック プレビュー オファリングを使用してデプロイされます。 パブリック プレビュー オファリングは、一般提供の SLA およびサポートの対象外です。 一般提供されたオファリングを使用して Azure Route Server をデプロイし、一般提供の SLA とサポートを利用するには、Route Server を削除して再作成してください。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- 最新の Azure PowerShell モジュールがあることを確認してください。ポータルで Azure Cloud Shell を使用することもできます。
- Azure Route Server のサービスの制限を確認します。
- PowerShell をローカルで実行している場合、
Connect-AzAccount
を実行して Azure との接続を作成することも必要です。
リソース グループと仮想ネットワークを作成する
リソース グループを作成する
Azure Route Server を作成する前に、Route Server をホストするリソース グループを作成する必要があります。 New-AzResourceGroup を使用して Azure リソース グループを作成します。 次の例では、myRouteServerRG という名前のリソース グループを WestUS の場所に作成します。
$rg = @{
Name = 'myRouteServerRG'
Location = 'WestUS'
}
New-AzResourceGroup @rg
仮想ネットワークの作成
New-AzVirtualNetwork を使用して仮想ネットワークを作成します。 この例では、myVirtualNetwork という名前の既定の仮想ネットワークを WestUS の場所に作成します。仮想ネットワークが既にある場合は、次のセクションに進むことができます。
$vnet = @{
Name = 'myVirtualNetwork'
ResourceGroupName = 'myRouteServerRG'
Location = 'WestUS'
AddressPrefix = '10.0.0.0/16'
}
$virtualNetwork = New-AzVirtualNetwork @vnet
専用サブネットを追加する
Azure Route Server には、RouteServerSubnet という名前の専用サブネットが必要です。 サブネットのサイズは、少なくとも /27 またはさらに短いプレフィックス (/26 や /25 など) である必要があります。そうでない場合は、Route Server をデプロイするときにエラー メッセージが表示されます。 Add-AzVirtualNetworkSubnetConfig を使用して、RouteServerSubnet という名前のサブネット構成を作成します。
$subnet = @{
Name = 'RouteServerSubnet'
VirtualNetwork = $virtualNetwork
AddressPrefix = '10.0.0.0/24'
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
$virtualnetwork | Set-AzVirtualNetwork
$vnetInfo = Get-AzVirtualNetwork -Name myVirtualNetwork -ResourceGroupName myRouteServerRG
$subnetId = (Get-AzVirtualNetworkSubnetConfig -Name RouteServerSubnet -VirtualNetwork $vnetInfo).Id
ルート サーバーを作成する
Route Server の構成が管理されるバックエンド サービスへの接続を確保するために、パブリック IP アドレスの割り当てが必要です。 New-AzPublicIpAddress を使用して、RouteServerIP という名前の標準パブリック IP を作成します。
$ip = @{ Name = 'myRouteServerIP' ResourceGroupName = 'myRouteServerRG' Location = 'WestUS' AllocationMethod = 'Static' IpAddressVersion = 'Ipv4' Sku = 'Standard' } $publicIp = New-AzPublicIpAddress @ip
New-AzRouteServer を使用して Azure Route Server を作成します。 この例では、myRouteServer という名前の Azure Route Server を WestUS の場所に作成します。 HostedSubnet は、前のセクションで取得した RouteServerSubnet のリソース ID です。
$rs = @{ RouteServerName = 'myRouteServer' ResourceGroupName = 'myRouteServerRG' Location = 'WestUS' HostedSubnet = $subnetId PublicIP = $publicIp } New-AzRouteServer @rs
NVA との BGP ピアリングを作成する
Route Server から NVA への BGP ピアリングを確立するには、Add-AzRouteServerPeer を使用します。
your_nva_ip
は、NVA に割り当てられた仮想ネットワーク IP です。 your_nva_asn
は、NVA で構成された自律システム番号 (ASN) です。 ASN は、65515 から 65520 の範囲に含まれているもの以外の 16 ビットの任意の数値にすることができます。 この ASN の範囲は Microsoft によって予約されています。
$peer = @{
PeerName = 'myNVA'
PeerIp = 'your_nva_ip'
PeerAsn = 'your_nva_asn'
RouteServerName = 'myRouteServer'
ResourceGroupName = myRouteServerRG'
}
Add-AzRouteServerPeer @peer
冗長性を確保するために、異なる NVA、または同じ NVA の別のインスタンスとのピアリングを設定するには、異なる PeerName、PeerIp、および PeerAsn を使って上記と同じコマンドを使用します。
NVA の構成を完了する
NVA の構成を完了して BGP セッションを有効にするには、Azure Route Server の IP と ASN が必要です。 この情報は、Get-AzRouteServer を使用して取得できます。
$routeserver = @{
RouteServerName = 'myRouteServer'
ResourceGroupName = 'myRouteServerRG'
}
Get-AzRouteServer @routeserver
出力は次のようになります。
RouteServerAsn : 65515
RouteServerIps : {10.5.10.4, 10.5.10.5}
重要
各 NVA を Route Server の両方のインスタンスとピアリングして、NVA 接続で仮想ネットワーク ルートをアドバタイズし、高可用性を実現できるようにすることをお勧めします。
ルート交換を構成する
同じ仮想ネットワーク内に仮想ネットワーク ゲートウェイ (ExpressRoute または VPN) がある場合は、BranchToBranchTraffic を有効にして、ゲートウェイと Route Server の間でルートを交換できます。
重要
Azure VPN ゲートウェイは、アクティブ-アクティブ モードで構成し、ASN が 65515 に設定されている必要があります。
警告
仮想ネットワーク ゲートウェイ (ExpressRoute または VPN) を含む仮想ネットワーク内でルート サーバーを作成または削除する場合、操作が完了するまでにダウンタイムが発生することが想定されます。 Route Server を作成または削除する仮想ネットワークに接続された ExpressRoute 回線がある場合、ダウンタイムは ExpressRoute 回線や他の仮想ネットワークへの接続に影響しません。
- Azure Route Server とゲートウェイ間のルート交換を有効にするには、-AllowBranchToBranchTraffic フラグを指定して Update-AzRouteServer を使用します。
$routeserver = @{
RouteServerName = 'myRouteServer'
ResourceGroupName = 'myRouteServerRG'
AllowBranchToBranchTraffic
}
Update-AzRouteServer @routeserver
- Azure Route Server とゲートウェイ間のルート交換を無効にするには、-AllowBranchToBranchTraffic フラグを指定せずに Update-AzRouteServer を使用します。
$routeserver = @{
RouteServerName = 'myRouteServer'
ResourceGroupName = 'myRouteServerRG'
}
Update-AzRouteServer @routeserver
トラブルシューティング
Azure Route Server によってアドバタイズされたルートを表示するには、Get-AzRouteServerPeerAdvertisedRoute を使用します。
$remotepeer = @{
RouteServerName = 'myRouteServer'
ResourceGroupName = 'myRouteServerRG'
PeerName = 'myNVA'
}
Get-AzRouteServerPeerAdvertisedRoute @remotepeer
Azure Route Server によって学習されたルートを表示するには、Get-AzRouteServerPeerLearnedRoute を使用します。
$remotepeer = @{
RouteServerName = 'myRouteServer'
ResourceGroupName = 'myRouteServerRG'
PeerName = 'myNVA'
}
Get-AzRouteServerPeerLearnedRoute @remotepeer
リソースをクリーンアップする
Azure Route Server が不要になった場合は、最初のコマンドを使用して BGP ピアリングを削除してから、2 番目のコマンドを使用して Route Server を削除します。
- Remove-AzRouteServerPeer を使用して、Azure Route Server と NVA の間の BGP ピアリングを削除します。
$remotepeer = @{
PeerName = 'myNVA'
RouteServerName = 'myRouteServer'
ResourceGroupName = 'myRouteServerRG'
}
Remove-AzRouteServerPeer @remotepeer
- Remove-AzRouteServer を使用して Azure Route Server を削除します。
$routeserver = @{
RouteServerName = 'myRouteServer'
ResourceGroupName = 'myRouteServerRG'
}
Remove-AzRouteServer @routeserver
次のステップ
Azure Route Server を作成した後、Azure Route Server と ExpressRoute および VPN Gateway との連携方法について引き続き学習するには、次を参照してください。