terraform-equinix-fabric-connection-aws
is a Terraform module that utilizes Terraform provider for Equinix and Terraform provider for AWS to set up an Equinix Fabric L2 connection to AWS Direct Connect.
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.
This module creates the l2 connection in Equinix Fabric, approves the request in your account on the AWS platform, and optionally creates a AWS Direct Connect private virtual interface (VIF) and a virtual private gateway (VGW). BGP in Equinix side can be optionally configured if Network Edge device is used.
Origin Destination
(A-side) (Z-side)
┌────────────────┐
│ Equinix Fabric │ Equinix Fabric ┌────────────────────┐ ┌──────────────────────┐
│ Port / Network ├───── l2 connection ───────►│ AWS │──────►│ Private VIF ─► VGW │
│ Edge Device / │ (50 Mbps - 10 Gbps) │ Direct Connect │ │ (AWS Region) │
│ Service Token │ └────────────────────┘ └──────────────────────┘
└────────────────┘ │
│ │
└ - - - - - - - - - - Network Edge Device - - - - - - - - - - - - - - - - - ┘
BGP peering
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 https://learn.hashicorp.com/tutorials/terraform/install-cli.
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.
To use this module in a new project, create a file such as:
# main.tf
provider "equinix" {}
provider "aws" { region = "eu-central-1" }
data "aws_region" "this" {}
module "equinix-fabric-connection-aws" {
source = "equinix-labs/fabric-connection-aws/equinix"
# required variables
fabric_notification_users = ["example@equinix.com"]
aws_account_id = var.aws_account_id
# optional variables
fabric_destination_metro_code = "FR"
network_edge_device_id = "DeviceID"
}
Run terraform init -upgrade
and terraform apply
.
See https://registry.terraform.io/modules/equinix-labs/fabric-connection-aws/equinix/latest?tab=inputs for a description of all variables.
See https://registry.terraform.io/modules/equinix-labs/fabric-connection-aws/equinix/latest?tab=outputs for a description of all outputs.
Name | Type |
---|---|
random_string.this | resource |
equinix-fabric-connection | module |
equinix_network_bgp.this | resource |
aws_dx_connection_confirmation.this | resource |
aws_dx_private_virtual_interface.this | resource |
aws_vpn_gateway.this | resource |
aws_vpc.this | data source |
aws_region.this | data source |