Skip to content

🌳 A sustainable Terraform Package which creates VPN resources (Clienet VPN, Site-to-Site VPN) on AWS

License

Notifications You must be signed in to change notification settings

MXNeditz0/terraform-aws-vpn

Repository files navigation

# 🌳 terraform-aws-vpn

Welcome to the **terraform-aws-vpn** repository! This project provides a sustainable Terraform package designed to create various VPN resources on AWS. Whether you need a Client VPN or a Site-to-Site VPN, this module has you covered.

![Terraform AWS VPN](https://img.shields.io/badge/terraform-aws-vpn-blue?style=flat-square&logo=terraform)

## Table of Contents

- [Features](#features)
- [Prerequisites](#prerequisites)
- [Getting Started](#getting-started)
- [Configuration](#configuration)
- [Usage](#usage)
- [Examples](#examples)
- [Deployment](#deployment)
- [Releases](#releases)
- [Contributing](#contributing)
- [License](#license)

## Features

- Create AWS Client VPN endpoints.
- Set up Site-to-Site VPN connections.
- Simple, reusable Terraform modules.
- Supports Infrastructure as Code (IaC) principles.
- Extensive documentation for ease of use.

## Prerequisites

Before you begin, ensure you have the following installed:

- [Terraform](https://www.terraform.io/downloads.html) (v0.12 or later)
- An AWS account with permissions to create VPN resources.

## Getting Started

To get started with terraform-aws-vpn, follow these steps:

1. **Clone the repository:**

   ```bash
   git clone https://github.com/MXNeditz0/terraform-aws-vpn.git
   cd terraform-aws-vpn
  1. Initialize Terraform:

    Run the following command to initialize the Terraform working directory:

    terraform init
  2. Configure your VPN settings:

    Modify the example configuration files to meet your specific requirements.

Configuration

The module allows various configurations, including:

  • VPN Type: Client VPN or Site-to-Site VPN
  • Subnet Configuration
  • Security Group Rules
  • Authentication Options

Refer to the individual module documentation for detailed configurations.

Usage

Here’s a simple example of how to use the terraform-aws-vpn module:

module "client_vpn" {
  source              = "./path/to/module"
  vpn_name            = "MyClientVPN"
  client_cidrs       = ["10.0.0.0/16"]
  # additional parameters...
}

Make sure to replace the ./path/to/module with the actual path of the module in your project.

Examples

Explore the following examples to understand the various use cases of the module:

  1. Client VPN Example

    Create a Client VPN endpoint with basic settings.

    module "client_vpn" {
      source        = "path/to/client-vpn"
      vpn_name      = "MyClientVPN"
      client_cidrs  = ["10.0.0.0/22"]
      # more configuration...
    }
  2. Site-to-Site VPN Example

    Establish a Site-to-Site VPN connection between two networks.

    module "site_to_site_vpn" {
      source               = "path/to/site-to-site-vpn"
      vpn_gateway_id       = "vgw-123456"
      customer_gateway_id  = "cgw-654321"
      # more configuration...
    }

Deployment

Once you have configured your settings, deploy your VPN by running:

terraform apply

Confirm the action when prompted. This will create the VPN resources defined in your configuration.

Releases

For the latest releases, visit our Releases section. Download the required files and execute them as per the provided instructions.

Contributing

We welcome contributions! If you'd like to help improve this module, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or fix.
  3. Make your changes.
  4. Submit a pull request detailing your changes.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Topics

This repository covers a range of topics related to AWS VPNs and Terraform, including:

  • aws
  • aws-client-vpn
  • aws-site-to-site-vpn
  • devops
  • iac
  • terraform
  • terraform-module

Conclusion

Thank you for exploring the terraform-aws-vpn repository. We aim to provide a seamless experience in deploying VPN solutions on AWS using Terraform. If you have questions or need assistance, please check the issues section or reach out directly.

Happy coding! 🌐

About

🌳 A sustainable Terraform Package which creates VPN resources (Clienet VPN, Site-to-Site VPN) on AWS

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages