From 81ef6ce7a1a7314088ab02c0e171a3e3ae49f64a Mon Sep 17 00:00:00 2001 From: Jamil Date: Tue, 12 Mar 2024 10:57:18 -0700 Subject: [PATCH] feat(docs): Example Gateway terraform module for GCP (#4011) Adds a working example of the simplest way to deploy Gateways to GCP that is also mostly cloud platform agnostic. I avoided using COS and Docker for this because: - Systemd is already installed and supports IPv6 already - Can be more easily adapted to other platforms where Docker may not be available or trickier to setup (E.g. CentOS 7) - COS is Google-specific --------- Signed-off-by: Jamil Co-authored-by: Andrew Dryga --- docs/README.md | 9 +- terraform/.gitignore | 7 +- terraform/examples/README.md | 16 +++ terraform/examples/gcp/nat_gateway/README.md | 102 ++++++++++++++++ terraform/examples/gcp/nat_gateway/main.tf | 112 ++++++++++++++++++ .../gcp/nat_gateway/online-gateways.png | Bin 0 -> 129851 bytes .../examples/gcp/nat_gateway/variables.tf | 54 +++++++++ website/src/app/kb/deploy/gateways/readme.mdx | 20 +++- 8 files changed, 308 insertions(+), 12 deletions(-) create mode 100644 terraform/examples/README.md create mode 100644 terraform/examples/gcp/nat_gateway/README.md create mode 100644 terraform/examples/gcp/nat_gateway/main.tf create mode 100644 terraform/examples/gcp/nat_gateway/online-gateways.png create mode 100644 terraform/examples/gcp/nat_gateway/variables.tf diff --git a/docs/README.md b/docs/README.md index e45e71f61..6f0a60d3a 100644 --- a/docs/README.md +++ b/docs/README.md @@ -102,10 +102,13 @@ product documentation, organized as follows: - [swift/](../swift/apple): macOS / iOS clients. - [kotlin/](../kotlin/android): Android / ChromeOS clients. - [website/](../website): Marketing website and product documentation. -- [terraform/](../terraform): Terraform files for our cloud infrastructure: +- [terraform/](../terraform): Terraform files for various example deployments. + - [terraform/examples/gcp/nat_gateway](../terraform/examples/gcp/nat_gateway): + Example Terraform configurations for deploying a cluster of Firezone + gateways behind a NAT gateway on GCP with single egress IP. - [terraform/modules/gateway-google-cloud-compute](../terraform/modules/gateway-google-cloud-compute): - Example Terraform module for deploying a Gateway to a Google Compute - Regional Instance Group. + Production-ready Terraform module for deploying regional Firezone gateways + to Google Cloud Compute. ## Quickstart diff --git a/terraform/.gitignore b/terraform/.gitignore index 71d78fdda..c091d9e6c 100644 --- a/terraform/.gitignore +++ b/terraform/.gitignore @@ -1,7 +1,8 @@ # Ignore Terraform state and temporary files -.terraform -*.tfstate.backup -terraform.tfstate.d +**/.terraform +**/*.tfstate.backup +**/terraform.tfstate.d +**/terraform.tfvars out.plan # Don't ever commit these files to git diff --git a/terraform/examples/README.md b/terraform/examples/README.md new file mode 100644 index 000000000..c4327532b --- /dev/null +++ b/terraform/examples/README.md @@ -0,0 +1,16 @@ +# Terraform Examples + +This directory contains examples of how to use Terraform to deploy Firezone +Gateways to your infrastructure. + +## Examples + +Each example below is self-contained and includes a `README.md` with +instructions on how to deploy the example. + +### Google Cloud Platform (GCP) + +- [NAT Gateway](./gcp/nat_gateway): This example shows how to deploy one or more + Firezone Gateways in a single GCP VPC that is configured with a Cloud NAT for + egress. Read this if you're looking to deploy Firezone Gateways behind a + single, shared static IP address on GCP. diff --git a/terraform/examples/gcp/nat_gateway/README.md b/terraform/examples/gcp/nat_gateway/README.md new file mode 100644 index 000000000..c74a65fe3 --- /dev/null +++ b/terraform/examples/gcp/nat_gateway/README.md @@ -0,0 +1,102 @@ +# GCP NAT Gateway Example + +In this example, we will deploy one or more Firezone Gateways in a single VPC on +Google Cloud Platform (GCP) that are configured to egress traffic through a +single Cloud NAT that is assigned a single static IP address. + +## Common use cases + +Use this guide to give your Firezone Clients a static public IP address for +egress traffic to particular Resource(s). Here are some common use cases for +this example: + +- Use IP whitelisting to access a third-party or partner application such as a + client's DB or third-party API. +- Use IP whitelisting with your identity provider to lock down access to a + public application. +- Enabling a team of remote contractors access to a regionally-locked + application or service. + +## High availability + +All Firezone Gateways deployed in this example will automatically failover and +load balance for each other. No other configuration is necessary. To perform +upgrades with minimal downtime, see +[minimal downtime upgrades](#minimal-downtime-upgrades). + +## Prerequisites + +1. [Terraform](https://www.terraform.io/downloads.html) +1. [Google Cloud Platform (GCP) account](https://cloud.google.com/) +1. [Google Cloud SDK](https://cloud.google.com/sdk/docs/install) +1. [Enable the Compute Engine API](https://console.cloud.google.com/flows/enableapi?apiid=compute.googleapis.com) +1. A [Firezone Site](https://www.firezone.dev/kb/deploy/sites) dedicated to use + for this example. This Site should contain **only** the Firezone Gateway(s) + deployed in this example and any associated Resources. +1. A Firezone Gateway token. See + [Multiple Gateways](https://www.firezone.dev/kb/deploy/gateways#deploy-multiple-gateways) + for instructions on how to obtain a Firezone Gateway token that can be used + across multiple instances. + +## Sizing + +Simply update the number of replicas to deploy more or fewer Firezone Gateways. +There's no limit to the number of Firezone Gateways you can deploy in a single +VPC. + +We've tested with `f1-micro` instances which still work quite well for most +applications. However, you may want to consider a larger instance type if you +have a high volume of traffic or lots of concurrent connections. + +## Deployment + +1. Configure the necessary Terraform + [variables](https://developer.hashicorp.com/terraform/language/values/variables). + Here's an example `terraform.tfvars` you can use as a starting point: + + ```hcl + project_id = "my-gcp-project" + region = "us-west1" + zone = "us-west1-a" + token = "" + replicas = 3 + machine_type = "f1-micro" + log_level = "info" + ``` + +1. Run `terraform init` to initialize the working directory and download the + required providers. +1. Run `terraform apply` to deploy the Firezone Gateway(s) into your GCP + project. + +You can see the static IP address assigned to the Cloud NAT in the Terraform +output. This is the IP address that your Firezone Gateway(s) will use to egress +traffic. + +You can verify all Firezone Gateways are using this IP by viewing the Site in +the Firezone admin portal, where you should now see the Firezone Gateway(s) +listed as `Online`. + +
+ +![Online Gateways](./online-gateways.png) + +
+ +## Upgrading + +To upgrade the Firezone Gateway(s) to the latest version, simply update the +`token` and issue a `terraform apply` which will trigger a redeployment of the +Firezone Gateway(s). + +This will incur about a minute or two of downtime as Terraform destroys the +existing Firezone Gateway(s) and deploys new ones in their place. + +## Future improvements + +- Minimal downtime upgrades using a regional instance manager. +- Expose the ability to select an existing subnetwork instead of auto-creating a + new one. +- Expose the ability to select an existing + [regional external IP address](https://cloud.google.com/nat/docs/ports-and-addresses) + instead of auto-creating a new one. diff --git a/terraform/examples/gcp/nat_gateway/main.tf b/terraform/examples/gcp/nat_gateway/main.tf new file mode 100644 index 000000000..50296c102 --- /dev/null +++ b/terraform/examples/gcp/nat_gateway/main.tf @@ -0,0 +1,112 @@ +terraform { + required_providers { + google = { + source = "hashicorp/google" + version = "5.19.0" + } + } +} + +provider "google" { + project = var.project_id + region = var.region + zone = var.zone +} + +resource "google_project_service" "compute-api" { + project = var.project_id + service = "compute.googleapis.com" +} + +resource "google_service_account" "firezone" { + account_id = "firezone-gateway" + display_name = "Firezone Gateway Service Account" +} + +resource "google_compute_network" "firezone" { + name = "firezone-gateway" + auto_create_subnetworks = true + depends_on = [google_project_service.compute-api] +} + +resource "google_compute_router" "firezone" { + name = "firezone-gateway-router" + network = google_compute_network.firezone.id +} + +resource "google_compute_router_nat" "firezone" { + name = "firezone-gateway-nat" + router = google_compute_router.firezone.name + nat_ip_allocate_option = "AUTO_ONLY" + source_subnetwork_ip_ranges_to_nat = "ALL_SUBNETWORKS_ALL_IP_RANGES" +} + +resource "google_compute_instance_template" "gateway" { + name = "gateway-template" + description = "Instance template for the Firezone Gateway" + instance_description = "Firezone Gateway" + machine_type = var.machine_type + tags = ["firezone-gateway"] + can_ip_forward = true + + scheduling { + automatic_restart = true + on_host_maintenance = "MIGRATE" + } + + disk { + source_image = "debian-cloud/debian-12" + auto_delete = true + boot = true + } + + network_interface { + network = google_compute_network.firezone.id + } + + service_account { + email = google_service_account.firezone.email + scopes = ["cloud-platform"] + } + +} + +// Allow SSH access to the gateways. This is optional but helpful for debugging +// and administration of the gateways. Since they're not publicly accessible, +// you need to tunnel through IAP: +// +// gcloud compute ssh --tunnel-through-iap --project --zone gateway-0 +resource "google_compute_firewall" "ssh-rule" { + name = "allow-ssh" + network = google_compute_network.firezone.name + + allow { + protocol = "tcp" + ports = ["22"] + } + + target_tags = ["gateway"] + source_ranges = ["0.0.0.0/0"] +} + +resource "google_compute_instance_from_template" "gateway" { + name = "gateway-${count.index}" + count = var.replicas + source_instance_template = google_compute_instance_template.gateway.self_link_unique + + # Script is defined here to set instance-specific metadata + metadata_startup_script = <<-SCRIPT + #!/usr/bin/env bash + set -euo pipefail + + # Install dependencies + sudo apt-get update + sudo apt-get install -y iptables curl + + # Set necessary environment variables and run installer + FIREZONE_ID="gateway-${google_compute_instance_template.gateway.id}-${count.index}" \ + FIREZONE_TOKEN="${var.token}" \ + bash <(curl -fsSL https://raw.githubusercontent.com/firezone/firezone/main/scripts/gateway-systemd-install.sh) + + SCRIPT +} diff --git a/terraform/examples/gcp/nat_gateway/online-gateways.png b/terraform/examples/gcp/nat_gateway/online-gateways.png new file mode 100644 index 0000000000000000000000000000000000000000..21c1499934891a9629d9cf09c4099f9444356a7b GIT binary patch literal 129851 zcmdqIWmsHYvM}0Ma0wcqgS!R^5;VBGySux)6WrZ{yL*DWyGw9)hp(AAXXZU;zURL8 z*Zpz(*}M1ZwU8w75avMf1y7_AWB}y&Ou*3d{Uf3SP{d$h zzkjzF*n+Eo!uUu--2$GglNYj3rK2mW5a#$D6Ur>ZhhwItsld;rT5|1~R zz4UG;Ai92$NS3M$hBx(#JaG3+GCVXQZ!-uCa>f_c2Hb>2m`E=m=mUg+(QW5&uvHIE zjJr}?_3O*s8Hqi(=({Ib>;4;Wr<;Qm;KpDlSJ`V z!Dw9kCh34wb(3*j;*W3o4PruuE+fYmhoJ8iDE{ccF3V|`;_K7*|sFD7kyQmdjNZuUxz9XNnHCNwlO zV`E3(fsAh-kpb0SO2!S4fL=mCMWaprR+;H%w@V0!5MHn%0Aju#zs`p;pU;=bn;+VI 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 literal 0 HcmV?d00001 diff --git a/terraform/examples/gcp/nat_gateway/variables.tf b/terraform/examples/gcp/nat_gateway/variables.tf new file mode 100644 index 000000000..e1bfb4070 --- /dev/null +++ b/terraform/examples/gcp/nat_gateway/variables.tf @@ -0,0 +1,54 @@ +################################################################################ +## Google Cloud Project +################################################################################ + +variable "project_id" { + type = string + description = "Google Cloud Project ID" +} + +################################################################################ +## Compute +################################################################################ + +variable "region" { + type = string + description = "Region to deploy the Gateway(s) in." +} + +variable "zone" { + type = string + description = "Availability to deploy the Gateway(s) in." +} + +variable "replicas" { + type = number + description = "Number of Gateway replicas to deploy in the availability zone." + default = 3 +} + +variable "machine_type" { + type = string + default = "n1-standard-1" +} + +################################################################################ +## Observability +################################################################################ + +variable "log_level" { + type = string + nullable = false + default = "info" + + description = "Sets RUST_LOG environment variable to configure the Gateway's log level. Default: 'info'." +} + +################################################################################ +## Firezone +################################################################################ + +variable "token" { + type = string + description = "Gateway token to use for authentication." +} diff --git a/website/src/app/kb/deploy/gateways/readme.mdx b/website/src/app/kb/deploy/gateways/readme.mdx index 47b1e1334..1ccb61437 100644 --- a/website/src/app/kb/deploy/gateways/readme.mdx +++ b/website/src/app/kb/deploy/gateways/readme.mdx @@ -68,13 +68,21 @@ A single Client connection to a single Gateway can typically reach speeds of **1 Gbps** or more. This scales linearly with each Client connection up to the number of CPU cores available to the Gateway. -Use the table below as a rough guide for sizing your Gateway deployments: +In our tests, we've found that even a single `f1.micro` instance on Google Cloud +Platform, equipped with a single shared vCPU core, can effortlessly handle up to +1 Gbps of tunneled traffic. This performance is attributed to the efficiency of +the WireGuard® protocol and the Rust programming language. -| Gateway size | Users served | CPU cores | Memory | Network link | -| ------------ | ------------ | --------- | ------ | ------------ | -| Small | 100 | 2 | 2 GB | 1 Gbps | -| Medium | 1,000 | 8 | 8 GB | 10 Gbps | -| Large | 10,000 | 32 | 32 GB | 40 Gbps | +Use the table below as a rough guide for sizing your Gateway deployments. These +are general recommendations and may not be accurate for your specific use case. +If you're unsure, start with a smaller Gateway and scale up as needed. + +| Gateway size | Users served | CPU cores | Memory | Network link | +| ------------ | -------------- | --------- | ------ | ------------ | +| Micro | 10 - 100 | 1 | 512 MB | 1 Gbps | +| Small | 100 - 250 | 2 | 1 GB | 1 Gbps | +| Medium | 250 - 1,000 | 4 | 4 GB | 10 Gbps | +| Large | 1,000 - 10,000 | 16 | 16 GB | 25 Gbps | To go beyond the table above, you can deploy additional Gateways and use Firezone's [automatic load balancing](#load-balancing) to distribute Client