Protective ReRoute を使用して TCP ネットワークの復元力を最適化する

Protective ReRoute(PRR)は、マルチパス ネットワークの障害を回避してパケットをルーティングするホストベースの手法です。PRR は Google のグローバル ネットワーク全体にデプロイされ、既存の復元メカニズムと連携して、すべてのユーザーのネットワーク可用性を向上させます。

PRR モードを選択する

Google Cloud は、ハイパーバイザ モードとゲストモードの 2 つのモードで PRR を提供します。

ハイパーバイザー モードの PRR

ハイパーバイザ モードの PRR は、デフォルトでほとんどのトラフィックを保護しますが、次の制限事項があります。

  • インスタンスのトラフィック ファンアウトが大きい場合(たとえば、インスタンスが同時に数千のクロスリージョン インスタンスにパケットをアクティブに送信している場合)、すべてのパケットが保護されるわけではありません。

  • ハイパーバイザ モードの PRR は、ネットワーク パスの主要なセグメントを保護しますが、完全なエンドツーエンドではありません。

  • ハイパーバイザー モードの PRR は数秒以内に反応します。

ゲストモードの PRR

ゲストモード PRR は、短期間のネットワーク イベントに特に敏感なクリティカル アプリケーション、大規模なファンアウト パターンを持つアプリケーション、パケットロスに非常に敏感なアプリケーション、可能な限り最速のネットワーク復旧時間(RTT タイムスケール)を必要とするアプリケーションに使用できます。

すべての Google Cloud お客様は、構成操作を必要とせずにハイパーバイザ モードの PRR を自動的に取得します。

ゲストモードの PRR を構成する

パケットロスに非常に敏感なアプリケーション、大規模なファンアウト パターンを必要とするアプリケーション、可能な限り最速のネットワーク復旧を必要とするアプリケーションには、ゲストモードを使用する必要があります。

ゲストモードの PRR を構成するには、次の手順を行います。

  1. Linux カーネルのバージョンを確認します。次のコマンドを使用して、インスタンスの OS がバージョン 4.20 以降を使用していることを確認します。

    uname -r
    
  2. IPv6 フローラベルが自動的に生成されることを確認します。次のコマンドを使用して、/proc/sys/net/ipv6/auto_flowlabels 設定が有効になっていることを確認します。この sysctl 設定は、デフォルトで有効になっていることがよくあります。

    cat /proc/sys/net/ipv6/auto_flowlabels
    

    値が 1 でない場合は、システム構成で有効にします。

  3. 完全な PRR サポートには、gVNIC ネットワーク インターフェース ドライバを使用します。IPv4 トラフィックと IPv6 トラフィックの両方を保護するには、インスタンスで gVNIC ネットワーク インターフェースを使用する必要があります。インスタンスが VirtIO ネットワーク インターフェースを使用している場合、PRR は IPv6 トラフィックのみを保護します。

次のステップ