为合作伙伴互连建立 99.99% 可用性配置

在本教程中,您将使用合作伙伴互连创建和配置资源,以实现 99.99% 可用性。对于生产级应用,如对停机时间容忍度低的关键任务型操作,Google 建议采用该配置。

要实现 99.99% 可用性,需要以下资源和设置:

  • 四个 VLAN 连接,每个 GCP 区域两个。即使您的虚拟机实例都在一个区域内,您也必须使用两个区域。如果发生区域范围问题,则 GCP 可通过另一个区域将流量重新路由到您的虚拟机实例。每个 VLAN 连接必须具备各自的 Cloud Router(四个不同的 Cloud Router)。
  • 一个区域的连接必须连接到某个都市圈的互连,另一个区域的连接必须连接到另一个都市圈的互连。如需详细了解如何选择互连位置,请参阅请求连接
  • VPC 网络的动态路由模式必须是全局。通过全局动态路由,Cloud Router 可以通告所有子网,并将学到的路由传播至所有子网(无论子网的区域如何)。
  • 根据您的硬件和可用性要求,您的本地网络中可能有一个或多个路由器。

以下教程使用以下资源名称、区域和互连位置。根据教程执行操作时,请将这些值替换成您的资源的相应值。

区域 路由器名称 VLAN 连接名称 连接位置 边缘可用性网域
us-central1 router-central-a attach-central-a 达拉斯 1
us-central1 router-central-b attach-central-b 达拉斯 2
us-east4 router-east-a attach-east-a 阿什本 1
us-east4 router-east-b attach-east-b 阿什本 2

以下示例拓扑显示了位于两个都市圈的四个第 2 层连接。在每个都市圈,每个连接位于不同的边缘可用性网域:Dallas - domain 1Dallas - domain 2Ashburn - domain 1Ashburn - domain 2。云端路由器(每个 VLAN 连接一个)位于 us-central1us-east4 区域的 vpc1 网络中。对于第 2 层连接,用户在其本地路由器上配置与每个云端路由器的 BGP 会话。

使用第 2 层实现 99.9% 可用性的冗余互连图(点击可放大)
可实现 99.99% 可用性的冗余互连(点击可放大)

与第 2 层拓扑类似,下方第 3 层拓扑显示了位于两个都市圈和不同边缘可用性网域的四个连接。云端路由器(每个 VLAN 连接一个)位于 us-central1us-east4 区域的 vpc1 网络中。对于第 3 层连接,由服务提供商配置 BGP 会话。

使用第 3 层实现 99.9% 可用性的冗余互连图(点击可放大)
可实现 99.99% 可用性的冗余互连(点击可放大)

首选路径

要实现 99.99% 可用性,您必须将 VPC 网络的动态路由模式设置为全局。通过全局动态路由,云端路由器向 VPC 网络中的所有子网通告路由。但是,云端路由器向远程子网(云端路由器区域以外的子网)通告路由所采用的优先级,低于向本地子网(位于云端路由器区域的子网)通告的优先级。如需了解详情,请参阅云端路由器文档中的动态路由模式

在示例拓扑中,VPC 网络的入站流量优先经过 us-central1,因为这些路由的优先级高于 us-east4 区域中的路由。只有当 us-central1 中的连接失败时,流量才会遍历 us-east4

您可以在配置云端路由器的 BGP 会话时更改路由优先级。BGP 会话提供一个选项,供您选择通告路由优先级(一个 MED 值)。值越小,优先级越高。例如,您可为 us-east4 中的 BGP 会话配置较高优先级,使该区域成为首选路径。如需了解详情,请参阅云端路由器文档中的路由指标

过程

以下部分介绍创建前述拓扑的步骤。要量身定制自己的拓扑,请将示例输入值替换成您的资源的相应值。例如,将 vpc1 网络名称替换成您的 VPC 网络名称。

创建 VPC 网络

对于 vpc1 网络,创建一个带有自定义子网的网络,并将其动态路由模式设置为全局。如需了解详情,请参阅 VPC 文档中的创建带有自定义子网的新 VPC 网络

Console

  1. 转到 Google Cloud Platform 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. 指定第二个子网的详细信息:
    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-central1us-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

创建云端路由器

创建四个云端路由器,每个 VLAN 连接一个。对于合作伙伴互连,所有云端路由器的本地 ASN 必须为 16550。

Console

  1. 转到 Google Cloud Platform Console 中的创建 Cloud Router 页面。
    转到路由器页面
  2. 指定 Cloud Router 详细信息。
    • 名称 - 指定 router-central-a 作为第一个 Cloud Router 的名称。
    • VPC 网络 - 指定 vpc1,这是本地网络扩展到的目标网络的名称。
    • 区域 - 指定 us-central1,这是配置了 Cloud Router 的区域,如示例拓扑所示。
    • Google ASN - 指定 16550,合作伙伴互连需要此设置。
  3. 复制第一个 Cloud Router,但将名称更改为 router-central-b
  4. us-east4 区域额外创建两个具有相同属性的 Cloud Router,名称分别为 router-east-arouter-east-b

gcloud

  1. us-central1 区域的 vpc1 网络中创建两个 Cloud Router。为这两个 Cloud Router 使用 ASN 16550

     gcloud compute routers create router-central-a 
    --asn 16550
    --network vpc1
    --region us-central1

     gcloud compute routers create router-central-b 
    --asn 16550
    --network vpc1
    --region us-central1

  2. us-east4 区域的 vpc1 网络中创建两个 Cloud Router。为这两个 Cloud Router 使用 ASN 16550

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

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

创建 VLAN 连接

如下方列表所示,创建四个 VLAN 连接,并将其与云端路由器配对:

  • router-central-aattach-central-a 相关联
  • router-central-battach-central-b 相关联
  • router-east-aattach-east-a 相关联
  • router-east-battach-east-b 相关联

Console

  1. 转到 Google Cloud Platform Console 中的 Cloud Interconnect“VLAN 连接”标签页。
    转到“VLAN 连接”标签
  2. 选择添加 VLAN 连接
  3. 选择合作伙伴互连以创建专用 VLAN 连接,然后选择继续
  4. 选择我已经有服务提供方
  5. 选择创建具备冗余性的一对 VLAN
  6. 对于网络区域字段,分别选择 vpc1 网络和 us-central1 区域,指定要连接的 VPC 网络和区域。
  7. 指定第一个 VLAN 连接的详细信息。
    • Cloud Router - 选择 router-centreal-a Cloud Router。
    • VLAN 连接名称 - 指定 attach-central-a 作为连接名称。此名称显示在 Console 中,并且 gcloud 命令行工具使用此名称引用该连接。
  8. 指定第二个 VLAN 连接的详细信息。
    • Cloud Router - 选择 router-centreal-b Cloud Router。
    • VLAN 连接名称 - 指定 attach-central-b 作为连接名称。
  9. 选择创建以创建连接,此过程需要一些时间才能完成。
  10. 选择确定,返回 VLAN 连接的列表。
  11. 选择添加 VLAN 连接,然后为 us-east4 区域创建另一对冗余的连接。

gcloud

  1. 创建四个连接。

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

检索配对密钥

在您创建了 VLAN 连接后,GCP 会为每个连接生成配对密钥。通过配对密钥,服务提供商可识别您的 VLAN 连接,而无需知道关于您的项目或资源名称的信息。

Console

  1. 转到 Google Cloud Platform Console 中的 Cloud Interconnect“VLAN 连接”标签页。
    转到“VLAN 连接”标签
  2. 找到 attach-central-a VLAN 连接,然后选择查看说明

    Console 会显示连接的配对密钥。复制并记录密钥。请求与服务提供商建立连接时,您需要将这些密钥告知他们。

  3. 选择确定,返回 VLAN 连接列表。

  4. attach-central-battach-east-aattach-east-b VLAN 连接检索配对密钥。

gcloud

  1. 描述每个 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-central-a
    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 值。

请求与服务提供商建立连接

联系您的服务提供商并请求建立四个连接,每个 VLAN 连接一个。服务提供商将要求您提供每个连接的配对密钥、容量和位置。

一个 GCP 区域中的连接必须连接到一个位置(城市)。在本示例中,attach-central-aattach-central-b 连接到达拉斯,而 attach-east-aattach-east-b 连接到阿什本。

配置完成后,您会收到一封电子邮件通知,告知您可以激活连接。

激活 VLAN 连接

在服务提供商配置了您的 VLAN 连接后,您必须先将其激活,然后连接才能开始传输流量。如果您已预先激活连接,可跳过此部分。

Console

  1. 转到 Google Cloud Platform Console 中的“VLAN 连接”标签。
    转到“VLAN 连接”标签
  2. 选择 attach-central-a VLAN 连接,查看其详细信息页面。
  3. 如果连接状态为 Waiting for service provider,请等待您的服务提供商完成 VLAN 配置。
  4. 查看互连信息,以检查是否由预期的服务提供商配置了该 VLAN 连接。
  5. 点击激活以将其激活。
  6. 返回 VLAN 连接页面,激活其他连接。

gcloud

  1. 描述每个 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 连接,请使用 --adminEnabled 标志将其激活,如以下示例所示:

    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 会在每个云端路由器上自动添加对等 BGP。对于第 2 层连接,您必须将本地 ASN 添加到每个对等 BGP。对于第 3 层连接,您无需执行任何操作;Google 会使用服务提供商的 ASN 自动配置您的云端路由器。

Console

  1. 转到 Google Cloud Platform Console 中的“VLAN 连接”标签。
    转到“VLAN 连接”标签
  2. 选择 attach-central-a VLAN 连接,查看其详细信息页面。
  3. 点击配置 BGP,以配置与此 VLAN 连接关联的 Cloud Router。
  4. 对等 ASN 字段中,添加本地路由器的 ASN。
  5. 点击保存并继续
  6. 返回 VLAN 连接页面,为其他 Cloud Router 添加本地 ASN。

gcloud

  1. 描述与 attach-central-a VLAN 连接关联的 Cloud Router。在输出中,找到与 VLAN 连接关联的自动创建对等 BGP 的名称。对等 BGP 的 ipAddresspeerIpAddress 值必须与您的连接的 cloudRouterIpAddresscustomerRouterIpAddress 值匹配。

    gcloud compute routers describe router-central-a \
      --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-central-a
  2. 使用本地路由器的 ASN 更新对等 BGP。

    gcloud compute routers update-bgp-peer router-central-a \
      --peer-name auto-ia-bgp-attachment-central-a-c2c53a710bd6c2e \
      --peer-asn [ON-PREM ASN] \
      --region us-central1

BGP 会话建立后,您就可以通过服务提供商的网络在 VPC 网络与本地网络之间传输流量了。

后续步骤

  • 如需详细了解每个步骤,请参阅相关的合作伙伴互连方法指南
此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Interconnect