メインコンテンツまでスキップ

CloudEdge Selective Address Mobility

Phase G — autonomous BGP /32 address mobility

AWS / Azure / OCI / on-prem をまたぐ /32 可搬性 NAT なし・source IP 保持・default gateway 不変

routerd Cloud Edge Router


課題

  • マルチクラウド + オンプレで、同一の /32(サービス/クライアントアドレス)を サイト間で到達させたい。
  • ルーターノード障害時に、手動操作ゼロで同一サイトの standby が引き継ぎ、 L3 到達性を復旧したい。
  • provider 固有の操作(AWS secondary IP / Azure NIC ipConfig / OCI VNIC / on-prem VRRP)を共通フレームワークで扱いたい。
  • split-brain / flapping を防ぎ、収束時間 60s 以下 を目指す。

設計 — clean Option B

要素方式
ownershipBGP best-path(唯一の真実源)
livenessper-node marker(overlay /32 + identity community)
trapRIB-driven(best-path 変化を捕捉)
seizeliveness-driven(active marker 消失で standby が取得)

旧来の AddressLease / ownershipEpoch / heartbeat / ActionPlan を撤去。 複数の真実源を排し、BGP を唯一の ownership plane に。

➡ ADR 0012 が ADR 0006 を supersede


トポロジ — overlay + iBGP hub-spoke

logical /24 = 10.77.60.0/24 / underlay は default WireGuard(ipip/gre/fou/gue 選択可)


自律フェイルオーバー

手動操作ゼロ・manualProviderAction=false


capture の実現

  • on-prem: VRRP-master hard-gate — backup は fail-closed(proxy_arp=0
  • doctor hybrid が split-brain を deterministically FAIL(loop-free by design)
  • cloud mutation は最小権限 identityで自律実行

データプレーン不変条件

  • NAT なし — translation signature が出ない
  • source IP 保持 — server から見える source = client の /32
  • default gateway 不変 — client の既定経路は不変
  • MTU/PMTU — overlay 追従 MSS clamp(routerd_mss)+ 任意の IPv4 force-fragment(default off)で DF blackhole 回避

➡ FTP(active/passive) / NFS / RPC / 100MB bulk が fragment なく完走


underlay と PMTU(Phase G 追加)

  • P2-a — pluggable underlay(ADR 0009)
    • TunnelInterface: ipip / gre / fou / gue(UDP encap)
    • default は WireGuard、trusted private 接続で軽量 L3 を選択可
  • P2-b — IPv4 force-fragment(ADR 0013)
    • OverlayPeer / TunnelInterface.pathMTU.forceFragmentIPv4、default off
    • 低 PMTU underlay の DF blackhole を緩和(IPv4 限定)

acceptance 結果(実機 evidence)

項目結果
overalloverallPass: true
4-site matrixD3 12/12
AWS / Azure / OCI failoverD5 / D6 56.7s / D7(自律, 60s 以下)
on-prem VRRPD8 recovery 8s, backup fail-closed, split-brain FAIL
L2 loop / STPrecovery 3s, STP blocking, loop-free
protocol 透過性FTP/NFS/RPC/100MB/PMTU/source 保持/no-NAT 全 PASS
最小権限AWS / OCI / Azure scoped identity 実証
unitgo test 2322 pass

まとめ

  • BGP best-path が /32 の owner を決める
  • RIB の変化を CER が trap する
  • cloud は secondary IP、on-prem は proxy-ARP/GARP で実現する
  • データプレーンは NAT せず、source IP と default gateway を維持する

CloudEdge SAM = BGP best-path driven /32 mobility

ネットワーク屋に通じる単純さと、実機 acceptance で裏打ちされた堅牢性。