Azure ExpressRoute プライベート ピアリングのカスタム BGP コミュニティを構成する

BGP コミュニティは、コミュニティ値でタグ付けされた IP プレフィックスのグループです。 この値は、ルーターのインフラストラクチャでルーティングの決定を行うために使用できます。 BGP コミュニティ タグを使用すると、Azure からオンプレミスに送信されるトラフィックに対してフィルターを適用することや、ルーティング設定を指定することができます。 この記事では、Azure PowerShell を使用して対象の仮想ネットワークにカスタム BGP コミュニティ値を適用する方法について説明します。 構成が完了すると、リージョンの BGP コミュニティの値と、対象の仮想ネットワークのカスタム コミュニティ値を表示できます。 この値は、その仮想ネットワークから発信された場合に ExpressRoute を使用して送信される送信トラフィックに使用されます。

前提条件

  • 構成を開始する前に、前提条件ルーティングの要件ワークフローを確認します。

  • アクティブな ExpressRoute 回線が必要です。

    • 手順に従って、 ExpressRoute 回線を作成 し、接続プロバイダー経由で回線を有効にしてください。
    • 回線用に Azure プライベート ピアリングが構成されていることを確認してください。 ルーティング手順については、 ルーティングの構成 に関する記事を参照してください。
    • エンドツーエンド接続のために、確実に Azure プライベート ピアリングが構成され、ご使用のネットワークと Microsoft の間の BGP ピアリングを確立します。

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
ブラウザーで Cloud Shell を開きます。 https://shell.azure.com/powershell
Azure Portal の右上のメニューの [Cloud Shell] ボタンをクリックします。 ポータルの Cloud Shell

新しい仮想ネットワークにカスタム BGP コミュニティ値を適用する

  1. 構成を開始するには、Azure アカウントにサインインし、使用するサブスクリプションを選択します。

    Azure Cloud Shell を使用している場合は、[試してみる] をクリックすると、Azure アカウントに自動的にサインインします。 ローカルにサインインするには、昇格された特権で PowerShell コンソールを開き、コマンドレットを実行して接続します。

    Connect-AzAccount
    

    複数のサブスクリプションがある場合は、Azure サブスクリプションの一覧を取得します。

    Get-AzSubscription
    

    使用するサブスクリプションを指定します。

    Select-AzSubscription -SubscriptionName "Name of subscription"
    
  2. 新しい仮想ネットワークを格納するリソース グループを作成します。

    $rg = @{
        Name = 'myERRG'
        Location = 'WestUS'
    }
    New-AzResourceGroup @rg
    
  3. -BgpCommunity フラグを使用して、BGP コミュニティ値を適用する新しい仮想ネットワークを作成します。

    $vnet = @{
        Name = 'myVirtualNetwork'
        ResourceGroupName = 'myERRG'
        Location = 'WestUS'
        AddressPrefix = '10.0.0.0/16'
        BgpCommunity = '12076:20001'    
    }
    New-AzVirtualNetwork @vnet
    

    Note

    カスタム コミュニティ値の前に 12076: が必要です。

  4. 対象の仮想ネットワークを取得し、そのプロパティを確認します。 RegionalCommunity 値と VirtualNetworkCommunity 値を含む BgpCommunities セクションがあります。 RegionalCommunity 値は、仮想ネットワークの Azure リージョンに基づいて事前に定義されています。 VirtualNetworkCommunity 値は、カスタム定義と一致する必要があります。

    $virtualnetwork = @{
        Name = 'myVirtualNetwork'
        ResourceGroupName = 'myERRG'
    } 
    Get-AzVirtualNetwork @virtualnetwork
    

既存の仮想ネットワークにカスタム BGP 値を適用または更新する

  1. BGP コミュニティ値を適用または更新する仮想ネットワークを取得し、変数に格納します。

    $virtualnetwork = @{
        Name = 'myVirtualNetwork'
        ResourceGroupName = 'myERRG'
    } 
    $vnet = Get-AzVirtualNetwork @virtualnetwork
    
  2. 対象の仮想ネットワークの VirtualNetworkCommunity 値を更新します。

    $vnet.BgpCommunities = @{VirtualNetworkCommunity = '12076:20002'}
    $vnet | Set-AzVirtualNetwork
    

    Note

    カスタム コミュニティ値の前に 12076: が必要です。

  3. 対象の仮想ネットワークを取得し、その更新されたプロパティを確認します。 RegionalCommunity 値は、仮想ネットワークの Azure リージョンに基づいて事前に定義されます。プライベート ピアリングのリージョン BGP コミュニティの値を表示するには、「ExpressRoute のルーティング要件」を参照してください。 VirtualNetworkCommunity 値は、カスタム定義と一致する必要があります。

    $virtualnetwork = @{
        Name = 'myVirtualNetwork'
        ResourceGroupName = 'myERRG'
    } 
    Get-AzVirtualNetwork @virtualnetwork
    

次のステップ