Just this week I published a Terraform module for setting up an OCI-Azure interconnect. This basically is the code I already provided earlier and described in a few of my older posts.

What you will get

The module will create a few resources on Azure and OCI to set up the interconnect. These resources are highlighted in blue in the following diagram.

In detail, the module will create

  • in OCI
    • DRG
    • FastConnect Virtual Circuit
    • Interconnect Route Table
    • Service Gateway (optional)
    • Service Gateway Route Table (optional)
  • in Azure
    • Gateway Subnet
    • Express Route Circuit
    • Virtual Network Gateway (including a public ip)

What you need to create yourself

Before you can use the module, you need to create a few resources yourself. You need to provide these in the module configuration.

  • OCI Compartment
  • OCI VCN
  • Azure Resource Group
  • Azure VNET

How to use in your own environment

The following sample shows the module configuration. The parameters are described at https://github.com/maxjahn/terraform-oci-azure-interconnect

  module "interconnect" {
  source  = "maxjahn/azure-interconnect/oci"
  version = "1.0.0"

    oci_compartment_ocid             = var.oci_compartment_ocid
    oci_vcn_id                       = oci_core_virtual_network.service_vcn.id

    az_resource_group_name           = "interconnect_ams"
    az_vnet_name                     = "interconnect_vnet"
    az_gw_subnet_cidr                = "10.1.99.0/24"

    az_expressroute_peering_location = "Amsterdam2"

    interconnect_peering_net         = "10.99.0.0/24"

    # optional
    enable_service_transit_routing   = 0
    az_expressroute_sku              = "Standard"
    az_expressroute_bandwidth        = 1000
    oci_fastconnect_bandwidth        = "1 Gbps"
  }