Google Cloud Platform で実行されている Cisco Catalyst 8000V でのハイアベイラビリティの設定

Google Cloud では、各スタティックルートは VPC に関連付けられたルートテーブルに属し、次のフィールドで構成されます。

  • [Name] および [Description]:これらのフィールドはルートを識別します。名前は必須ですが、説明は任意です。プロジェクト内のすべてのルートには、一意の名前を付ける必要があります。

  • ネットワーク:各ルートは、1 つの VPC ネットワークにのみ関連付ける必要があります。

  • [Destination range]:宛先範囲は、着信パケットを受信するシステムの IP アドレスを含む単一の IPv4 CIDR ブロックです。GCP は IPv6 宛先範囲をサポートしていません。宛先は CIDR 表記で表す必要があり、可能な最も広範な宛先は 0.0.0.0/0 です。

  • [Priority]:優先順位は、複数のルートの宛先が同じ場合に使用するルートを決定するために使用されます。数値が小さいほど優先順位が高くなります。たとえば、優先順位の値が 100 のルートは、優先順位の値が 200 のルートよりも優先順位が高くなります。

  • [Next hop]:スタティックルートには、デフォルトのインターネットゲートウェイ、GCP インスタンス、またはクラウド VPN トンネルを指すネクストホップを含めることができます。詳細については、スタティックルートのネクストホップを参照してください。

  • [Tags]:リストされたタグの少なくとも 1 つを持つインスタンスにのみルートが適用されるように、ネットワークタグのリストを指定できます。タグを指定しない場合、GCP はネットワーク内のすべてのインスタンスにルートを適用します。

詳細については、https://cloud.google.com/vpc/docs/routes を参照してください。Google ネットワーク内の 2 つの Cisco Catalyst 8000V ルータのアクティブ/アクティブ動作でハイアベイラビリティを設定するには、宛先範囲ごとにルートコレクションに 2 つのルートを作成する必要があります。各ルートは、2 つのルータのいずれかをネクストホップとして指します。

これをよりよく理解するために、次のトポロジを考えます。

上記のトポロジでは、HA モードで 2 つのルータが設定されています。両方のルータには、VPC1 に 1 つのインターフェイスがあり、VPC に別のインターフェイスがあります。これら 2 つの Cisco Catalyst 8000V ルータには、VPC2 にインターフェイスを持つ別の Cisco Catalyst 8000V インスタンスに設定されたトンネルがあります。このシナリオでは、VPC 2 の宛先範囲(172.31.0.0/16)の VPC1 のルートエントリは次のとおりです。

route-vcp2-c8000v1

172.31.0.0/16

100

なし

IP:10:1:0:3

test-vpc

route-vcp2-c8000v2

172.31.0.0/16

200

なし

IP:10.0.2.3

test-vpc

アクティブルートは、ルートの優先順位に基づいて決定されます。route-vpc2-c8000v1 の値が小さいため、このルートの優先順位が高くなり、Cisco Catalyst 8000V 1 がアクティブルートになります。

障害回復後のプライマリ Cisco Catalyst 8000V への復帰

Cisco Catalyst 8000V 1 が失敗すると、Cisco Catalyst 8000V 2 は BFD トンネルを介してピア障害イベントを検出し、ルート収集から route-vpc2-c8000v1 を削除して、route-vpc2-c8000v2 を宛先範囲 172.31.0.0/16 のアクティブルートとします。

Cisco Catalyst 8000V 1 が回復すると、route-vpc2-c8000v1 ルートがルートコレクションに追加され、VPC 2 へのすべてのトラフィックのプライマリルートに戻ります。両方のルートエントリに等しいルート優先順位を設定することが可能であることに注意してください。この場合、Google Cloud は両方のルートを使用してトラフィックを宛先範囲に送信します。

Cisco Catalyst 8000V インスタンスで、2 つの Cisco Catalyst 8000V インスタンスとしてネクストホップを使用して、ルートコレクションの各ルートエントリに対応するノードを作成する必要があります。

HA でモード(プライマリまたはセカンダリ)オプションを使用して新しいノードを作成する場合は、優先順位が高い(番号が小さい)ルートがプライマリとしてマークされ、優先順位が低いルートがセカンダリとしてマークされていることを確認します。

ユーザー指定のスクリプト

ゲストシェルは、独自のスクリプトを展開できるコンテナです。ハイアベイラビリティは、ユーザー指定のスクリプトにプログラミング インターフェイスを公開するため、フェールオーバーイベントと復帰イベントの両方をトリガーできるスクリプトを作成できます。独自のアルゴリズムとトリガーを開発して、特定のルートへの転送サービスを提供する Cisco Catalyst 8000V を制御できます。

冗長性パラメータのクラウド固有の設定

パラメータ

このパラメータは必須ですか。

スイッチ

説明

ノードインデックス

対応

-i

このノードを一意に識別するために使用されるインデックス。有効な値は 1 ~ 255 です。

クラウドプロバイダー

対応

-p

このパラメータには gcp を指定します。

プロジェクト

対応

-g

Google プロジェクト ID を指定します。

routeName

対応

-a

この Cisco Catalyst 8000V がネクストホップであるルート名。たとえば、図 2 の Cisco Catalyst 8000V 1 でノードを設定する場合、route-vpc2-c8000v1 になります。

peerRouteName

対応

-b

BFD ピア Cisco Catalyst 8000V がネクストホップであるルート名。たとえば、図 2 の Cisco Catalyst 8000V 1 でノードを設定する場合、route-vpc2-c8000v2 になります。

Route

あり

-r

更新されるルートの CIDR 形式での IP アドレス。IPv4 または IPv6 アドレスにできます。

ルートが指定されていない場合、冗長ノードは仮想アプライアンスタイプのルーティングテーブル内のすべてのルートに適用されると見なされます。

注:現在、Google Cloud は VPC で IPv6 をサポートしていません。

ネクスト ホップ アドレス。

対応

-n

ネクストホップルータの IP アドレス。このルートテーブルを使用するサブネット上のこの Cisco Catalyst 8000V に割り当てられている IP アドレスを使用します。値は IPv4 または IPv6 アドレスにできます。

注:現在、Google Cloud は VPC で IPv6 をサポートしていません。

hopPriority

対応

-o

現在の Cisco Catalyst 8000V がネクストホップであるルートのルート優先順位。

VPC

対応

-v

現在の Cisco Catalyst 8000V をネクストホップとするルートが存在する VPC ネットワーク名。

冗長ノードの作成

手順


次のスクリプトを実行して冗長ノードを作成し、データベースに追加します:create_node { switch value } […[{ switch value }]

有効な冗長ノードには、次のパラメータを設定する必要があります。

  • ノードインデックス

  • クラウドプロバイダー

  • プロジェクト ID

  • ルート名

  • ピアルート名

  • Route

  • ネクスト ホップ アドレス

  • ホップ優先順位

  • VPC 名

create_node -i 1 -g <project-id> -r dest_network -o 200 -n nexthop_ip_addr -a route-name1 -b route-name2 -p gcp -v vpc_name

設定が成功すると、スクリプトはゼロの値を返します。


冗長ノードパラメータの設定

手順


既存の冗長ノードのパラメータの値を変更するには、set_params{ switch value } […[{ switch value }] スクリプトを実行します。

例:

set_params -i 10 -r 15.0.0.0/16 -n 172.168.7.5

インデックスパラメータ(-i)は必須です。このコマンドは、指定されたパラメータの値を設定します。指定したパラメータが冗長ノードにすでに定義されている場合は、パラメータの値が更新されます。

ゼロのノードインデックス値を指定すると、指定されたパラメータに対してコマンドによって指定された値が、これらのパラメータのデフォルト値として扱われます。

この設定が成功すると、スクリプトはゼロの値を返します。


Cisco Catalyst 8000V ルータの認証

手順の概要

  1. Cisco Catalyst 8000V ルータに関連付けられているサービスアカウントに、少なくともコンピューティング ネットワーク管理者権限があることを確認します。

手順の詳細

コマンドまたはアクション 目的

Cisco Catalyst 8000V ルータに関連付けられているサービスアカウントに、少なくともコンピューティング ネットワーク管理者権限があることを確認します。

また、「credentials.json」という名前のログイン情報ファイルに必要な権限を指定し、/home/guestshell ディレクトリの下に配置することもできます。ログイン情報ファイルは、Cisco Catalyst 8000V インスタンスに関連付けられたサービスアカウントを介して提供される権限をオーバーライドします。