Skip to content

This repo contains an example of GCP - AWS - Consul cluster deployment

License

Notifications You must be signed in to change notification settings

chavo1/gcp-aws-vpn-consul-terraform

Repository files navigation

This repo contains an example of GCP - AWS - Consul cluster deployment.

AWS VPC

This module will create VPC in AWS region "us-east-1"

AWS Client VPN

This module will create AWS Client VPN

AWS EC2 (Consul servers)

This module will create a needed number of Consul server in AWS

AWS IPsec VPN

This module will create a VPN connection between AWS and GCP.

GCP VPC

This module will create VPC in GCP region "us-east4"

GCP Site to Site

This module will create GCP Site to Site VPN

GCP compute (Consul servers)

This module will create a needed number of Consul server in GCP

Prerequisites

Prepare you own AWS AMIs with Packer

Prepare you own GCP Image with Packer

Clone the repo

git clone https://github.com/chavo1/gcp-aws-vpn-consul-terraform.git
cd gcp-aws-vpn-consul-terraform
terraform init
terraform apply
  • After the deployment Terraform will generate a file into the root directory "config-cvpn.ovpn". So you can use it to connect to the environment in both DCs with AWS Client VPN.
  • VPN client depend on your choice, in my case I use tunnelblick.

To test you will need Kitchen and Selenium:

  • Kitchen provides a test harness to execute infrastructure code on one or more platforms in isolation.
  • Install kitchen.ci
  • Install selenium and all its dependencies on Mac with brew
$ brew install selenium-server-standalone
$ brew cask install java

# GeckoDriver for firefox
$ brew install geckodriver 

# Chromedriver for chrome
$ brew cask install chromedriver 

Than simply execute a following commands:

bundle exec kitchen converge
bundle exec kitchen verify
bundle exec kitchen destroy

About

This repo contains an example of GCP - AWS - Consul cluster deployment

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published