Dedicated Interconnect で 99.99% の可用性を実現する

次の構成では、Dedicated Interconnect を使用して 99.99% の可用性を達成します。ダウンタイムの許容度が低く、ミッション クリティカルな運用が必要となるような本番環境レベルのアプリケーションには、この構成が推奨されています。

99.99% の可用性を達成するには、次のリソースと設定が必要です。

  • 少なくとも 4 つの相互接続(1 つの大都市圏に 2 つ、別の大都市圏に 2 つ)。同じ大都市圏内の相互接続は、異なるエッジ アベイラビリティ ドメインに配置する必要があります。
  • 少なくとも 4 つの Cloud Router(各 Google Cloud リージョンに 2 つずつ)。1 つのリージョンだけに仮想マシン(VM)インスタンスがある場合でも、2 つのリージョンを使用する必要があります。リージョン全体の問題が発生した場合、もう一方のリージョン経由でお客様の VM に到達するようにルートが変更されます。また、各 Cloud Router は、それぞれ異なる相互接続に接続する必要があります(4 つの VLAN アタッチメント)。
  • Virtual Private Cloud(VPC)ネットワークの動的ルーティング モードはグローバルにする必要があります。グローバル動的ルーティングを利用すると、Cloud Router はすべてのサブネットをアドバタイズし、学習したルートをサブネットのリージョンに関係なく、すべてのサブネットに伝播できます。
  • 可用性の要件に応じて、オンプレミス ネットワークで 2 つのルーターを使用できます。各ルーターをいずれかの Google Cloud リージョンに接続します。

次のトポロジ例では、2 つの大都市圏の異なる都市のアベイラビリティ ゾーンにある 4 つの相互接続が示されています(lga-zone1-16lga-zone2-1422iad-zone1-1iad-zone2-1)。vpc1 ネットワーク内の us-central1us-east1 の各リージョンに Cloud Router があります(相互接続ごとに 1 つ)。各ルーターには独自の BGP セッションがあります。

99.99% の可用性のための冗長相互接続の図(クリックで拡大)
99.99% の可用性のための冗長相互接続(クリックで拡大)

優先されるパス

グローバル動的ルーティングで、Cloud Router は VPC ネットワーク内のすべてのサブネットにルートをアドバタイズします。Cloud Router は、ローカル サブネット(Cloud Router のリージョン内にあるサブネット)と比較して優先度が低いリモート サブネット(Cloud Router のリージョン外のサブネット)にルートをアドバタイズします。

トポロジの例では、VPC ネットワークへの上りトラフィックは us-central1 を経由するほうが優先されます。これは、このルートは us-east1 リージョンからのルートよりも優先度が高いためです。us-central1 での接続が失敗した場合に限り、トラフィックが us-east1 を通過します。

Cloud Router の BGP セッションを構成するとき、ルートの優先度を変更できます。BGP セッションには、アドバタイズされたルートの優先度のオプションがあります(MED 値)。値が小さければ小さいほど、優先度が高くなります。たとえば、us-east1 の BGP セッションに高い優先度を構成し、そのリージョンを優先パスにできます。

手順

以下のセクションでは、以前のトポロジを作成する手順について説明します。目的に合わせたトポロジを作成するには、サンプルの入力値を独自の値に置き換えます。たとえば、vpc1 というネットワーク名を実際の VPC ネットワーク名に置き換えます。

VPC ネットワークの動的ルーティング モードの変更

vpc1 ネットワークに対して、動的ルーティング モードをグローバルに変更します。

Console

  1. Google Cloud Console で [VPC ネットワーク] ページに移動します。
    [VPC ネットワーク] ページに移動
  2. vpc1 ネットワークを選択します。
  3. 動的ルーティング モードを変更するには、[編集] をクリックします。
  4. [動的ルーティング モード] セクションで、[グローバル] を選択します。
  5. [保存] をクリックします。

gcloud

gcloud compute networks update vpc1\
    --bgp-routing-mode global

相互接続の注文

重複する相互接続は、Google Cloud Console または gcloud コマンドライン ツールを使用してご注文ください。

Console

  1. Google Cloud Console で Cloud Interconnect の [物理接続] タブに移動します。
    [物理接続] タブに移動
  2. [接続の設定] を選択します。
  3. [専用の相互接続] を選択し、[続行] を選択します。
  4. [新しい専用の相互接続を注文] を選択し、[続行] を選択します。
  5. 相互接続の詳細を指定し、[次へ] を選択します。
    • 名前 - int-lga1 と指定します。
    • 説明 - Example interconnect in LGA ZONE1 と指定します。
    • ロケーション - ロケーションに Digital Realty | Telx New York (111 8th Ave) を選択します。これは lga-zone1-16 ロケーションの PeeringDB 名です。
    • 容量 - デフォルトの容量(10 Gbps)を使用します。
  6. 重複する相互接続の詳細を指定してから、[次へ] を選択します。
    • 名前 - int-lga2 と指定します。
    • 説明 - 相互接続がこの例のトポロジのためのものであることを示すために、Example interconnect in LGA ZONE2 を指定します。
    • ロケーション - ロケーションに zColo New York - 60 Hudson St を選択します。これは lga-zone2-1422 ロケーションの PeeringDB 名です。
    • 容量 - デフォルトの容量(10 Gbps)を使用します。
  7. 連絡先情報を指定します。
    • 会社名 - この例では、会社名に The Customer という値を使用します。この名前は、相互接続をリクエストする権限を持つ当事者として LOA-CFA で使用されます。
    • 技術面に関する連絡先 - この例では、技術面に関する連絡先に customer@customer.com という値を使用します。お客様ご自身のアドレスを入力する必要はありません。お客様のアドレスはすべての通知に含められます。
  8. 注文を確認します。相互接続の詳細と連絡先情報が正しいことを確認してください。すべてが正しい場合は、[注文] を選択します。正しくない場合は、前に戻って相互接続の詳細を編集してください。
  9. 注文確認ページで次の手順を確認して、[完了] を選択します。
  10. ロケーション Equinix Ashbun (DC1-DC11) の相互接続をさらに 2 つ(int-iad1int-iad2)注文します。これはロケーション iad-zone1-1iad-zone2-1 の PeeringDB 名です。Ashburn 施設には 2 つのゾーンがあるため、コンソールで自動的に同じ施設が選択されますが、冗長相互接続用に別のゾーンを選択します。

gcloud

  1. int-lga1int-lga2int-iad1int-iad2 という名前の 4 つの相互接続を注文します。

    gcloud compute interconnects create int-lga1 \
    --customer-name "The Customer" \
    --description "Example interconnect in LGA ZONE1" \
    --interconnect-type DEDICATED \
    --link-type ETHERNET_10G_LR \
    --location lga-zone1-16 \
    --requested-link-count 1 \
    --noc-contact-email customer@customer.com
    gcloud compute interconnects create int-lga2 \
    --customer-name "The Customer" \
    --description "Example interconnect in LGA ZONE2" \
    --interconnect-type DEDICATED \
    --link-type ETHERNET_10G_LR \
    --location lga-zone2-1422 \
    --requested-link-count 1 \
    --noc-contact-email customer@customer.com
    gcloud compute interconnects create int-iad1 \
    --customer-name "The Customer" \
    --description "Example interconnect in IAD ZONE1" \
    --interconnect-type DEDICATED \
    --link-type ETHERNET_10G_LR \
    --location iad-zone1-1 \
    --requested-link-count 1 \
    --noc-contact-email customer@customer.com
    gcloud compute interconnects create int-iad2 \
    --customer-name "The Customer" \
    --description "Example interconnect in IAD ZONE2" \
    --interconnect-type DEDICATED \
    --link-type ETHERNET_10G_LR \
    --location iad-zone2-1 \
    --requested-link-count 1 \
    --noc-contact-email customer@customer.com

相互接続を注文すると、Google から確認メールが送信され、ポートが割り当てられます。割り当てが完了すると、相互接続用の LOA-CFA が生成され、メールで送信されます。自動化されたメールはすべて、NOC の連絡先と相互接続を注文した連絡先に送信されます。

相互接続のプロビジョニングとテストが完了した後でなければ、相互接続を使用することはできません。プロビジョニング プロセスの詳細については、プロビジョニングの概要をご覧ください。

Cloud Router の作成

Cloud Router を(相互接続ごとに 1 つ)作成します。

Console

  1. Google Cloud Console で [クラウド ルーターを作成] ページに移動します。
    ルーターページに移動
  2. Cloud Router の詳細を指定します。
    • 名前 - 最初の Cloud Router の名前として rtr-cent1 を指定します。
    • VPC ネットワーク - vpc1 を指定します。この値は、オンプレミス ネットワークの拡張先となるネットワークの名前です。
    • リージョン - us-central1 を指定します。この値は、トポロジの例に示すように、Cloud Router が構成されているリージョンです。
    • Google ASN - 64513 を指定します。これは例に示す Cloud Router の ASN です。
  3. 最初の Cloud Router を複製し、名前を rtr-cent2 に変更します。
  4. 同じ属性を持つ Cloud Router を us-east1 リージョンにさらに 2 つ作成し、名前を rtr-east1rtr-east2 にします。

gcloud

  1. vpc1 ネットワーク内の us-central1 リージョンに 2 つの Cloud Router を作成します。両方の Cloud Router に ASN 64513 を使用します。

    gcloud compute routers create rtr-cent1 \
      --asn 64513 \
      --network vpc1 \
      --region us-central1
    gcloud compute routers create rtr-cent2 \
      --asn 64513 \
      --network vpc1 \
      --region us-central1
  2. vpc1 ネットワーク内の us-east1 リージョンに 2 つの Cloud Router を作成します。両方の Cloud Router に ASN 64513 を使用します。

    gcloud compute routers create rtr-east1 \
      --asn 64513 \
      --network vpc1 \
      --region us-east1
    gcloud compute routers create rtr-east2 \
      --asn 64513 \
      --network vpc1 \
      --region us-east1

VLAN アタッチメントの作成

相互接続を使用する準備が整ったら(ACTIVE 状態で)、相互接続を使用した Cloud Router への VLAN アタッチメントを作成します。相互接続と Cloud Router のペアごとに 1 つ、4 つのアタッチメントを作成します。接続は次のリストのとおりです。

  • rtr-cent1int-lga1 に接続されます。
  • rtr-cent2int-lga2 に接続されます。
  • rtr-east1int-iad1 に接続されます。
  • rtr-east2int-iad2 に接続されます。

Console

  1. Google Cloud Console で Cloud Interconnect の [VLAN アタッチメント] タブに移動します。
    [VLAN アタッチメント] タブに移動
  2. [VLAN アタッチメントを追加] を選択します。
  3. [専用の相互接続] を選択して専用 VLAN アタッチメントを作成し、[続行] を選択します。
  4. [このプロジェクト内] を選択して、プロジェクト内に Dedicated Interconnect のアタッチメントを作成します。
  5. int-lga1 相互接続を選択し、[続行] を選択します。
  6. 相互接続に新しい VLAN をアタッチするには、[VLAN アタッチメントを追加] を選択します。
    • 名前 - アタッチメントの名前として attachment-lga1-central1 を指定します。
    • ルーター - rtr-cent1 Cloud Router を選択します。
  7. [作成] を選択します。アタッチメントの作成には数分かかります。
  8. アタッチメントについて [構成] を選択し、BGP セッションを rtr-cent1 に追加します。Google とピア BGP の IP アドレスは、VLAN アタッチメントによってすでに設定されています。
  9. アタッチメントごとに IP アドレス、ASN、VLAN タグを記録します。オンプレミス ルーターを構成するには、この情報が必要です。
  10. BGP セッションを追加するには、[設定を保存] を選択します。オンプレミス ルーターで BGP を設定するまで、BGP セッションはアクティブではありません。
  11. 他の 3 つの相互接続と Cloud Router のペアに対して、さらに 3 つのアタッチメントを作成します。各アタッチメントの情報を記録します。

gcloud

  1. アタッチメントを作成します。

    gcloud compute interconnects attachments create attachment-lga1-central1 \
      --interconnect int-lga1 \
      --router rtr-cent1 \
      --region us-central1
    gcloud compute interconnects attachments create attachment-lga2-central1 \
      --interconnect int-lga2 \
      --router rtr-cent2 \
      --region us-central1
    gcloud compute interconnects attachments create attachment-iad1-east1 \
      --interconnect int-iad1 \
      --router rtr-east1 \
      --region us-east1
    gcloud compute interconnects attachments create attachment-iad2-east2 \
      --interconnect int-iad2 \
      --router rtr-east2 \
      --region us-east1
  2. attachment-lga1-central1 アタッチメントに対して describe コマンドを実行し、割り当てられたリソース(VLAN ID、BGP ピアリング アドレスなど)を取得します。これらの値を使用して、Cloud Router とオンプレミス ルーターを構成します。

    gcloud compute interconnects attachments describe attachment-lga1-central1 \
      --region us-central1

    前のコマンドは、次の情報を出力します。

    cloudRouterIpAddress: 169.254.58.49/29
    creationTimestamp: '2017-08-15T08:34:11.137-07:00'
    customerRouterIpAddress: 169.254.58.50/29
    id: '5630382895290821276'
    interconnect:
    https://www.googleapis.com/compute/v1/projects/customer-project/global/interconnects/int-lga1
    kind: compute#interconnectAttachment
    name: attachment-lga1-central1
    operationalStatus: ACTIVE
    privateInterconnectInfo:
      tag8021q: 1000
    region: https://www.googleapis.com/compute/v1/projects/customer-project/regions/us-central1
    router: https://www.googleapis.com/compute/v1/projects/customer-project/regions/us-central1/routers/router1
    selfLink: https://www.googleapis.com/compute/v1/projects/customer-project/regions/us-central1/interconnectAttachments/attachment-lga1-central1
      
  3. 以下の値を記録します。

    • tag8021q - VLAN ID を指定します。ここでは 1000 です。VLAN ID は、このアタッチメントを通過するトラフィックを識別します。オンプレミス ルーターでタグ VLAN サブインターフェースを構成するには、この値を使用します。
    • cloudRouterIpAddress - Cloud Router の IP アドレスです。ここでは 169.254.58.49/29 です。このアドレスを Cloud Router インターフェースに割り当て、このアドレスをオンプレミス ルーターの BGP ネイバーとして指定します。
    • customerRouterIpAddress - お客様のルーターの IP アドレスです。ここでは 169.254.58.50/29 です。Cloud Router で、このアドレスを Cloud Router の IP アドレスが割り当てられているインターフェース上の BGP ピアアドレスとして指定します。このアドレスをオンプレミス ルーターの VLAN サブインターフェースに割り当てます。
  4. rtr-cent1 Cloud Router で、attachment-lga1-central1 アタッチメントのためのインターフェースを追加します。

    gcloud compute routers add-interface rtr-cent1 \
      --interface-name rtr-cent1-1 \
      --interconnect-attachment attachment-lga1-central1 \
      --ip-address 169.254.58.49 \
      --mask-length 29 \
      --region us-central1
  5. インターフェースに BGP ピアを追加します。この例では、オンプレミス ASN は 12345 です。

    gcloud compute routers add-bgp-peer rtr-cent1 \
      --interface rtr-cent1-1 \
      --peer-name central1 \
      --peer-ip-address 169.254.58.50 \
      --peer-asn 12345 \
      --advertised-route-priority 100 \
      --region us-central1
  6. 他のアタッチメントに対して describe コマンドを実行し、同様に各 Cloud Router で新しい BGP セッションを構成します。

オンプレミス ルーターの構成

VLAN アタッチメントの情報を使用して、オンプレミス ルーターを構成します。次の例は、Juniper ルーターの構成を抜粋したものです。このサンプルを独自のルーターを構成するための雛形として使用してください。詳細については、オンプレミス ルーターの構成を参照してください。

interface ae20 {
  flexible-vlan-tagging;
  native-vlan-id 1;
  aggregated-ether-options {
    lacp {
      active;
     }
   }
  unit 1000 {
    vlan-id 1000;
    family inet {
      address 169.254.58.50/29;
    }
  }
}

protocols bgp {
  group google {
    type external;
    multihop {
      ttl 4;
    }
    hold-time 60;
    peer-as 64513;
    local-as 12345;
    local-address 169.254.58.50;
    neighbor 169.254.58.49 {
      ...
    }
  }
}

次のステップ

  • この各ステップの詳細については、関連する Dedicated Interconnect の入門ガイドをご覧ください。
  • 一般的な問題のトラブルシューティングについては、トラブルシューティング ガイドをご覧ください。