Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/equinix-labs/terraform-equinix-fabric-connection-azure
Terraform module to create a Fabric L2 Connection to Azure ExpressRoute
https://github.com/equinix-labs/terraform-equinix-fabric-connection-azure
azure equinix equinix-fabric expressroute terraform terraform-module
Last synced: 7 days ago
JSON representation
Terraform module to create a Fabric L2 Connection to Azure ExpressRoute
- Host: GitHub
- URL: https://github.com/equinix-labs/terraform-equinix-fabric-connection-azure
- Owner: equinix-labs
- License: apache-2.0
- Created: 2022-02-28T23:16:59.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-09T21:49:46.000Z (7 months ago)
- Last Synced: 2024-04-23T13:57:06.433Z (7 months ago)
- Topics: azure, equinix, equinix-fabric, expressroute, terraform, terraform-module
- Language: HCL
- Homepage:
- Size: 43.9 KB
- Stars: 0
- Watchers: 6
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
## Equinix Fabric L2 Connection To Microsoft Azure ExpressRoute Terraform module
[![Experimental](https://img.shields.io/badge/Stability-Experimental-red.svg)](https://github.com/equinix-labs/standards#about-uniform-standards)
[![terraform](https://github.com/equinix-labs/terraform-equinix-template/actions/workflows/integration.yaml/badge.svg)](https://github.com/equinix-labs/terraform-equinix-template/actions/workflows/integration.yaml)`terraform-equinix-fabric-connection-azure` is a Terraform module that utilizes [Terraform provider for Equinix](https://registry.terraform.io/providers/equinix/equinix/latest) and [Terraform provider for Azure](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs) to set up an Equinix Fabric L2 connection to Microsoft Azure ExpressRoute.
As part of Platform Equinix, your infrastructure can connect with other parties, such as public cloud providers, network service providers, or your own colocation cages in Equinix by defining an [Equinix Fabric - software-defined interconnection](https://docs.equinix.com/en-us/Content/Interconnection/Fabric/Fabric-landing-main.htm).
This module creates a resource group or uses an existing one, an ExpressRoute circuit in Azure, and the redundant (optionally non-redundant) l2 connection in Equinix Fabric using the ExpressRoute service key. ExpressRoute circuit peering (Private or Microsoft) and Network Edge BGP session can be optionally configured.
```html
Origin Destination
(A-side) (Z-side) ┌────────────────────────┐
│ (Microsoft Peering) │
┌────────────────┐ ┌────────────────────┐ │ Office 365 / Dynamics │──┐
│ Equinix Fabric │ Equinix Fabric │ │──────►│ 365 / Public services │ │
│ Port / Network ├───── Single/Redundant ─────►│ Azure │ └────────────────────────┘ │
│ Edge Device / │ l2 connection connection │ ExpressRoute │ ┌────────────────────────┐ │
│ Service Token ├───── (50 Mbps - 10 Gbps) ─────►│ │──────►│ (Private Peering) │ │
└────────────────┘ └────────────────────┘ │ Virtual Networks │──│
│ └────────────────────────┘ │
└ - - - - - - - - - - Network Edge Device - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ┘
BGP peering
```### Usage
This project is experimental and supported by the user community. Equinix does not provide support for this project.
Install Terraform using the official guides at .
This project may be forked, cloned, or downloaded and modified as needed as the base in your integrations and deployments.
This project may also be used as a [Terraform module](https://learn.hashicorp.com/collections/terraform/modules).
To use this module in a new project, create a file such as:
```hcl
# main.tf# Configure the Equinix Provider
# Please refer to provider documentation for details on supported authentication methods and parameters.
# https://registry.terraform.io/providers/equinix/equinix/latest/docs
provider "equinix" {
}# Configure the Microsoft Azure Provider
# https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs#authenticating-to-azure
provider "azurerm" {
features {}
}variable "port_primary_name" {}
variable "port_secondary_name" {}module "equinix-fabric-connection-azure" {
source = "equinix-labs/fabric-connection-azure/equinix"# required variables
fabric_notification_users = ["[email protected]"]# optional variables
fabric_speed = 400
fabric_port_name = var.port_primary_name
fabric_vlan_stag = 1010
fabric_secondary_port_name = var.port_secondary_name
fabric_secondary_vlan_stag = 1020az_region = "Japan East"
}
```Run `terraform init -upgrade` and `terraform apply`.
#### Resources
| Name | Type |
| :-----: | :------: |
| [random_string.this](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) | resource |
| [equinix-fabric-connection](https://registry.terraform.io/modules/equinix-labs/fabric-connection/equinix/latest) | module |
| [azurerm_express_route_circuit.this](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/express_route_circuit) | resource |
| [azurerm_resource_group.this](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) | resource |
| [azurerm_resource_group.this](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/resource_group) | data source |
| [azurerm_express_route_circuit_peering.this](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/express_route_circuit_peering) | resource |
| [equinix_network_bgp.primary](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/equinix_network_bgp) | resource |
| [equinix_network_bgp.secondary](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/equinix_network_bgp) | resource |#### Variables
See for a description of all variables.
#### Outputs
See for a description of all outputs.
### Examples
- [Fabric Port redundant connection](https://registry.terraform.io/modules/equinix-labs/fabric-connection-azure/equinix/latest/examples/fabric-port-redundant-connection/)
- [Network Edge device redundant connection](https://registry.terraform.io/modules/equinix-labs/fabric-connection-azure/equinix/latest/examples/network-edge-device-redundant-connection/)
- [Service Token (a-side) redundant connection](https://registry.terraform.io/modules/equinix-labs/fabric-connection-azure/equinix/latest/examples/service-token-redundant-connection)
- [Service Token (a-side) Equinix Metal to Azure redundant connection End-to-End Solution](https://registry.terraform.io/modules/equinix-labs/fabric-connection-azure/equinix/latest/examples/service-token-metal-to-azure-connection/)