On June 5, 2019, Oracle and Microsoft announced a cloud interoperability partnership that enables customers to migrate and run mission-critical enterprise workloads across Oracle Cloud Infrastructure and Microsoft Azure. Enterprises can seamlessly connect Azure services to various Oracle Cloud services, like Autonomous Database. By enabling customers to run one part of a workload in Azure and another part of the same workload in Oracle Cloud Infrastructure, the partnership delivers a highly optimized, best-of-both-clouds experience. Taken together, Azure and Oracle Cloud offer customers a one-stop shop for all the cloud services and applications that they need to run their entire business.
Oracle and Microsoft are collaborating to provide customers low-latency, high-throughput cross-cloud connectivity, which allows them to take advantage of the best features of both clouds. Using this cross-cloud connectivity, customers can partition a multitier application to run the database tier on Oracle Cloud Infrastructure and the application and other tiers on Microsoft Azure. The experience is similar to running the entire solution stack in a single cloud.
The following Oracle key applications can run in the Oracle Cloud Infrastructure and Azure cross-cloud configuration:
This blog provides a step-by-step demonstration of how to set up the interconnection between Oracle Cloud and Azure. In places, it refers to other documentation for detailed background information and detailed steps.
Figure 1: Oracle Cloud Infrasturcture and Azure Interconnect Overview
This section includes initial steps which will be used to validate interconnect setup between Oracle Cloud Infrastructure and Azure. You will be creating below resources:
You can use your pre-existing compartment or create a new compartment. This example will use oci-azure-interconnect compartment and OCI Ashburn region.
A VCN is a private network that you set up in Oracle data centers. It resembles a traditional network with firewall rules and specific types of communication gateways that you can use. A VCN resides in a single Oracle Cloud Infrastructure region and covers a single, contiguous IPv4 CIDR block of your choice.
For more information about using the networking quickstart, see the Networking documentation.
Sign in to the Oracle Cloud Infrastructure Console home page and select your region.
In the Launch Resources > Networking section, click Set up a network with a wizard.
Select Create VCN with Internet Connectivity, and then click Start VCN Wizard.
Add the required information in this example and click Next, and then click Create.
Figure 2: Create a VCN with Internet Connectivity Wizard in Oracle Cloud Infrastructure - Part 1
Figure 3: Create a VCN with Internet Connectivity Wizard in Oracle Cloud Infrastructure- Part 2
After the VCN is connected, its details page is displayed in the Console as below:
Figure 4: VCN Details Page in Oracle Cloud Infrastructure
After the VCN is successfully created, you create a dynamic routing gateway (DRG). For more information about DRGs, see the documentation.
Open the navigation menu. Go to Networking and then click Customer Connectivity > Dynamic Routing Gateways.
Click Create Dynamic Routing Gateway.
Enter a name for the DRG for example, OCI_Azure_Demo, and then click Create Dynamic Routing Gateway.
Figure 5: Create a DRG in Oracle Cloud Infrastructure
After the DRG is successfully provisioned, attach it to the VCN.
On the details page of the DRG, click Virtual Cloud Networks Attachments under Resources, and then click Create Virtual Cloud Network Attachment.
Select the VCN that you created, and click Create Virtual Cloud Network Attachment.
Figure 6: Attach a DRG to a VCN
For more information about creating an instance, see the Compute documentation.
Open the navigation menu. Go to Compute and then click Instances.
Click Create Instance and enter the necessary information.
Figure 7: Create an Oracle Linux VM in Oracle Cloud Infrastructure
The VM is now successfully provisioned. Continue with the Azure initial steps.
This section includes initial setps which will be used to validate interconnect setup between Oracle Cloud Infrastructure and Azure. You will be creating below resources on Azure initially:
You can use your pre-existing resource group or create a new resource group. This example will use Poonia-Resources-East-US-Demo resource group and East US Azure region.
For detailed steps, see the Azure documentation.
Sign in to the Azure portal.
From the portal menu, select Create a resource.
Select Networking and then click Virtual network.
Enter the required values.
Figure 8: Create a VNet in Azure
The finished deployment creates a VNet and a subnet, which are scoped to a single East US region in Azure.
For detailed steps, see the Azure documentation.
Open the navigation menu and search for Virtual Network Gateway.
Click Create and enter the required details for the virtual network gateway.
Figure 9: Create a Virtual Network Gateway in Azure
From the Azure portal menu, select Create a resource.
Select Compute, select Ubuntu Server, and then click Create.
Enter the required values.
Figure 10: Create a VM in Azure
This section provides the instructions for setting up the interconnection between Oracle Cloud Infrastructure and Microsoft Azure.
Azure ExpressRoute enables you to create private connections between Azure data centers and infrastructure that's on premises or in a colocated environment. ExpressRoute connections don’t go over the public internet, which provides more reliability, faster speeds, lower latency, and higher security than typical connections. Using ExpressRoute connections to transfer data between on-premises and Azure can also yield significant cost benefits.
With ExpressRoute, you can connect to Azure from an ExpressRoute location (exchange provider facility) or connect directly to Azure from your existing WAN network, such as an MPLS VPN, provided by a network service provider.
For detailed instructions, see Tutorial: Create and modify an ExpressRoute circuit.
From the Azure portal menu, select Create a resource.
Select Networking, and then click ExpressRoute.
On the Create ExpressRoute circuit page, click Create new, and then enter the required values.
Figure 11: Create an ExpressRoute Circuit in Azure
Once ExpressRoute circuit is created, but it’s not provisioned yet and doesn’t provide any connectivity details. Note down the service key, which you’ll use in the next step.
For detailed steps, see “Set up an Oracle Cloud Infrastructure FastConnect virtual circuit” in Setting Up a VNet-to-VCN Connection.
In the Oracle Cloud Infrastructure Console, open the navigation menu.
Under Core Infrastructure, go to Networking, and click FastConnect.
Click Create FastConnect. In the Create Connection workflow, select FastConnect partner: Microsoft Azure: ExpressRoute and click Next.
Enter the required details.
Figure 12: Set Up a FastConnect Virtual Circuit in Oracle Cloud Infrastructure
When provisioning is completed, the lifecycle state for the FastConnect circuit is UP, and the provider status for the ExpressRoute circuit changes to Provisioned, as shown in the following screenshot.
Figure 13: ExpressRoute Provisioned in Azure
In this step, create a link between the Azure VNet and the ExpressRoute circuit.
In the Azure portal, navigate to the VNet Gateway that you created as Azure_OCI and then click Connections.
Click Add, and enter the required values.
Figure 14: Link from the VNet to the ExpressRoute Circuit
For detailed steps, see the Azure documentation.
We have already created a Network Security Group during Azure VM creation as azure-oci-nsg.
Select the new NSG and click Associate to add the compute_subnet subnet from VNet.
Figure 15: Associate the Subnet with VNet in Azure
Next, add security group rules to allow traffic from the VCN on Oracle Cloud Infrastructure.
Now Select Inbound security rules and add two rules, one for an SSH connection to the Azure VM and one for the connection between the VCN subnet (10.0.0.0/24) to the VNet subnet (10.12.0.0/24).
Figure 16: Inbound Security Rules in Azure
Azure automatically propogates routes learned over VNET Gateway to attached VNet. We have now successfully created an ExpressRoute, linked it with the virtual network gateway, and configured an NSG and route rules are available for traffic connectivity with the Oracle Cloud Infrastructure VCN.
In Oracle Cloud Infrastructure, configure the security lists and route table associated with the subnet that’s hosting the VM.
From the main menu of the console, select Networking and then click Virtual Cloud Networks.
Click the name of the VCN_OCI_Azure VCN network.
Under Resources, click Security Lists, and then click Default Security List for VCN_OCI_Azure.
Add an ingress rule with a source type of CIDR, and enter the CIDR of the Azure VNet Compute subnet (10.12.0.0/24). Specify All Protocols for the IP protocol.
Figure 17: Add an Ingress Rule to the VCN in Oracle Cloud Infrastructure
Update the route table associated with Compute Subnet:
On the details page of the VCN, under Resources, click Route Tables.
Click Default Route Table for VCN_OCI_Azure.
Add a route rule with the target type Dynamic Routing Gateway and the destination CIDR block of the Azure VNet Compute Subnet (10.12.0.0/24). This adds a route table entry for routing the traffic to the VNet Compute Subnet.
Figure 18: Add a Route Rule to the VCN in Oracle Cloud Infrastructure
Now that the interconnect is set up, validate the connection. Use SSH to connect to the VMs in each virtual network, and validate the connectivity by doing a basic PING test.
Locate the private IP address of each VMs on the details page of that VM.
The private IP address of the Oracle Cloud Infrastructure VM (OCI_Azure_Demo) is 10.0.0.57.
The private IP address of the Azure VM (UbuntuVM) is 10.12.0.5.
Connect to each VMs over SSH and initiate a ping between each other. You can use ping micro-seconds interval to validate ICMP RTT.
Figure 19: Ping and ICMP Latency from the Oracle Cloud VM to the Azure VM and Azure VM to Oracle Cloud VM
The above ping results show the latency between the Azure East US region and the OCI Ashburn region, which is about 2 ms!
This post explains how to setup the interconnect between Oracle Cloud and Azure environments, which enables the VMs to communicate with each other through their private IP addresses as if they were in the same network segment. To learn more about the benefits and use-cases of the Oracle Cloud and Microsoft Azure Interconnect, see Oracle and Azure Partnership Page
Arun Poonia is a Principal Solutions Architect whose work is currently focused on Oracle Cloud Infrastructure. His experience at Oracle has been around Strategic Partnership, OCI/Azure Interconnect, Security & Developer Services and OCI Marketplace; Networking & Security.
Prior to joining Oracle, Arun was a Solutions Architect working primarily on various Networking & Security products; associated customers and partners. His experience over the last 11 years was around architecting, planning, implementation and integration of Networking & Security solution with large enterprise customers and supporting them on hybrid cloud solutions.
<p>Cloud Infrastructure Solution Engineer</p>