Cloud Router の BFD を構成する

Cloud Router の Bidirectional Forwarding Detection(BFD)を使用すると、BGP のアップイベントやダウンイベントなどの転送パスの障害を迅速に検出できるため、ハイブリッド ネットワークの復元性を向上できます。

VLAN アタッチメントの BGP セッションで BFD を構成できます。Network Connectivity Center の一部である HA VPN トンネルまたはルーター アプライアンスに構成されている BGP セッションでは、BFD はサポートされていません。

BFD の詳細については、Cloud Router の Bidirectional Forwarding Detection(BFD)の概要をご覧ください。BFD の設定とタイマーの詳細な説明が記載されています。

始める前に

このガイドのコマンドラインの例を使用する場合は、次の操作を行います。

  1. Google Cloud CLI の最新バージョンをインストールするか、最新バージョンに更新します。
  2. デフォルトのリージョンとゾーンを設定します。

このガイドの API の例を使用する場合は、API アクセスを設定します。

Cloud Interconnect に Cloud Router を追加する

BFD を構成する前に、次のいずれかの接続を設定する必要があります。また、BGP セッションに Cloud Router を追加する必要があります。

既存の BGP セッションで BFD を構成する

以前に VLAN アタッチメント用に設定された BGP セッションで BFD を構成できます。

既存の BGP セッションで BFD を構成する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで [Cloud Router] ページに移動します。

    [Cloud Router] に移動

  2. 更新する Cloud Router を選択します。

  3. [ルーターの詳細] ページの [BGP セッション] セクションで、更新する BGP セッションを選択します。

  4. [BGP セッションの詳細] ページで、[編集] をクリックします。

  5. BFD 以外の設定を完了します。

  6. [Bidirectional Forwarding Detection] で、BFD 設定とタイマーに記述されているように BFD オプションを構成します。

    必須: BFD を有効にするには、BFD セッションの初期化モードactive に設定します。

gcloud

update-bgp-peer コマンドを実行します。

gcloud compute routers update-bgp-peer ROUTER_NAME \
    --project=PROJECT_ID \
    --peer-name=PEER_NAME \
    --interface=INTERFACE \
    --ip-address=IP_ADDRESS \
    --peer-asn=PEER_ASN \
    --peer-ip-address=PEER_IP_ADDRESS \
    --region=REGION \
    --bfd-session-initialization-mode=BFD_SESSION_INITIALIZATION_MODE  \
    --bfd-min-receive-interval=BFD_MIN_RECEIVE_INTERVAL \
    --bfd-min-transmit-interval=BFD_MIN_TRANSMIT_INTERVAL \
    --bfd-multiplier=BFD_MULTIPLIER

次のように置き換えます。

  • ROUTER_NAME: Cloud Router の名前
  • PROJECT_ID: Cloud Router を含むプロジェクト
  • PEER_NAME: BGP ピアの名前
  • INTERFACE: この BGP ピアのインターフェースの名前
  • IP_ADDRESS: Cloud Router の IP アドレス
  • PEER_ASN: この BGP ピアの BGP 自律システム番号(ASN)
  • PEER_IP_ADDRESS: 範囲 169.254.0.0/16 に属するピアルーターのリンクローカル アドレス
  • REGION: Cloud Router が配置されているリージョン
  • BFD 設定とタイマーの説明に従って、BFD オプションを構成します。

    必須: BFD を有効にするには、BFD_SESSION_INITIALIZATION_MODEactive に設定します。

API

routers.patch メソッドを使用して bgpPeers[].bfd フィールドを更新します。

bgpPeers[] フィールドには、BGP ピアの配列を指定します。このフィールドに PATCH を実行すると、BGP ピアの既存の配列がリクエストに含まれる新しい配列で上書きされます。

  1. GET リクエストを送信して、ルーターの BGP ピアの現在の配列を取得します。詳しくは、BGP セッション構成の表示をご覧ください。

  2. BGP ピアの新しい配列を指定して PATCH リクエストを送信します。BFD 設定を更新する BGP セッションを含む配列要素で、bgpPeers[].bfd フィールドを変更します。

       PATCH https://compute.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
       {
         "bgpPeers": [
           BGP_PEERS
         ]
       }
    

    次のように置き換えます。

    • PROJECT_ID: Cloud Router が含まれるプロジェクト
    • REGION: Cloud Router が配置されているリージョン
    • ROUTER_NAME: Cloud Router の名前
    • BGP_PEERS: BGP ピアの新しい配列の内容

    次の例では、2 つの BGP ピアを含め、bgpPeers[].bfd フィールドの値を設定しています。これらのオプションの詳細については、BFD 設定とタイマーをご覧ください。

    必須: BFD を有効にするには、sessionInitializationModeACTIVE に設定します。

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT"
          "bfd": {
            "sessionInitializationMode": ACTIVE,
            "minTransmitInterval": 1000,
            "minReceiveInterval": 1000,
            "multiplier": 5
          }
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 99,
          "advertiseMode": "DEFAULT"
          "bfd": {
            "sessionInitializationMode": ACTIVE,
            "minTransmitInterval": 1000,
            "minReceiveInterval": 1000,
            "multiplier": 5
          }
        }
    

ピアルーターで BFD を構成する

ピアルーターで BFD を有効にするには、ルーター ベンダーのドキュメントに記載されている推奨に従って最小送信間隔、最小受信間隔、検出乗数を構成します。デバイス固有のコマンドを使用してください。

BFD ピア間の BFD タイマー ネゴシエーションの場合、2 つのピアで遅いほうのピアによって送信レートが決まります。大きな値を構成すると、この間隔を強制的に延長できます。

以下は、Cisco ルーターの BFD 構成例です。その他の構成例については、BFD 用のサードパーティ ルーター構成の使用をご覧ください。

  int range <physical interface>
    bfd interval 1000 min_rx 1000 multiplier 5

  router bgp <ASN>
    neighbor 169.254.33.6 fall-over bfd
    neighbor 169.254.44.6 fall-over bfd

ピアルーターで BFD を確認する

ピアルーターを構成したら、BFD セッションの詳細を表示して、Cloud Router とのセッションが稼働していることを確認します。

  • 次に示す Cisco ルーターのサンプル コマンドは、BFD セッションのステータスを表示しています。

    show bfd neighbors 169.254.44.6 details
    
  • コマンドの出力は次の例のようになります。

    IPv4 Sessions
    NeighAddr                    LD/RD           RH/RS     State     Int
    169.254.44.6                 4212/2045617738 Up        Up        Tu503
    Session state is UP and not using echo function.
    Session Host: Software
    OurAddr: 169.254.44.5
    Handle: 4
    Local Diag: 0, Demand mode: 0, Poll bit: 0
    MinTxInt: 1000, MinRxInt: 1000, Multiplier: 5
    Received MinRxInt: 1000, Received Multiplier: 5
    Holddown (hits): 244(1), Hello (hits): 100(30409)
    Rx Count: 4562, Rx Interval (ms) min/max/avg: 10/1140/870 last: 56 ms ago
    Tx Count: 4475, Tx Interval (ms) min/max/avg: 10/1040/890 last: 64 ms ago
    Elapsed time watermarks: 4 4 (last: 4)
    Registered protocols: CEF BGP
    Uptime: 00:06:39
    Last packet: Version: 1                  - Diagnostic: 0
                 State bit: Up               - Demand bit: 0
                 Poll bit: 0                 - Final bit: 0
                 C bit: 0
                 Multiplier: 5               - Length: 24
                 My Discr.: 2045617738       - Your Discr.: 4212
                 Min tx interval: 1000     - Min rx interval: 1000
                 Min Echo interval: 0
    
  • Cisco ASR ピアルーターからのサンプル出力では、ピア側で確認できる診断情報が表示されます。これにより BFD セッションのステータスを判断できます。

    14:06:12.906921 IP (tos 0xc0, ttl 255, id 58754, offset 0, flags [none], proto UDP (17), length 52)
      169.254.44.5.49152 > 169.254.44.6.3784: [udp sum ok] BFDv1, length: 24
    Control, State Down, Flags: [none], Diagnostic: No Diagnostic (0x00)
    Detection Timer Multiplier: 5 (5000 ms Detection time), BFD Length: 24
    My Discriminator: 0x0000100b, Your Discriminator: 0x00000000
      Desired min Tx Interval:    1000 ms
      Required min Rx Interval:   1000 ms
      Required min Echo Interval:  100 ms
    

Cloud Router の BFD を確認する

次のいずれかの方法で、Google Cloud 側で BFD セッションを確認します。

次のステップ