Creating a Topology for Non-critical Applications

The topology for 99.9% availability is suitable for non-critical applications or applications that can tolerate some downtime. For example, your organization might do batch uploads for which the timing of the operation isn't critical. If the interconnect isn't available, the operation can continue when connectivity is recovered.

99.9% availability requires the following resources:

  • At least two interconnects in different metropolitan availability zones. The interconnects must be in same metropolitan area (city), but they can be in different or the same colocation facility. With two interconnects, if one goes down, the other can continue to serve traffic.
  • At least two Cloud Routers in the same Google Cloud region. Each interconnect must be attached to a different Cloud Router. That way a single Cloud Router failure doesn't disconnect the two networks.

The following example topology shows two interconnects in the same metropolitan area but in different colocation facilities: lga-zone1-16 and lga-zone2-1422. The Cloud Routers (one for each interconnect) are in the vpc1 network in the us-central1 region. Each router has their own BGP session.

Diagram of redundant interconnects for 99.9% availability (click to enlarge)
Redundant interconnects for 99.9% availability (click to enlarge)

The following sections walk through the steps for creating the previous topology. To create a topology that's tailored for you, replace the sample input values with your own. For example, replace the vpc1 network name with your VPC network name.

Order interconnects

Order duplicate interconnects by using the Google Cloud Platform Console or gcloud command-line tool.

Console

  1. Go to the Interconnects page in the Google Cloud Platform Console.
    Go to Interconnects page
  2. Specify the details of the interconnect and then select Next.
    • Name — Specify int-lga1.
    • Description — Specify Example interconnect in LGA ZONE1 to indicate the interconnect is for this example topology.
    • Location — Choose Digital Realty | Telx New York (111 8th Ave) for the location, which is the PeeringDB name for the lga-zone1-16 location.
    • Capacity — Use the default capacity (10 Gbps).
  3. Specify details for the duplicate interconnect and then select Next.
    • Name — Specify int-lga2.
    • Description — Specify Example interconnect in LGA ZONE2 to indicate the interconnect is for this example topology.
    • Location — Choose zColo New York - 60 Hudson St for the location, which is the PeeringDB name for the lga-zone2-1422 location.
    • Capacity — Use the default capacity (10 Gbps).
  4. Specify your contact information.
    • Company name — This example uses the value The Customer for the company name. This name will be used in the LOA-CFA as the party authorized to request a cross connect.
    • Technical contact — This example uses the value customer@customer.com for the technical contact. You don't need to enter your own address; you'll be included in all notifications.
  5. Review your order. Check that your interconnect details and contact information are correct. If everything is correct, select Place order. If not, go back and edit the interconnect details.
  6. On the order confirmation page, review the next steps and then select Done.

gcloud

  1. Order two interconnects with the names int-lga1 and int-lga2.

 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

After you order an interconnect, Google emails you a confirmation and allocates ports for you. When the allocation is complete, Google generates LOA-CFAs for your cross connects and emails them to you. All of the automated emails are sent to the NOC contact and the person who ordered the interconnect.

You'll be able to use the interconnect only after your cross connects have been provisioned and tested. For more information about the provisioning process, see Provisioning Overview.

Create Cloud Routers

Create duplicate Cloud Routers, one for each interconnect.

Console

  1. Go to the create Cloud Router page in the Google Cloud Platform Console.
    Go to the Routers page
  2. Specify the Cloud Router details.
    • Name — Specify router1 for the name of the first Cloud Router.
    • VPC network — Specify vpc1, which is the name of the network where the on-premises network is extending to.
    • Region — Specify us-central1, which is the region where the Cloud Router advertises all subnets, as shown in the example topology.
    • Google ASN — Specify 64513, which is the ASN for the example Cloud Router.
  3. Duplicate the first Cloud Router but change the name to router2.

gcloud

  1. Create two Cloud Routers in the vpc1 network in the us-central1 region. Use ASN 64513 for both Cloud Routers.

 gcloud compute routers create router1 \
   --asn 64513 \
   --network vpc1 \
   --region us-central1

 gcloud compute routers create router2 \
   --asn 64513 \
   --network vpc1 \
   --region us-central1

Create VLAN attachments

After your interconnects are ready to use (in the ACTIVE state), create VLAN attachments to connect the interconnects with Cloud Routers. Create duplicate attachments, one for each interconnect and Cloud Router pairing. In the example, int-lga1 is connected to router1 and int-lga2 is connected to router2.

Console

  1. Go to the Interconnects page in the Google Cloud Platform Console.
    Go to Interconnects page
  2. For the int-lga1 interconnect, select Configure.
  3. Select Add item to attach a new VLAN to your interconnect.
    • Name — Specify attachment-lga1-central1 for the name of the attachment.
    • Router — Select the router1 Cloud Router.
  4. Select Create. The attachment takes a few moments to create.
  5. For the attachment, select Configure to add a BGP session to router1. The Google and Peer BGP IP addresses are already populated by the VLAN attachment.
  6. Record the IP addresses, ASNs, and VLAN tag for each attachment. This information is required to configure the on-premises router.
  7. Select Save configuration to add the BGP session. The BGP sessions are inactive until you configure BGP on your on-premises router.
  8. Create another attachment named attachment-lga2-central1 for the int-lga2 interconnect. Use the router2 Cloud Router for the attachment's Cloud Router.

gcloud

  1. Create two attachments, one for the int-lga1 interconnect and the router1 Cloud Router and another for the int-lga2 interconnect and the router2 Cloud Router.

    gcloud compute interconnects attachments create attachment-lga1-central1 \
      --interconnect int-lga1 \
      --router router1

    gcloud compute interconnects attachments create attachment-lga2-central1 \
      --interconnect int-lga2 \
      --router router2

  2. Describe the attachment-lga1-central1 attachment to retrieve the resources that it allocated, such as the VLAN ID and BGP peering addresses. Use these values to configure the Cloud Router and on-premises router.

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

    The previous command outputs the following information:

    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. Record the following values:

    • tag8021q — Specifies the VLAN ID, which is 1000. The VLAN ID identifies traffic that will go across this attachment. Use this value to configure a tagged VLAN subinterface on the on-premises router.
    • cloudRouterIpAddress — The Cloud Router IP address, which is 169.254.58.49/29. Assign this address to a Cloud Router interface, and specify this address as the BGP neighbor on the on-premises router.
    • customerRouterIpAddress — The customer router IP address, which is 169.254.180.82/29. On the Cloud Router, specify this address as the BGP peer address on the interface that has the Cloud Router IP address assigned to it. Assign this address to the VLAN subinterface on the on-premises router.
  4. On the router1 Cloud Router, add an interface for the attachment-lga1-central1 attachment.

    gcloud compute routers add-interface router1 \
      --interface-name router1-1 \
      --interconnect-attachment attachment-lga1-central1 \
      --ip-address 169.254.58.49 \
      --mask-length 29 \
      --region us-central1

  5. Add a BGP peer to the interface. For this example, the on-premises ASN is 12345.

    gcloud compute routers add-bgp-peer router1 \
      --interface router1-1 \
      --peer-name central1 \
      --peer-ip-address 169.254.58.50 \
      --peer-asn 12345 \
      --region us-central1

  6. Describe the attachment-lga2-central1 attachment, and then configure a BGP session on the router2 Cloud Router.

Configure on-premises routers

Use the information from the VLAN attachments to configure the on-premises routers. The following example is an excerpt from a Juniper router configuration. Use the sample as a starting point for configuring your own routers. For more information, see Configuring On-premises Routers.

interface ae20 {
  flexible-vlan-tagging;
  native-vlan-id 1;
  aggregated-ether-options {
    lacp {
      active;
     }
   }
  unit 1001 {
    vlan-id 1001;
    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.59.49 {
      ...
    }
  }
}

What's next

Send feedback om...