よくある思い込みは、境界の Layer 2 接続モデルがその上のすべてを決めるというもので、設計は vPC ペアから始まり上へ向かって進む。たいていは、偶然に決まったルーティング判断に行き着く。EVPN の境界はまずルーティングの境界である。テナントのルーティングコンテキストが外部ルーティングドメインと接し、その線を越えるものはポリシーの宣言である。port-channels の議論が始まる前に、ルート、ASN の関係、障害時の経路を決めておく。 接続モデル は、要件を押し付けるのではなく、要件から導かれる。

境界を越えるものから始める

両側で見えるべきルート、その流れる向き、そしてその一覧への変更を誰が承認するかを書き出す。何もかも受け入れ、何もかも広告する境界にはポリシーがなく、ケーブルがあるだけだ。

次に、運用するつもりの障害を名指しする。uplink が一つ落ちる、border leaf が一つ落ちる、外部ドメイン全体が到達不能になる、のいずれかである。答えによって、独立した二つのネイバーが必要か、共有の Layer 2 接続が必要か、両方かが変わる。

この二つの一覧が揃って初めて、接続の問いに答えられるようになる。それまではどの仕組みも同じ程度に妥当に見える。揃った後は、ほとんどの仕組みが自ら消えていく。ルーティングの作業を先にやる理由は、まさにそこにある。

ASN と peering の境界を固める

プライベート AS を使うファブリックは、通常 eBGP で公開境界ドメインと peering し、興味深いのは両側のポリシーである。どのプレフィックスを受け入れ、どれを広告し、upstream にどの AS path を渡すかを決める。

RFC 6996 はプライベート利用の ASN 範囲を予約しており、その ASN はグローバル広告に現れるべきではない。プラットフォームが対応する除去またはフィルタのポリシーを適用し、装置がやったと決めつけずに結果の広告を検証する。この手順は、任意の公開プレフィックスを広告する権限を与えるものでもない。それはアドレスの所有者との別の話である。

コンフェデレーションや local-AS 機能は、特定のトポロジに対する設計上の選択である。ファブリックと upstream が異なる ASN の役割を使うというだけでは、どちらも必須ではない。要件なしに一方を採り入れると、今後の変更すべてに可動部分が増える。

Layer 3 の uplink に multichassis LAG は不要

自前の BGP ネイバーを持つ独立したルーテッドインターフェースは、二本の明確な経路と二つの明確な障害ドメインを与える。vPC などの multichassis LAG は Layer 2 接続の要件に応えるもので、その要件があるときに正しい道具となる。

境界のペアは必ず vPC を使う、あるいは必ず避けるという一律の規則は、実際に判断を決める条件を覆い隠す。接続が何を運ぶべきかを問い、それを最も少ない共有障害モードで運ぶ仕組みを選ぶ。

最初に書いたルーティングポリシーは、接続の仕組みが変わっても変わらない。順序が正しかった証拠である。

テナントが必要とするものだけをエクスポートする

テナントはデフォルトルートを必要とするかもしれないし、選んだ外部プレフィックスの集合や、はるかに大きなテーブルを必要とするかもしれない。その範囲は、実際の転送能力とコントロールプレーンの容量に対して選ぶ。誰も測り直していない古いインターネットルート数に対してではない。

EVPN IP Prefix ルートは、一般に Type 5 と呼ばれ、 RFC 9136で定義され、overlay 内でプレフィックス情報を運ぶ。実装にはなお、対応するエクスポートとインポートのポリシー、そして next-hop の解決が必要である。したがって境界で外部 BGP ルートを受けることは、テナントのすべての VRF がそれをインポートすることを意味しない。

境界がテーブルを持っているからといって、すべての leaf が完全なテーブルを必要とするわけではない。テナントの通信が必要とするものを配り、残りは境界に持たせる。

一つのプレフィックスを端から端まで検証する

代表的な外部プレフィックスを選び、境界の想定 VRF、エクスポートポリシー、受信側 leaf の転送コンテキスト、テナントの送信元への戻り経路を通して追う。ある場所に現れて次の場所に現れないプレフィックスは、誤りをただちに特定する。

next hop が overlay を通してどう解決されるかを確認する。未解決の next hop を伴うルートは何も転送しない。その後、uplink の変更後に同じ確認を繰り返す。ポリシーと next-hop の解決が最も食い違うのはそのときである。

作業の順序は、越境するルートを列挙し、ASN ポリシーに合意し、接続を実際の役割に合わせて選び、テナントごとにエクスポートの範囲を定め、最後に一つのプレフィックスとその戻り経路を検証する。

関連記事