Geek Cell GmbH

Code Quality

License GitHub release (latest tag) Release Validate Lint

Terraform AWS VPN Nordlayer Integration

This Terraform module creates the necessary resources to activate a Nordlayer site-to-site VPN connection. The Nordlayer server must be created manually before to get the static IP. The VPN config must be manually downloaded and added to Nordlayer for approval.

Inputs

Name Description Type Default Required
encryption_algorithms Encryption algorithms list(string)
[
"AES128",
"AES128-GCM-16",
"AES256",
"AES256-GCM-16"
]
no
ike_versions IKE versions list(string)
[
"ikev1",
"ikev2"
]
no
integrity_algorithms Integrity algorithms list(string)
[
"SHA1",
"SHA2-256",
"SHA2-384",
"SHA2-512"
]
no
nordlayer_gateway_ip Static IP of the Nordlayer gateway server. Needs to be created manually in Nordlayer UI. string n/a yes
phase1_dh_group_numbers Phase 1 dh group numbers list(number)
[
2,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24
]
no
phase2_dh_group_numbers Phase 2 dh group numbers list(number)
[
2,
5,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24
]
no
prefix Global prefix for resource names. string n/a yes
route_table_ids Route table ids to add static VPN route to. Usually includes private subnet route tables and database subnet route tables. list(string) n/a yes
tags Tags to add to resources. map(string) n/a yes
vpc_id Id of the VPC to add VPN to. string n/a yes

Outputs

No outputs.

Providers

Name Version
aws ~> 4.36

Resources

  • resource.aws_customer_gateway.main (main.tf#16)
  • resource.aws_route.main (main.tf#61)
  • resource.aws_vpn_connection.main (main.tf#27)
  • resource.aws_vpn_connection_route.main (main.tf#55)
  • resource.aws_vpn_gateway.main (main.tf#8)

Examples

Complete

module "example" {
  source = "../../"

  nordlayer_gateway_ip = "1.2.3.4"
  prefix               = "example"
  route_table_ids      = ["rtb-1235"]
  tags                 = {}
  vpc_id               = "vpc-1234"
}