The purpose of this blog is to guide you how to deploy the Oracle OCI – Azure Interconnect and go through some typical use cases. For general information about the Interconnect review Overview of the Interconnect Between Oracle and Microsoft and the reference architecture. This blogs goes through the following use cases to confirm what is supported
Use Case | Supported |
VCN to VNET (Basic Deployment) | Yes |
On-prem Private Connectivity to OCI using VPN Connect or FastConnect | No |
Local Peering Gateway (LPG) | Yes |
Service Gateway | Yes |
Remote Peering Connection (RPC) | No |
This is the basic configuration of the Interconnect from the Oracle Console and the Azure Portal to create a private path between Oracle VCN and Azure VNET. The diagram below shows the topology of the solution
Log into your Azure Portal and preform the following tasks as neede
Log into your Oracle Console and preform the following tasks as needed
As you can see above, the DRG advertises to Azure all the subnets created within the VCN. The Interconnect is configured. The next step is to test to make sure we have connectivity between the OCI VCN and the Azure VNET.
From OCI |
|
From Azure |
|
From on-prem you can connect to OCI privately via VPN Connect or FastConnect. For the purpose of this blog on-prem will connect to OCI via VPN Connect but the same concept and results apply to FastConnect.
IMPORTANT - Per design the Oracle-Azure Interconnect does NOT work as a transit network meaning that you CAN NOT connect to Azure from on-prem via OCI or vice versa connect to OCI via Azure.
From on-prem to connect to OCI you need VPN Connect or FastConnect and to connect to Azure you need ExpressRoute.
The diagram below represents the solution for this use case
On-prem is represented by the section at the bottom right with address space 10.0.0.0/24. For this test VPN Connect is using static routing as shown below
From the VCN point of view, the A-Subnet has the default route table and it has an entry to reach on-prem pointing to the DRG
To verify connectivity perform a ping test from a VM in OCI (VMOCI) towards a VM on-prem (VMOP)
From OCI |
|
From On-prem |
|
This shows that connectivity from OCI to on-prem is working. In the previous section we established connectivity to Azure as well. The DRG for the TEST VCN has all the routes to reach both networks. Now let’s verify if Azure is receiving the routes for on-prem. Go to the Azure Portal, select the ExpressRoute you just created, click Azure Private under the Peering section, click Get Route Table.
As you can see above, it only has routes for the TEST VCN in OCI but does NOT have a route for on-prem (10.0.0.0/24). This confirms that in this case OCI can’t be used as a transit route to reach Azure from on-prem. The same case applies if customer will have ExpressRoute from on-prem to Azure and tries to reach OCI via Azure. The Interconnect is only for VCN to VNET communication, cloud-to-cloud.
In a scenario the customer has multiple VCNs within OCI and they are peered with a Local Peering Gateway (LPG). This also applies if the customer has a hub and spoke deployment. The spokes or peered VCN can talk to Azure using the Interconnect.
The diagram below represents the solution for this use case
First create the SPOKE VCN, create the S subnet, instantiate the VMOCI-Spoke VM. When done then peer the two VCNs using an LPG. For step-by step instructions how to use an LPG refer to the public documentation. Once the configuration is done, this is what you should have:
Local Peering Gateway (LPG-S) peered with LPG-Test (remote LPG at Test VCN). It receives a summarized route from the LPG-Test
Route Table associated with the S subnet. Note it has an entry to Azure and On-prem pointing to the local LPG-S
Security list is updated to allow traffic from the SPOKE VCN to the TEST VCN, Azure, and on-prem
Local Peering Gateway (LPG-Test) peered with LPG-S (remote LPG at SPOKE VCN). It receives a route from the LPG-S. Note that the LPG-Test has also a route table associated with it as you need to tell the LPG how to get to Azure and to on-prem. LPGs by default only advertise prefixes for the VCN they are connected to
This is the route table associated with LPG-Test, the entries for Azure and on-prem are pointing to the DRG
Route Table associated with the A Subnet. As you can see it has an entry to the SPOKE VCN pointing to the local LPG-Test. Plus the previous routing entries
Security list is updated to allow traffic from the TEST VCN to SPOKE VCN
Now that all the infrastructure is in place for local VCN peering. Let’s verify connectivity between the VCNs
From TEST VCN |
|
From SPOKE VCN |
|
The ping test is successful, the Local peering is working correctly. In the previous steps you create a route table for LPG-Test to send traffic to the DRG when destined for Azure. Now you need a route entry in the DRG to point to LPG-Test for any traffic destined to the SPOKE VCN. If the DRG does not have a route table, then create one and assign to it
Associate the Route Table with the DRG
At this point all the infrastructure is in place. Let’s check if Azure is receiving the route for the SPOKE VCN. Go to the Azure Portal, select the ExpressRoute you just created, click Azure Private under the Peering section, click Get Route Table. As you can see 10.0.100.0/24 is on the list which belongs to the SPOKE VCN
Now let’s verify connectivity between the SPOKE VCN and Azure. Make sure your security list is allowing this traffic in both directions
From Azure |
|
From SPOKE VCN |
|
This results confirm this is a valid use case for the Interconnect
In this use case customer has a service gateway for resources in the TEST VCN or on-prem to reach SaaS, Object Storage, and other services located in the Oracles Shared Network (OSN) privately. Ideally resources in Azure can also access resources in OSN as well.
The diagram below represents the solution for this use case
The first step will be to deploy a Service Gateway in the TEST VCN
Update the route table for the A Subnet with an entry to reach services in OSN via the TEST-SGW
At this time only the A Subnet is aware of OSN via the TEST-SGW but the DRG or Azure has no idea about it. For this reason the next step is to update the route table associated with the DRG and point to the TEST-SGW as show below
Now that the DRG has knowledge about the routes for OSN, it should advertise them to Azure via the Interconnect. Let’s check if Azure has received these routes. Go to the Azure Portal, select the ExpressRoute you just created, click Azure Private under the Peering section, click Get Route Table
As you can see above the last two entries are for Object Storage which is the route that we added to the DRG. If you modify the route table for the DRG to advertise all the services for OSN in the region by changing the previous route entry to what is shown below
Then if you check the Azure routing table you should see all the routes for OSN in that region
With this configuration now you have one-way traffic because now Azure knows how to get to OSN but OSN does not know how to get back to Azure or on-prem. The next step is to create a route table and assign it to the TEST-SGW to point back to the DRG
Next assign the route table to the service gateway
At this time from the routing perspective the configuration is done. Check the security lists in Azure and OCI to make sure traffic is allowed to reach OSN. Now try to connect to Object Storage or any service in the OSN network that is compatible with the Service Gateway.
In this use case the customer has VCNs in two different regions. The TEST VCN is peered with another VCN in a different region via a Remote Peering Connection (RPC).
The diagram below represents the solution for this use case
For this use case a REMOTE VCN is deployed in the Phoenix region, it has a subnet and a VM for testing. The security lists is updated to allow traffic from the TEST VCN and also from Azure. Also the R-subnet route table has routes for the TEST VCN and Azure pointing to the local DRG
Also update the routing table for the A-Subnet on the TEST VCN to make sure it has a route for the REMOTE VCN pointing to the DRG
In the REMOTE VCN, create the Remote Peering Connection (RPC) called RPC-TEST. For information how to perform this task, refer to the public documentation. Copy the OCID for this connection as you will need this info to establish the peering relation
In the TEST VCN, create the Remote Peering Connection (RPC) called RPC-REMOTE
The next step is to establish the connection between the two RPCs. This can be done from either VCN but you always need the OCID from the other RPC in order to complete this task
To test the RPC perform a ping test from VMOCI to VMOCI-Remote
From TEST VCN |
|
From REMOTE VCN |
|
The RPC is working properly. The next step is to check if Azure is receiving the route for the REMOTE VCN. Note that the RPC is established between DRGs. There is no need to add any routes to the DRG routing table.
As you can see above there is NO route for 10.0.200.0/24 (REMOTE VCN) in the routing table. This use case does NOT work with the Interconnect per design.
Oracle - How to configure Interconnect
Azure - How to configure Interconnect
Previous Post