openvpn

DNXLabs/openvpn/aws

Terraform Module HCL AWS

This module setup an OpenVPN installation and requires an existing VPC.

Install
module "openvpn" {
source = "DNXLabs/openvpn/aws"
version = "2.0.0"
}
plain text: /constructs/tfmod-dnxlabs-openvpn-aws/install.txt
⭐ Source on GitHub 📦 Registry page
README

terraform-aws-openvpn ![Lint Status](https://github.com/DNXLabs/terraform-aws-openvpn/actions) ![LICENSE](https://github.com/DNXLabs/terraform-aws-openvpn/blob/master/LICENSE) This module setup an OpenVPN installation and requires an existing VPC. The following resources will be created: - Elastic Container Service(ECS) - Network Load Balance - Tasks Definition - ECS Service - IAM roles for the ECS Tasks - Cloudwatch log group for the ECS - S3 Bucket to save the ECS Openvpn logs - Security group for the openvpn access - SSM Parameter resources (Domain Name, Users, Route Push and Revoke Users). In addition you have the option to: - Enable or disable Multi-Factor Authentication (MFA) Requirements | Name | Version | |------|---------| | terraform | >= 0.13.0 | | aws | >= 4.4.0 | Providers | N

Inputs (41)
NameTypeDescriptionDefault
namestringName of this ECS cluster. required
private_subnet_idslist(string)List of private subnet IDs for ECS instances and Internal ALB when enabled. required
public_subnet_idslist(string)List of public subnet IDs for ECS ALB. required
instance_type_2stringInstance type for ECS workers (second priority). required
vpc_idstringVPC ID to deploy the ECS cluster. required
secure_subnet_idslist(string)List of secure subnet IDs for EFS. required
instance_type_1stringInstance type for ECS workers (first priority). required
instance_type_3stringInstance type for ECS workers (third priority). required
on_demand_base_capacitynumberYou can designate a base portion of your total capacity as On-Demand. As the gro0
hosted_zone_idstringHosted Zone ID to create DNS record for this app (prefer this instead of hosted_""
lb_access_logs_bucketstringBucket to store logs from lb access.""
route_pushstringList of routes to push to client, comma-separated (ex: '10.100.0.0 255.255.0.0,1""
requester_cidrslist(string)List of CIDRs to add to openvpn-access SG so clients can connect to resources[]
kms_key_ebs_arnstringARN of a KMS Key to use on EBS volumes""
instance_volume_sizenumberVolume size for docker volume (in GB).30
lb_access_logs_prefixstringBucket prefix to store lb access logs.""
mfastringEnable or disable MFA for VPN users"false"
kms_key_efs_arnstringARN of a KMS Key to use on EFS volumes""
provisioned_throughput_in_mibpsnumberThe throughput, measured in MiB/s, that you want to provision for the file syste0
alb_ssl_policystringThe name of the SSL Policy for the listener. Required if protocol is HTTPS or TL"ELBSecurityPolicy-2016-08"
kms_key_s3_arnstringARN of a KMS Key to use on S3 buckets""
s3_bucket_policystringOpenvpn S3 bucket policy""
throughput_modestringThroughput mode for the file system. Defaults to bursting. Valid values: burstin"bursting"
nlb_security_group_idslist(string)Extra security groups for instances.[]
protocolstringProtocol that will be use by the vpn"tcp"
cw_retention_periodnumberRetention period (in days) for Cloud Watch log group. Default to Never Expire.0
backupstringAssing a backup tag to efs resource - Backup will be performed by AWS Backup."true"
instance_volume_size_rootnumberVolume size for root volume (in GB).16
… and 1 more inputs
Outputs (2)
ecs_nodes_secgrp_id
s3_bucket_openvpn
Resources (27)
aws_autoscaling_groupaws_cloudwatch_log_groupaws_ecs_capacity_provideraws_ecs_clusteraws_ecs_serviceaws_ecs_task_definitionaws_efs_file_systemaws_efs_mount_targetaws_iam_instance_profileaws_iam_roleaws_iam_role_policyaws_iam_role_policy_attachmentaws_launch_templateaws_lbaws_lb_listeneraws_lb_target_groupaws_route53_recordaws_s3_bucketaws_s3_bucket_aclaws_s3_bucket_ownership_controlsaws_s3_bucket_policyaws_s3_bucket_public_access_blockaws_s3_bucket_server_side_encryption_configurationaws_security_groupaws_security_group_ruleaws_ssm_parameterrandom_string
Details
FrameworkTerraform Module
LanguageHCL
Version2.0.0
Cloud AWS
★ Stars8
Forks10
Total downloads7.0k
Inputs41
Outputs2
Resources27
LicenseApache-2.0
NamespaceDNXLabs
Updated