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

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

このページで使用している Cloud Interconnect の用語については、主な用語をご覧ください。

フェイルオーバー シナリオでの冗長性を備え十分な容量を持つ Interconnect 接続の作成については、ベスト プラクティスをご覧ください。

要件

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

  • 少なくとも 4 つの VLAN アタッチメント(Google Cloud リージョンごとに 2 つ)。1 つのリージョンだけに仮想マシン(VM)インスタンスがある場合でも、2 つのリージョンを使用する必要があります。リージョン全体の問題が発生した場合、もう一方のリージョン経由でお客様の VM に到達するようにルートが変更されます。VLAN アタッチメントの各ペアに専用の Cloud Router が必要です(2 つの Cloud Router)。

  • 各リージョンの VLAN アタッチメントは 1 つの大都市圏(メトロ)内の Interconnect に接続する必要があります。他のリージョン内のアタッチメントは別のメトロ内の接続に接続する必要があります。

    Interconnect 接続のロケーション選択の詳細については、接続のリクエストをご覧ください。

  • Virtual Private Cloud(VPC)ネットワークの動的ルーティング モードはグローバルにする必要があります。グローバル動的ルーティングを利用すると、Cloud Router はすべてのサブネットをアドバタイズし、学習したルートをサブネットのリージョンに関係なく、すべてのサブネットに伝播できます。

  • ハードウェアと可用性の要件に応じて、オンプレミス ネットワークで 1 つ以上のルーターを使用できます。

トポロジの例

この例のトポロジでは、次のリソース名、リージョン、Interconnect 接続ロケーションを使用します。チュートリアルを進めるときは、これらの値を実際の値で置き換えてください。

リージョン ルーター名 VLAN アタッチメント名 接続ロケーション エッジ アベイラビリティ ドメイン
us-central1 router-central1 attach-central-a ダラス 1
us-central1 router-central1 attach-central-b ダラス 2
us-east4 router-east4 attach-east-a アッシュバーン 1
us-east4 router-east4 attach-east-b アッシュバーン 2

次の図は、2 つの大都市圏内の 4 つのレイヤ 2 接続を示しています。各大都市圏内で、各接続は異なるエッジ アベイラビリティ ドメイン(Dallas - domain 1Dallas - domain 2Ashburn - domain 1Ashburn - domain 2)にあります。

Cloud Router(リージョンごとに 1 つ)は、us-central1 リージョンと us-east4 リージョンの vpc1 ネットワークにあります。レイヤ 2 接続の場合は、ユーザーがオンプレミス ルーター上で各 Cloud Router との Border Gateway Protocol(BGP)セッションを構成します。

レイヤ 2 を使用して 99.99% の可用性を実現する冗長 Interconnect 接続(クリックして拡大)
レイヤ 2 を使用して 99.99% の可用性を実現する冗長 Interconnect 接続(クリックして拡大)

次のレイヤ 3 トポロジでは、レイヤ 2 トポロジと同様に 2 つの異なる大都市圏と異なるエッジ アベイラビリティ ドメインで 4 つの Interconnect 接続があります。Cloud Router(リージョンごとに 1 つ)は、us-central1 リージョンと us-east4 リージョンの vpc1 ネットワークにあります。レイヤ 3 接続の場合、サービス プロバイダが BGP セッションを構成します。

レイヤ 3 を使用して 99.99% の可用性を実現するための冗長 Interconnect 接続(クリックして拡大)
レイヤ 3 を使用して 99.99% の可用性を実現するための冗長 Interconnect 接続(クリックして拡大)

優先パスの構成

99.99% の可用性を実現するには、VPC ネットワークの動的ルーティング モードをグローバルに設定する必要があります。グローバル動的ルーティングでは、Cloud Router は VPC ネットワーク内のすべてのサブネットへのルートをアドバタイズします。Cloud Router は、ローカル サブネット(Cloud Router のリージョン内にあるサブネット)と比較して優先度が低いリモート サブネット(Cloud Router のリージョン外のサブネット)にルートをアドバタイズします。詳細については、Cloud Router のドキュメントの動的ルーティング モードをご覧ください。

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

Cloud Router の BGP セッションの構成時に、ルートの優先度を変更できます。BGP セッションには、アドバタイズされたルートの優先度のオプションがあります(MED 値)。値が小さいほど、優先度が高くなります。たとえば、us-east4 の BGP セッションに高い優先度を構成し、そのリージョンを優先パスにできます。詳細については、Cloud Router のドキュメントのアドバタイズされたプレフィックスと優先度をご覧ください。

99.99% のトポロジの作成

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

VPC ネットワークの作成

vpc1 ネットワークに対して、カスタム サブネットがあるネットワークを作成し、その動的ルーティング モードをグローバルに設定します。詳細については、VPC のドキュメントのカスタムモード ネットワークの作成をご覧ください。

Console

  1. Google Cloud Console で、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. [VPC ネットワークを作成] をクリックします。

  3. [名前] に「vpc1」と入力します。

  4. [サブネット作成モード] で [カスタム] を選択します。

  5. サブネットの詳細を指定します。

    1. 名前: 「subnet-uscentral1」と入力します。
    2. リージョン: us-central1 を選択します。
    3. IP アドレス範囲: IP 範囲を指定します(例: 192.168.1.0/24)。オンプレミス ネットワークと重複しない範囲を使用します。
  6. [サブネットを追加] をクリックします。

  7. 2 番目のサブネットの詳細を指定します。

    1. 名前: 「subnet-useast4」と入力します。
    2. リージョン: us-east4 を選択します。
    3. IP アドレス範囲: IP 範囲を指定します(例: 192.168.2.0/24)。オンプレミス ネットワークと重複しない範囲を使用します。
  8. [ダイナミック ルーティング モード] セクションで、[グローバル] を選択します。

  9. [作成] をクリックします。

gcloud

  1. カスタム サブネットを作成します。

    gcloud compute networks create vpc1 \
       --subnet-mode custom \
       --bgp-routing-mode global
    
  2. us-central1 リージョンと us-east4 リージョンのサブネット接頭辞を指定します。

    gcloud compute networks subnets create subnet-uscentral1 \
       --network vpc1 \
       --region us-central1 \
       --range 192.168.1.0/24
    
    gcloud compute networks subnets create subnet-useast4 \
       --network vpc1 \
       --region us-east4 \
       --range 192.168.2.0/24
    

Cloud Router の作成

2 つの Cloud Router(リージョンごとに 1 つ)を作成します。Partner Interconnect の場合、すべての Cloud Router でローカル ASN として 16550 を使用する必要があります。

Console

  1. Cloud Console で、[Cloud Router の作成] のページに移動します。

    [Cloud Router の作成] に移動

  2. Cloud Router の詳細を指定します。

    • 名前: 最初の Cloud Router の名前として「router-central1」と入力します。
    • ネットワーク: vpc1 を選択します。この値は、オンプレミス ネットワークの拡張先となるネットワークの名前です。
    • リージョン: us-central1 を選択します。この値は、トポロジの例に示すように、Cloud Router が構成されているリージョンです。
    • Google ASN: 「16550」を入力します。Partner Interconnect の場合、この値は必須です。
  3. [ルート] で、[Cloud Router に表示されるすべてのサブネットにアドバタイズ(デフォルト)] を選択し、[作成] をクリックします。

  4. 同じ属性を持つ Cloud Router を us-east4 リージョンにもう 1 つ作成し、名前を router-east4 にします。

gcloud

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

    gcloud compute routers create router-central1 \
      --asn 16550 \
      --network vpc1 \
      --region us-central1
    
  2. us-east4 リージョンの vpc1 ネットワークに Cloud Router を作成します。ASN 16550 を使用します。

    gcloud compute routers create router-east4 \
      --asn 16550 \
      --network vpc1 \
      --region us-east4
    

VLAN アタッチメントの作成

次のリストに示すように、4 つの VLAN アタッチメントを作成し、Cloud Router とペアにします。

  • router-central1attach-central-aattach-central-b に関連付けられます。
  • router-east4attach-east-aattach-east-b に関連付けられます。

Console

  1. Cloud Console で、[ハイブリッド接続] の [相互接続] のページに移動します。

    [ハイブリッド接続] の [相互接続] に移動

  2. [開始] をクリックします。

  3. [Partner Interconnect] を選択し、[続行] をクリックします。

  4. [すでにサービス プロバイダを利用しています] を選択します。

  5. [冗長な VLAN アタッチメント ペアを作成する(推奨)] を選択します。

  6. [ネットワーク] フィールドで vpc1 ネットワーク、[リージョン] フィールドで us-central1 リージョンを選択します。この値は、接続先の VPC ネットワークとリージョンを示します。

  7. 最初の VLAN アタッチメント(VLAN A)の詳細を指定します。

    • Cloud Router: router-central1 を選択します。
    • VLAN アタッチメント名: 「attach-central-a」と入力します。この名前は、Cloud Console に表示されます。gcloud コマンドライン ツールでアタッチメントを参照する際に使用します。
  8. 2 番目の VLAN アタッチメント(VLAN B)の詳細を指定します。

    • Cloud Router: router-central1 を選択します。
    • VLAN アタッチメント名: 「attach-central-b」と入力します。
  9. [作成] をクリックして、アタッチメントを作成します。作成が完了するまで数分かかります。

  10. [OK] をクリックして VLAN アタッチメントのリストを表示します。

  11. この手順を繰り返して、us-east4 リージョンに別のアタッチメントの冗長ペアを作成します。

gcloud

  • 4 つのアタッチメントを作成します。

    gcloud compute interconnects attachments partner create attach-central-a \
       --router router-central1 \
       --region us-central1 \
       --edge-availability-domain availability-domain-1
    
    gcloud compute interconnects attachments partner create attach-central-b \
       --router router-central1 \
       --region us-central1 \
       --edge-availability-domain availability-domain-2
    
    gcloud compute interconnects attachments partner create attach-east-a \
       --router router-east4 \
       --region us-east4 \
       --edge-availability-domain availability-domain-1
    
    gcloud compute interconnects attachments partner create attach-east-b \
       --router router-east4 \
       --region us-east4 \
       --edge-availability-domain availability-domain-2
    

ペアリングキーを取得する

VLAN アタッチメントを作成すると、Google Cloud は VLAN アタッチメントごとにペアリングキーを生成します。プロジェクトやリソースの名前に関する情報を共有しなくても、ペアリングキーによりサービス プロバイダは VLAN アタッチメントを識別できます。

Console

  1. Cloud Console で、[VLAN アタッチメント] タブに移動します。

    [VLAN アタッチメント] に移動

  2. VLAN アタッチメント attach-central-a を見つけて、[手順を表示] を選択します。

    Cloud Console に、アタッチメントのペアリングキーが表示されます。キーをコピーして記録します。サービス プロバイダとの接続をリクエストするときに、これらのキーをサービス プロバイダと共有します。

  3. [OK] を選択して、VLAN アタッチメントのリストに戻ります。

  4. VLAN アタッチメント attach-central-battach-east-aattach-east-b のペアリングキーを取得します。

gcloud

  1. 各 VLAN アタッチメントに対して describe コマンドを実行し、VLAN アタッチメントのペアリングキーを取得します。これらのキーは、サービス プロバイダとの接続をリクエストするのに使用します。

    gcloud compute interconnects attachments describe attach-central-a \
       --region us-central1
    

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

    adminEnabled: false
    edgeAvailabilityDomain: AVAILABILITY_DOMAIN_1
    creationTimestamp: '2017-12-01T08:29:09.886-08:00'
    id: '7976913826166357434'
    kind: compute#interconnectAttachment
    labelFingerprint: 42WmSpB8rSM=
    name: attach-central-a
    pairingKey: 7e51371e-72a3-40b5-b844-2e3efefaee59/us-central1/1
    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/router-central1
    selfLink: https://www.googleapis.com/compute/v1/projects/customer-project/regions/us-central1/interconnectAttachments/attach-central-a
    state: PENDING_PARTNER
    type: PARTNER
    
  2. 各 VLAN アタッチメントの pairingKey の値を記録します。

サービス プロバイダからの接続をリクエストする

サービス プロバイダに連絡し、4 つの接続(VLAN アタッチメントごとに 1 つ)をリクエストします。サービス プロバイダでは、各アタッチメントのペアリングキー、容量、ロケーションが必要になります。

1 つの Google Cloud リージョン内のアタッチメントは、単一のロケーション(都市)に接続する必要があります。この例では、attach-central-aattach-central-b がダラスに接続され、attach-east-aattach-east-b がアッシュバーンに接続されています。

接続構成が完了すると、アタッチメントを有効にできることを示す通知メールが送信されます。

VLAN アタッチメントを有効にする

サービス プロバイダが VLAN アタッチメントを構成した後、トラフィックを通過させるためには、それらの VLAN アタッチメントを有効にする必要があります。アタッチメントを事前に有効にしている場合は、このステップはスキップできます。

Console

  1. Cloud Console で、[VLAN アタッチメント] タブに移動します。

    [VLAN アタッチメント] に移動

  2. VLAN アタッチメント attach-central-a を選択し、詳細ページを表示します。

  3. アタッチメントのステータスが Waiting for service provider の場合は、サービス プロバイダが VLAN の構成を完了するまで待機します。

  4. [相互接続] の情報を参照して、指定されているサービス プロバイダが VLAN アタッチメントを構成したことを確認します。

  5. [有効化] をクリックして、アタッチメントを有効にします。

  6. [VLAN アタッチメント] ページに戻り、他のアタッチメントを有効にします。

gcloud

  1. 各 VLAN アタッチメントに対して describe コマンドを実行し、サービス プロバイダが VLAN アタッチメントの構成を完了したかどうかを確認します。

    gcloud compute interconnects attachments describe attach-central-a \
       --region us-central1 \
       --format '(name,state,partnerMetadata)'
    
    gcloud compute interconnects attachments describe attach-central-b \
       --region us-central1 \
       --format '(name,state,partnerMetadata)'
    
    gcloud compute interconnects attachments describe attach-east-a \
       --region us-east4 \
       --format '(name,state,partnerMetadata)'
    
     gcloud compute interconnects attachments describe attach-east-b \
        --region us-east4 \
        --format '(name,state,partnerMetadata)'
    

    サービス プロバイダが VLAN アタッチメントを構成した後、アタッチメントの状態は PENDING_PARTNER から PENDING_CUSTOMER に変わります。状態がまだ PENDING_PARTNER の場合は、サービス プロバイダが VLAN の構成を完了するまで待機します。

  2. partnerMetadata フィールドを確認して、正しいサービス プロバイダが各 VLAN アタッチメントを構成したことを確認します。

    予期せぬ第三者が VLAN アタッチメントを構成した場合は、アタッチメントを削除して新しいアタッチメントを作成します。これにより、新しいペアリングキーが生成されます。新しいペアリングキーを使用して、サービス プロバイダとの新しい接続をリクエストします。

  3. VLAN アタッチメントが正しいサービス プロバイダによって構成されている場合は、--admin-enabled フラグを使用して有効にします。

    gcloud compute interconnects attachments partner update attach-central-a \
       --region us-central1 \
       --admin-enabled
    
    gcloud compute interconnects attachments partner update attach-central-b \
       --region us-central1 \
       --admin-enabled
    
    gcloud compute interconnects attachments partner update attach-east-a \
       --region us-east4 \
       --admin-enabled
    
    gcloud compute interconnects attachments partner update attach-east-b \
       --region us-east4 \
       --admin-enabled
    

ルーターを構成する

Google が自動的に各 Cloud Router に BGP ピアを追加します。レイヤ 2 接続の場合は、お客様がオンプレミス ASN を各 BGP ピアに追加する必要があります。レイヤ 3 接続の場合、お客様は何もする必要はありません。Google が自動的にサービス プロバイダの ASN を使用して Cloud Router を構成します。

Console

  1. Cloud Console で、[VLAN アタッチメント] タブに移動します。

    [VLAN アタッチメント] に移動

  2. VLAN アタッチメント attach-central-a を選択し、詳細ページを表示します。

  3. [BGP を構成する] をクリックして、この VLAN アタッチメントに関連付けられている Cloud Router を構成します。

  4. [ピア ASN] フィールドに、オンプレミス ルーターの ASN を追加します。

  5. [保存して次へ] をクリックします。

  6. [VLAN アタッチメント] タブに戻り、オンプレミス ASN を他の Cloud Router に追加します。

gcloud

  1. attach-central-a VLAN アタッチメントに関連付けられている Cloud Router に対して describe コマンドを実行します。VLAN アタッチメントに関連付けられ、自動的に作成された BGP ピアの名前を出力の中から見つけます。BGP ピアの ipAddresspeerIpAddress の値は、アタッチメントの cloudRouterIpAddresscustomerRouterIpAddress の値に一致している必要があります。

      gcloud compute routers describe router-central1 \
         --region us-central1
    
    bgp:
      advertiseMode: DEFAULT
      asn: 16550
    bgpPeers:
    — interfaceName: auto-ia-if-attachment-central-a-c2c53a710bd6c2e
      ipAddress: 169.254.67.201
      managementType: MANAGED_BY_ATTACHMENT
      name: auto-ia-bgp-attachment-central-a-c2c53a710bd6c2e
      peerIpAddress: 169.254.67.202
    creationTimestamp: '2018-01-25T07:14:43.068-08:00'
    description: 'test'
    id: '4370996577373014668'
    interfaces:
    — ipRange: 169.254.67.201/29
      linkedInterconnectAttachment: https://www.googleapis.com/compute/alpha/projects/customer-project/regions/us-central1/interconnectAttachments/customer-attachment1-partner
      managementType: MANAGED_BY_ATTACHMENT
      name: auto-ia-if-attachment-central-a-c2c53a710bd6c2e
    kind: compute#router
    name: partner
    network: https://www.googleapis.com/compute/v1/projects/customer-project/global/networks/vpc1
    region: https://www.googleapis.com/compute/v1/projects/customer-project/regions/us-central1
    selfLink: https://www.googleapis.com/compute/v1/projects/customer-project/regions/us-central1/routers/router-central1
    
  2. オンプレミス ルーターの ASN を指定して BGP ピアを更新します。

      gcloud compute routers update-bgp-peer router-central1 \
         --peer-name auto-ia-bgp-attachment-central-a-c2c53a710bd6c2e \
         --peer-asn ON_PREM_ASN \
         --region us-central1
    

BGP セッションが確立された後に、サービス プロバイダのネットワークを通じて、VPC とオンプレミス ネットワークの間で通信を行うことができます。

次のステップ