Set up a direct interconnection between Azure and Oracle Cloud Infrastructure

Applies to: ✔️ Linux VMs

To create an integrated multi-cloud experience, Microsoft and Oracle offer direct interconnection between Azure and Oracle Cloud Infrastructure (OCI) through ExpressRoute and FastConnect. Through the ExpressRoute and FastConnect interconnection, customers can experience low latency, high throughput, private direct connectivity between the two clouds.


Oracle has certified these applications to run in Azure when using the Azure / Oracle Cloud interconnect solution:

  • E-Business Suite
  • JD Edwards EnterpriseOne
  • PeopleSoft
  • Oracle Retail applications
  • Oracle Hyperion Financial Management

The following image shows a high-level overview of the interconnection:

Cross-cloud network connection


The ExpressRoute connection seen in the diagram is a regular ExpressRoute circuit and supports all fuctionalities such as Global Reach.


  • To establish connectivity between Azure and OCI, you must have an active Azure subscription and an active OCI tenancy.

  • Connectivity is only possible where an Azure ExpressRoute peering location is in proximity to or in the same peering location as the OCI FastConnect. See Region Availability.

Configure direct connectivity between ExpressRoute and FastConnect

  1. Create a standard ExpressRoute circuit on your Azure subscription under a resource group.

    • While creating the ExpressRoute, choose Oracle Cloud FastConnect as the service provider. To create an ExpressRoute circuit, see the step-by-step guide.
    • An Azure ExpressRoute circuit provides granular bandwidth options, whereas FastConnect supports 1, 2, 5, or 10 Gbps. Therefore, it is recommended to choose one of these matching bandwidth options under ExpressRoute.

    Create ExpressRoute circuit

  2. Note down your ExpressRoute Service key. You need to provide the key while configuring your FastConnect circuit.

    ExpressRoute Service key


    You will be billed for ExpressRoute charges as soon as the ExpressRoute circuit is provisioned (even if the Provider Status is Not Provisioned).

  3. Carve out two private IP address spaces of /30 each that do not overlap with your Azure virtual network or OCI virtual cloud network IP Address space. We will refer to the first IP address space as primary address space and the second IP address space as secondary address space. Note down the addresses, which you need when configuring your FastConnect circuit.

  4. Create a Dynamic Routing Gateway (DRG). You will need this when creating your FastConnect circuit. For more information, see the Dynamic Routing Gateway documentation.

  5. Create a FastConnect circuit under your Oracle tenant. For more information, see the Oracle documentation.

    • Under FastConnect configuration, select Microsoft Azure: ExpressRoute as the provider.
    • Select the Dynamic Routing Gateway that you provisioned in the previous step.
    • Select the bandwidth to be provisioned. For optimal performance, the bandwidth must match the bandwidth selected when creating the ExpressRoute circuit.
    • In Provider Service Key, paste the ExpressRoute service key.
    • Use the first /30 private IP address space carved out in a previous step for the Primary BGP IP Address and the second /30 private IP address space for the Secondary BGP IP Address.
      • Assign the first useable address of the two ranges for the Oracle BGP IP Address (Primary and Secondary) and the second address to the customer BGP IP Address (from a FastConnect perspective). The first useable IP address is the second IP address in the /30 address space (the first IP address is reserved by Microsoft).
    • Click Create.
  6. Complete linking the FastConnect to virtual cloud network under your Oracle tenant via Dynamic Routing Gateway, using Route Table.

  7. Navigate to Azure and ensure that the Provider Status for your ExpressRoute circuit has changed to Provisioned and that a peering of type Azure private has been provisioned. This is a pre-requisite for the following steps.

    ExpressRoute provider status

  8. Click on the Azure private peering. You will see the peering details have automatically been configured based on the information you entered when setting up your FastConnect circuit.

    Private peering settings

Connect virtual network to ExpressRoute

  1. Create a virtual network and virtual network gateway, if you haven't already. For details, see the step-by-step guide.
  2. Set up the connection between the virtual network gateway and your ExpressRoute circuit by executing the Terraform script or by executing the PowerShell command to Configure ExpressRoute FastPath.

Once you have completed the network configuration, you can verify the validity of your configuration by clicking on Get ARP Records and Get route table under the ExpressRoute Private peering blade in the Azure portal.


Microsoft has created Terraform scripts to enable automated deployment of the network interconnect. The Terraform scripts need to authenticate with Azure before execution, because they require adequate permissions on the Azure subscription. Authentication can be performed using an Azure Active Directory service principal or using the Azure CLI. For more information, see the Terraform documentation.

The Terraform scripts and related documentation to deploy the inter-connect can be found in this GitHub repository.


Installing agents on both the clouds, you can leverage Azure Network Performance Monitor (NPM) to monitor the performance of the end-to-end network. NPM helps you to readily identify network issues, and helps eliminate them.

To delete the interconnect, the following steps must be followed, in the specific order given. Failure to do so will result in a "failed state" ExpressRoute circuit.

  1. Delete the ExpressRoute connection. Delete the connection by clicking the Delete icon on the page for your connection. For more information, see the ExpressRoute documentation.
  2. Delete the Oracle FastConnect from the Oracle Cloud Console.
  3. Once the Oracle FastConnect circuit has been deleted, you can delete the Azure ExpressRoute circuit.

At this point, the delete and deprovisioning process is complete.

Next steps

  • For more information about the cross-cloud connection between OCI and Azure, see the Oracle documentation.
  • Use Terraform scripts to deploy infrastructure for targeted Oracle applications over Azure, and configure the network interconnect.