Skip to content
Jonathan Stout edited this page Jun 8, 2022 · 12 revisions

Azure ExpressRoute

  1. User creates a CrossConnection via the Azure Portal
  2. The User then uses the OESS UI to add an Endpoint to their connection by selecting the appropriate Azure Entity and providing the CrossConnection ServiceKey, ASN, and VLAN.
  3. Once submitted the OESS performs the following on the backend.
    1. Using the interface's interconnect_id (Azure's physical port identifier) OESS looks up the cloud configuration's subscription_id and resource_group.
      1. This allows us to generate the required URLs for the Azure web API.
      2. This also allows us the lookup Azures sibling interface. To use both primary and secondary connections the Azure entity must be added twice.
    2. OESS selects two /30 prefixes for both the primary and secondary interfaces.
      1. OESS will use 192.168.100.248/30 for the primary interface.
        1. The first address 192.168.100.248/30 is the network address
        2. The lower of the two addresses 192.168.100.249/30 will be used by OESS
        3. The upper of the two addresses 192.168.100.250/30 will be used by Azure
        4. The last address 192.168.100.251/30 is the broadcast address
      2. OESS will use 192.168.100.252/30 for the secondary interface
        1. The first address 192.168.100.252/30 is the network address
        2. The lower of the two addresses 192.168.100.253/30 will be used by OESS
        3. The upper of the two addresses 192.168.100.254/30 will be used by Azure
        4. The last address 192.168.100.255/30 is the broadcast address
    3. OESS then makes the required calls the Azure web API.
    4. OESS configures its network interfaces.

Interface Selection

Interfaces are not selectable by user. If zero Azure interfaces are in use, the interface associated with the primary connection is selected. If one Azure interface is in use, the interface associated with the secondary connection is selected.

AWS Hosted Connection

  1. User uses the OESS UI to add a Hosted Connection to their Connection by selecting the appropriate AWS Entity and providing their customer id and VLAN.
  2. Once submitted OESS performs the following on the backend
    1. Using the interface's interconnect_id OESS looks up the cloud configuration's details.
    2. Request from AWS the new Hosted Connection
    3. OESS configures its network interfaces.
  3. After the connection is configured, it appears in the Connections pane in the AWS Direct Connect console. Select the hosted connection and choose View details. Then select the confirmation check box and choose Accept connection.
  4. Once the user creates a Virtual Interface to use on its Hosted Connection, it may configure the Hosted Connection's Endpoint to enabling peering between AWS and OESS.

Configuration

To configure a hosted connection interconnect you'll need 5 pieces of information:

  • AWS credentials
  • InterconnectId found in the AWS portal under Direct Connect > Interconnects
  • Region found in the AWS portal under Direct Connect > Interconnects
  • InterfaceId of the port where interconnect is physically connected

First associate your AWS credentials with the new interconnect in /etc/oess/database.xml.

<cloud>
  <connection region="us-east-1" interconnect_type="aws-hosted-connection" interconnect_id="dxcon-abcd1234" access_key="..." secret_key="..." workgroup="AWS" />
</cloud>

Second set the interconnect_type and interconnect_id on the port where interconnect is physically connected in the OESS database.

UPDATE interface SET cloud_interconnect_type="aws-hosted-connection", cloud_interconnect_id="dxcon-abcd1234" where interface_id=1234;

Interface Selection

Interfaces are not selectable by user. Interfaces are selected in-order. If selected bandwidth is greater than available bandwidth the next interface is used. Interface selection isn't possible if the selected bandwidth is greater than available bandwidth on all interfaces.

GCP Partner Interconnect

  1. Create a Partner Interconnect via the GCP console. You will be provided with either one or two Pairing Keys based on the options you select. Select two Pairing Keys if a redundant connection is desired.
  2. The User then uses the OESS UI to add an Endpoint to their connection by selecting the desired GCP Region and providing a Pairing Key and VLAN. The user must select the Interface associated with the availability zone indicated in the Pairing Key.
  3. Once submitted the OESS provisions the Interconnect Attachment. (add more details here)

Pairing Key Details

An example pairing key: 00000000-0000-0000-0000-000000000000/us-east4/1

  • The GCP Region in this example is us-east4.
  • The Availability Zone is 1 or zone1.

A region has multiple availability zones.

Interface Selection

Interface selection is manually performed, however the user must select the Interface associated with the availability zone indicated in the Pairing Key.

Oracle FastConnect

  1. Create a FastConnect VirtualCircuit via the Oracle console. Once created copy the VirtualCircuit OCID.
  2. Use the OESS UI to add an Endpoint to their connection by selecting the desired Oracle Region, providing the VirtualCircuit's OCID, and choosing a VLAN. Add up to two Endpoints per-VirtualCircuit.
  3. Once submitted the OESS provisions the VirtualCircuit.

Interface Selection

Interface selection is manually performed. A VirtualCircuit OCID may only be used once per-port.

Cloud Interface MTUs

Each cloud service has slightly different MTU settings and may even differ between connection types. Some cloud providers do not support jumbo frames; Jumbo frame selection must be disabled on these interfaces. Below is a list of attributes that describe these cases by interface type. Jumbo frames are disabled where jumbo==null.

type:     normal
default:  jumbo
jumbo:    9000
standard: 1500

type:     gcp
default:  standard
jumbo:    null
standard: 1440

type:     azure
default:  standard
jumbo:    null
standard: 1500

type:     aws-private
default:  jumbo
jumbo:    9001
standard: 1500

type:     aws-transit
default:  jumbo
jumbo:    8500
standard: 1500

type:     oracle
default:  jumbo
jumbo:    9000
standard: 1500

Cloud Interface Provisionable Bandwidth

Each cloud service has slightly different Bandwidth requirements and may even differ between connection types. Below is a list of attributes that describe these cases by interface type.

type:      normal
bandwidth: unlimited

type:      gcp
bandwidth: 1x interface speed

type:      azure
bandwidth: 4x interface speed

type:      aws-private
bandwidth: 1x interface speed

type:      aws-transit
bandwidth: 1x interface speed

type:      oracle
bandwidth: 1x interface speed