Deploying Oracle Cloud and Microsoft Azure Interconnect using Terraform

March 24, 2021 | 4 minute read
Arun Poonia
Principal Solutions Architect
Text Size 100%:

The partnership between Oracle Cloud Infrastructure (OCI) and Microsoft Azure allows customers to extend their workloads from on-premises data centers across the two clouds. This blog covers two different use cases that set up interconnection using Terraform.

Use cases

  • Setup an interconnect using existing VCN on OCI and an existing VNET on Microsoft Azure environment.

  • Setup an interconnect using a new VCN on OCI and a new VNET on the Microsoft Azure environment. We have also included extra configuration to support validating this effort i.e. creating required virtual machines (VMs) on both ends, subnets, policies, security groups, and so on.

We automated both use cases in the OCI GitHub repository.

Prerequisites

Utilizing the script directly requires the following prerequisites:

  • An Oracle Cloud account. If you don’t have an account, you can sign up for an Oracle Cloud Free Tier account. Your user profile needs permission to manage VMs, subnets, virtual cloud networks, dynamic routing gateways, virtual circuits, and sufficient quotas.

  • An Azure account. If you don’t have an account, you can sign up for Microsoft Azure Free Account. Your user profile needs permission to manage VMs, subnets, virtual networks, virtual network gateways, express routes, and sufficient quotas.

Topology

The following graphic depicts a high-level topology diagram for the interconnect setup:


Figure 1: OCI and Azure interconnect setup

Deployment

We’ve outlined deployment details in each use case on this GitHub repository, using the following approach:

  1. Clone the GitHub repo locally and navigate to use case directory

  2. Initialize Terraform locally using the command, terraform init.

  3. Create required variables file using the provided template in each use case directory.

  4. Log in to the Azure portal using the command, az login, from your local machine. If you don’t have Azure CLI Utility, you can install it using these instructions.

  5. Review your plan using the command, terraform plan.

  6. Apply your resources using the command, terraform apply.

Each use case prints required the instructions at the end of a successful attempt. If you choose to destroy your environment, you can do so using the command, terraform destroy.

The following snippet shows you a successful attempt for the use case where the end user is creating a new environment:

Copied to Clipboard
Error: Could not Copy
Copied to Clipboard
Error: Could not Copy
Apply complete! Resources: 28 added, 0 changed, 0 destroyed.
Outputs:
azure_server_public_ip = 40.118.XX.XX
initial_instruction = 1. Open an SSH client.
2. Use the following information to connect to the instances:
Azure VM Connection 
1. SSH to VM using your private key and adminuser username: adminuser@40.118.XX.XX
OCI VM Connection: 
1. SSH to VM using your private key and opc username: opc@150.136.XX.XX
SSH Key
For example:
$ ssh –i id_rsa adminuser@82.32.XX.XX
After you connect to each instances you can do a ping test using private IP from Each VM. 
oracle_server_public_ip = 150.136.XX.XX

Validation

In this section, we validate the connectivity from Azure VM to Oracle VM using interconnect circuit.

  • If you’re using an existing VCN and VNET, ensure that you’ve enabled the required policies and routes.

  • If you’re using a new VCN and VNET, the creation covers deploying those security rules and required policies. Our validation screenshots are taken from this use case.

We add a few screenshots to which you can refer to validate connectivity between the Oracle Cloud VM and Microsoft Azure VM.

Azure Compute VM to OCI Compute VM connectivity verification

The following screenshots reflect traffic validation with the following specifications:

  • Source: Azure VM, US East region

  • Destination: Oracle VM, Ashburn region

  • Connectivity: PING

  • Peered connection: Washington DC


Figure 2: Microsoft Azure VM to Oracle VM connectivity

OCI Compute VM to Azure Compute VM connectivity verification

The following screenshots reflect traffic validation for the following specifications:

  • Source: Oracle VM, Ashburn region

  • Destination: Azure VM, US East region

  • Connectivity: PING

  • Peered Connection: Washington DC


Figure 3: Oracle VM to Microsoft Azure Connectivity

You can achieve lower latency between Oracle Cloud and Microsoft Azure and move your workloads from on-premises to the cloud.

Conclusion

This post explained how you can use Terraform automation to set up an interconnect circuit between Oracle Cloud Infrastructure and Microsoft Azure. Follow these resources to learn more about interconnect, automation effort, and more:

Arun Poonia

Principal Solutions Architect

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.

Show more

Previous Post

Explore Marketplace listings using Oracle Cloud Shell

Arun Poonia | 3 min read

Next Post


How to use a flexible network load balancer with a Palo Alto Networks virtual firewall appliance

Arun Poonia | 6 min read