Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

README.md

VPC Peering with Routes and DNS Example

This example demonstrates a complete VPC peering setup with automatic route management and DNS resolution using the connections map pattern.

What This Example Creates

  • VPC peering connection with:
    • Automatic route creation
    • DNS resolution enabled
    • Route table management

Configuration

Configure the peering connection using the connections map:

connections = {
  "app-to-data" = {
    requester_vpc_id                = var.requester_vpc_id
    accepter_vpc_id                 = var.accepter_vpc_id
    requester_route_table_ids       = var.requester_route_table_ids
    accepter_route_table_ids        = var.accepter_route_table_ids
    requester_destination_cidrs     = var.requester_destination_cidrs
    accepter_destination_cidrs      = var.accepter_destination_cidrs
    allow_remote_vpc_dns_resolution = true
  }
}

Features Demonstrated

  • Route Management: Automatically creates routes in specified route tables
  • DNS Resolution: Enables DNS resolution across peered VPCs
  • Complete Connectivity: Full bidirectional communication setup

Usage

terraform init
terraform plan
terraform apply

Configuration Details

The module automatically:

  1. Creates peering connection between VPCs
  2. Adds routes to specified route tables
  3. Enables DNS resolution for both VPCs
  4. Configures bidirectional connectivity

Route Configuration

  • Routes are created in the specified route tables
  • Routes point to the peering connection
  • Supports multiple destination CIDRs per VPC

DNS Resolution

  • Instances in requester VPC can resolve DNS names in accepter VPC
  • Instances in accepter VPC can resolve DNS names in requester VPC

Outputs

After successful deployment:

peering_connection_ids = {
  "app-to-data" = "pcx-1234567890abcdef0"
}

peering_connection_status = {
  "app-to-data" = "active"
}

Clean Up

terraform destroy

Requirements

Name Version
terraform >= 1.5
aws >= 5.0

Providers

No providers.

Modules

Name Source Version
tags sourcefuse/arc-tags/aws 1.2.6
vpc_peering ../../ n/a

Resources

No resources.

Inputs

Name Description Type Default Required
accepter_destination_cidrs List of CIDR blocks to route from accepter VPC (usually requester VPC CIDRs) list(string) n/a yes
accepter_route_table_ids List of route table IDs in the accepter VPC list(string) n/a yes
accepter_vpc_id ID of the accepter VPC string n/a yes
aws_region AWS region string "us-east-1" no
requester_destination_cidrs List of CIDR blocks to route from requester VPC (usually accepter VPC CIDRs) list(string) n/a yes
requester_route_table_ids List of route table IDs in the requester VPC list(string) n/a yes
requester_vpc_id ID of the requester VPC string n/a yes

Outputs

Name Description
peering_connection_id The ID of the VPC peering connection
peering_status The status of the VPC peering connection