From d3fbe850dd609f41a74a4995d72e751c5f0240fb Mon Sep 17 00:00:00 2001 From: ptglynn Date: Tue, 26 May 2020 11:31:49 -0500 Subject: [PATCH] Initial import --- gcp/ilbnh-mig/README.md | 76 ++ gcp/ilbnh-mig/bootstrap_files/authcodes | 1 + gcp/ilbnh-mig/bootstrap_files/bootstrap.xml | 1099 +++++++++++++++++ gcp/ilbnh-mig/bootstrap_files/init-cfg.txt | 10 + gcp/ilbnh-mig/fw_common.tf | 106 ++ gcp/ilbnh-mig/fw_vpc.tf | 40 + gcp/ilbnh-mig/images/curl.png | Bin 0 -> 110327 bytes gcp/ilbnh-mig/images/deployment.png | Bin 0 -> 42593 bytes gcp/ilbnh-mig/images/diagram.svg | 805 ++++++++++++ gcp/ilbnh-mig/images/directory.png | Bin 0 -> 29114 bytes gcp/ilbnh-mig/images/fwlogs.png | Bin 0 -> 46103 bytes gcp/ilbnh-mig/modules/gcp_bootstrap/main.tf | 85 ++ .../modules/gcp_bootstrap/outputs.tf | 8 + .../modules/gcp_bootstrap/variables.tf | 24 + gcp/ilbnh-mig/modules/ilbnh/main.tf | 27 + gcp/ilbnh-mig/modules/ilbnh/outputs.tf | 3 + gcp/ilbnh-mig/modules/ilbnh/variables.tf | 41 + gcp/ilbnh-mig/modules/vm/main.tf | 34 + gcp/ilbnh-mig/modules/vm/outputs.tf | 7 + gcp/ilbnh-mig/modules/vm/variables.tf | 44 + gcp/ilbnh-mig/modules/vmseries/main.tf | 84 ++ gcp/ilbnh-mig/modules/vmseries/outputs.tf | 3 + gcp/ilbnh-mig/modules/vmseries/variables.tf | 121 ++ gcp/ilbnh-mig/modules/vpc/main.tf | 25 + gcp/ilbnh-mig/modules/vpc/outputs.tf | 29 + gcp/ilbnh-mig/modules/vpc/variables.tf | 29 + gcp/ilbnh-mig/project.tf | 15 + gcp/ilbnh-mig/scripts/showheaders.php | 62 + gcp/ilbnh-mig/scripts/webserver-startup.sh | 9 + gcp/ilbnh-mig/servers.tf | 29 + gcp/ilbnh-mig/terraform.tfvars | 48 + gcp/ilbnh-mig/variables.tf | 122 ++ 32 files changed, 2986 insertions(+) create mode 100644 gcp/ilbnh-mig/README.md create mode 100644 gcp/ilbnh-mig/bootstrap_files/authcodes create mode 100644 gcp/ilbnh-mig/bootstrap_files/bootstrap.xml create mode 100644 gcp/ilbnh-mig/bootstrap_files/init-cfg.txt create mode 100644 gcp/ilbnh-mig/fw_common.tf create mode 100644 gcp/ilbnh-mig/fw_vpc.tf create mode 100644 gcp/ilbnh-mig/images/curl.png create mode 100644 gcp/ilbnh-mig/images/deployment.png create mode 100644 gcp/ilbnh-mig/images/diagram.svg create mode 100644 gcp/ilbnh-mig/images/directory.png create mode 100644 gcp/ilbnh-mig/images/fwlogs.png create mode 100644 gcp/ilbnh-mig/modules/gcp_bootstrap/main.tf create mode 100644 gcp/ilbnh-mig/modules/gcp_bootstrap/outputs.tf create mode 100644 gcp/ilbnh-mig/modules/gcp_bootstrap/variables.tf create mode 100644 gcp/ilbnh-mig/modules/ilbnh/main.tf create mode 100644 gcp/ilbnh-mig/modules/ilbnh/outputs.tf create mode 100644 gcp/ilbnh-mig/modules/ilbnh/variables.tf create mode 100644 gcp/ilbnh-mig/modules/vm/main.tf create mode 100644 gcp/ilbnh-mig/modules/vm/outputs.tf create mode 100644 gcp/ilbnh-mig/modules/vm/variables.tf create mode 100644 gcp/ilbnh-mig/modules/vmseries/main.tf create mode 100644 gcp/ilbnh-mig/modules/vmseries/outputs.tf create mode 100644 gcp/ilbnh-mig/modules/vmseries/variables.tf create mode 100644 gcp/ilbnh-mig/modules/vpc/main.tf create mode 100644 gcp/ilbnh-mig/modules/vpc/outputs.tf create mode 100644 gcp/ilbnh-mig/modules/vpc/variables.tf create mode 100644 gcp/ilbnh-mig/project.tf create mode 100644 gcp/ilbnh-mig/scripts/showheaders.php create mode 100644 gcp/ilbnh-mig/scripts/webserver-startup.sh create mode 100644 gcp/ilbnh-mig/servers.tf create mode 100644 gcp/ilbnh-mig/terraform.tfvars create mode 100644 gcp/ilbnh-mig/variables.tf diff --git a/gcp/ilbnh-mig/README.md b/gcp/ilbnh-mig/README.md new file mode 100644 index 00000000..e617ff44 --- /dev/null +++ b/gcp/ilbnh-mig/README.md @@ -0,0 +1,76 @@ +## MultiNic ILB Deployment +This is a Terraform version of the manual build described at: +https://cloud.google.com/load-balancing/docs/internal/setting-up-ilb-next-hop + +Terraform creates a VM-Series firewall that secures egress and east-west traffic for 2 internal VPCs. Egress traffic from the internal VPCs is routed via the Load Balancer as Next Hop to the VM-Series. The FW is deployed via a Managed Instance Group to allow for automatic failure detection/repacement. + +### Overview +* 4 x VPCs (testing,management,production, production2) +* 1 x VM-Series (BYOL / Bundle1 / Bundle2) in a Managed Instance Group +* 1 x Ubuntu VM in the testing VPC (install Apache during creation) +* 1 x Ubuntu VM in the production VPC (install Apache during creation) +* 1 x GCP Internal Load Balancer in the testing VPC +* 1 x GCP Internal Load Balancer in the production VPC +* 1 x GCP Storage Bucket for VM-Series bootstrapping (random string appended to bucket name for global uniqueness) +
+

+ +

+ + +### Prerequistes +1. Terraform +2. Access to GCP Console + +After deployment, the firewalls' username and password are: + * **Username:** paloalto + * **Password:** Pal0Alt0@123 + +### Deployment +1. Download the **ilbnh-mig** repo to the machine running the build +2. In an editor, open **terraform.tfvars** and set values for the following variables + +| Variable | Description | +| :------------- | :------------- | +| `project_id` | Project ID for the VM-Series, VM-Series VPCs, GCP storage bucket, & public load balancer. | +| `public_key_path` | Public key used to authenticate to the FW (username: admin) and the Ubuntu VMs (username:demo) | +| `fw_panos` | The species and version of the FW to deploy | +| `auth_file`| Authentication key file for deployment | + +3. Download project authenication key files to the main directory of the terraform build. +

+ +

+ +4. Execute Terraform +``` +$ terraform init +$ terraform plan +$ terraform apply +``` + +5. After the deployment finishes, navigate to the console and not the public IP address associated with one of the ubuntu servers. + +

+ +

+ +6. Connect to the server and issue the curl command to its peer. + +

+ +

+ +7. Login to the FW and note the traffic logs. +

+ +

+ +8. Destroy the envirnment when done. +``` +$ terraform destroy +``` + +## Support Policy +The guide in this directory and accompanied files are released under an as-is, best effort, support policy. These scripts should be seen as community supported and Palo Alto Networks will contribute our expertise as and when possible. We do not provide technical support or help in using or troubleshooting the components of the project through our normal support options such as Palo Alto Networks support teams, or ASC (Authorized Support Centers) partners and backline support options. The underlying product used (the VM-Series firewall) by the scripts or templates are still supported, but the support is only for the product functionality and not for help in deploying or using the template or script itself. +Unless explicitly tagged, all projects or work posted in our GitHub repository (at https://github.com/PaloAltoNetworks) or sites other than our official Downloads page on https://support.paloaltonetworks.com are provided under the best effort policy. diff --git a/gcp/ilbnh-mig/bootstrap_files/authcodes b/gcp/ilbnh-mig/bootstrap_files/authcodes new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/gcp/ilbnh-mig/bootstrap_files/authcodes @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gcp/ilbnh-mig/bootstrap_files/bootstrap.xml b/gcp/ilbnh-mig/bootstrap_files/bootstrap.xml new file mode 100644 index 00000000..a354ec4f --- /dev/null +++ b/gcp/ilbnh-mig/bootstrap_files/bootstrap.xml @@ -0,0 +1,1099 @@ + + + + + + + + yes + + + $1$swuuvbfr$TeXPJ5vj8FQP5E9NiByN40 + + + + + yes + + + $1$kpolrmjb$lJ5t7tCjS7Ghd8tachjOJ. + c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDblNZOFdJbktrdGhVZnExdjFoSnlWdHhCSEpTYlRWQnhTTFBwYXg3MGUwRW5sZVZkdGk0VURLUFplREpQMVVxWjNYWjZIblk0L1NzQnhocFFXeW1LenpNYURqVnZ3TWhtcm04ampXYndRYXlqdEk4UVl0SnZNa1RhcHYwT2hWZTBmUUM5VXdTTnFHZ2FTKzVnUGdJRWVPaTB0a01OeU10VjY2bmhCL05ubktqc3RLSnoxYmt5K3RPUnQyeWNvYmdZWVJMdytRdWVLYmpHTkxFSTcrWkp5ak5URm8rUFAyaFZ4Q3hJL2ZzTnpvcTFjNjgyOXVkcmhwOUZsODhqbGNPSFdsYTUrMnRXS0VNVVRrKzY5eXZ3TmhrL3lvZ2F5VUFZZTJROXpEOG9pb2RzVnZSV29VOTk3dmt6TFE3c3FHT0VTYzk5a0xJTzFWaGtGalZHTDExSnogc3R1ZGVudC0wMy0wYWQ5MTllODQ2NmJAcXdpa2xhYnMubmV0 + + + + + + + + + + + + + yes + 5 + + + yes + 5 + + + yes + 5 + + + yes + 10 + + + yes + 5 + + + + yes + + + + 10 + 10 + + 100 + 50 + + + + 10 + 10 + + 100 + 50 + + + + + + 100 + yes + + + + + + + + + + + + + + + + + + + + + no + + + + + no + + 1460 + + no + + + + + + + + + + no + + + + + no + + + no + + + no + + + + + + + + + no + + + + + no + + + no + + + no + + + + + + + + + no + + + + + hc-tcp-22 + + + + no + + + + + hc-tcp-22 + + + + no + + + + + hc-tcp-22 + + + + + + + + 3 + 5 + wait-recover + + + + + no + yes + + + + + + + + + + + + + aes-128-cbc + 3des + + + sha1 + + + group2 + + + 8 + + + + + aes-128-cbc + + + sha256 + + + group19 + + + 8 + + + + + aes-256-cbc + + + sha384 + + + group20 + + + 8 + + + + + + + + aes-128-cbc + 3des + + + sha1 + + + group2 + + 1 + + + + + + aes-128-gcm + + + none + + + group19 + + 1 + + + + + + aes-256-gcm + + + none + + + group20 + + 1 + + + + + + + aes-128-cbc + + + sha1 + + + + + + + + + + + real-time + + + high + + + high + + + medium + + + medium + + + low + + + low + + + low + + + + + + + + + + no + + + 1.25 + 0.5 + 900 + 300 + 900 + yes + + + + + yes + + + + + no + + + no + + + no + + + + ethernet1/1 + loopback.1 + + + + + + + + + + + + 10.30.1.1 + + + None + + + no + any + 2 + + ethernet1/1 + 10 + Health-Check-Probe1 + + + + + + + 10.30.1.1 + + + None + + + no + any + 2 + + ethernet1/1 + 10 + Health-Check-Probe2 + + + + + + + no + any + 2 + + + trust2 + + + None + + 10 + 10.50.1.0/24 + + + + + + + no + any + 2 + + + trust3 + + + None + + 10 + 10.40.1.0/24 + + + + + + + + + + + + + + + + + + + yes + + + no + + + no + + + no + + + no + + + + + + + + 10.50.1.1 + + + None + + + no + any + 2 + + ethernet1/2 + 10 + Health-Check-Probe1 + + + + + + + 10.50.1.1 + + + None + + + no + any + 2 + + ethernet1/2 + 10 + Health-Check-Probe2 + + + + + + + no + any + 2 + + + trust1 + + + None + + 10 + 10.30.1.0/24 + + + + + + + no + any + 2 + + + trust3 + + + None + + 10 + 10.40.1.0/24 + + + + + + + + + 120 + + + ethernet1/2 + loopback.2 + + + + + + + + + + + + + yes + + + no + + + no + + + no + + + no + + + + + + + + 10.40.1.1 + + + None + + + no + any + 2 + + ethernet1/3 + 10 + Health-Check-Probe1 + + + + + + + 10.40.1.1 + + + None + + + no + any + 2 + + ethernet1/3 + 10 + Health-Check-Probe2 + + + + + + + no + any + 2 + + + trust1 + + + None + + 10 + 10.30.1.0/24 + + + + + + + no + any + 2 + + + trust2 + + + None + + 10 + 10.50.1.0/24 + + + + + + + + + ethernet1/3 + loopback.3 + + + + + + + updates.paloaltonetworks.com + + + + + wednesday + 01:02 + download-only + + + + + US/Pacific + + yes + no + + Multi-Nic-ILB + + + yes + no + no + no + + + yes + + + + + yes + 1 + + + + + + yes + + + FQDN + + c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDblNZOFdJbktrdGhVZnExdjFoSnlWdHhCSEpTYlRWQnhTTFBwYXg3MGUwRW5sZVZkdGk0VURLUFplREpQMVVxWjNYWjZIblk0L1NzQnhocFFXeW1LenpNYURqVnZ3TWhtcm04ampXYndRYXlqdEk4UVl0SnZNa1RhcHYwT2hWZTBmUUM5VXdTTnFHZ2FTKzVnUGdJRWVPaTB0a01OeU10VjY2bmhCL05ubktqc3RLSnoxYmt5K3RPUnQyeWNvYmdZWVJMdytRdWVLYmpHTkxFSTcrWkp5ak5URm8rUFAyaFZ4Q3hJL2ZzTnpvcTFjNjgyOXVkcmhwOUZsODhqbGNPSFdsYTUrMnRXS0VNVVRrKzY5eXZ3TmhrL3lvZ2F5VUFZZTJROXpEOG9pb2RzVnZSV29VOTk3dmt6TFE3c3FHT0VTYzk5a0xJTzFWaGtGalZHTDExSnogc3R1ZGVudC0wMy0wYWQ5MTllODQ2NmJAcXdpa2xhYnMubmV0 + + + yes + no + no + no + + + multi-nic-ilb + mgmt-interface-swap + + + + + + + + + + + + + ethernet1/1 + loopback.1 + + + + + + + ethernet1/2 + loopback.2 + + + + + + + ethernet1/3 + loopback.3 + + + + + + + + + 22 + + + + + + + 221 + + + + + + + 222 + + + + + + + + + + + + any + + + Trust1 + Trust2 + + + Health-Check-Group + + + any + + + any + + + any + + + any + + + application-default + + + any + + allow + no + no + + + + any + + + any + + + any + + + any + + + any + + + any + + + any + + + application-default + + + any + + allow + yes + + + + + + + + + + ethernet1/1 + + + + + Trust1 + + + any + + + Testing Network + + + any + + any + no + + + + + + ethernet1/2 + + + + + Trust2 + + + any + + + Production Network + + + any + + any + no + + + + + + + deny + yes + yes + + + allow + yes + yes + + + + + + + + + + + any + + + any + + + critical + + any + client + any + disable + + + + + + + any + + + any + + + high + + any + client + any + disable + + + + + + + any + + + any + + + medium + + any + client + any + disable + + + + + + + any + + + any + + + critical + + any + server + any + disable + + + + + + + any + + + any + + + high + + any + server + any + disable + + + + + + + any + + + any + + + medium + + any + server + any + disable + + + + + + + + + + + + + WW's profile + + + + + +
+ + 35.191.0.0/16 + + + 130.211.0.0/22 + + + 10.50.1.0/24 + + + 10.30.1.0/24 + +
+ + + + ethernet1/1 + loopback.1 + ethernet1/2 + loopback.2 + ethernet1/3 + loopback.3 + + + + + + + Health-Check-Probe1 + Health-Check-Probe2 + + + +
+
+
+
+
diff --git a/gcp/ilbnh-mig/bootstrap_files/init-cfg.txt b/gcp/ilbnh-mig/bootstrap_files/init-cfg.txt new file mode 100644 index 00000000..5b9c168b --- /dev/null +++ b/gcp/ilbnh-mig/bootstrap_files/init-cfg.txt @@ -0,0 +1,10 @@ +type=dhcp-client +ip-address= +default-gateway= +netmask= +ipv6-address= +ipv6-default-gateway= +hostname=packet-mirroring +op-command-modes=mgmt-interface-swap +dns-primary= +dns-secondary= \ No newline at end of file diff --git a/gcp/ilbnh-mig/fw_common.tf b/gcp/ilbnh-mig/fw_common.tf new file mode 100644 index 00000000..aeaa685c --- /dev/null +++ b/gcp/ilbnh-mig/fw_common.tf @@ -0,0 +1,106 @@ +#----------------------------------------------------------------------------------------------- +# Create bootstrap bucket for firewalls +module "bootstrap_common" { + source = "./modules/gcp_bootstrap/" + bucket_name = "fw-bootstrap-common" + file_location = "bootstrap_files/" + config = ["init-cfg.txt", "bootstrap.xml"] +# config = ["init-cfg.txt"] + license = ["authcodes"] +} + +#----------------------------------------------------------------------------------------------- +# Create firewall template +#----------------------------------------------------------------------------------------------- +module "fw_common" { + source = "./modules/vmseries/" + base_name = var.fw_base_name + region = var.region + target_size = var.target_size + zones = [ + data.google_compute_zones.available.names[0], + data.google_compute_zones.available.names[1] + ] + networks = [ + module.vpc0.network_self_link, + module.vpc1.network_self_link, + module.vpc2.network_self_link, + module.vpc3.network_self_link + ] + subnetworks = [ + module.vpc0.subnetwork_self_link, + module.vpc1.subnetwork_self_link, + module.vpc2.subnetwork_self_link, + module.vpc3.subnetwork_self_link + ] + machine_type = var.fw_machine_type + bootstrap_bucket = module.bootstrap_common.bucket_name + mgmt_interface_swap = "enable" + ssh_key = fileexists(var.public_key_path) ? "admin:${file(var.public_key_path)}" : "" + image = "${var.fw_image}-${var.fw_panos}" + nic0_public_ip = false + nic1_public_ip = true + nic2_public_ip = false + nic3_public_ip = false + create_instance_group = true + + dependencies = [ + module.bootstrap_common.completion, + ] +} + +resource "google_compute_health_check" "hc_ssh_22" { + name = "hc-ssh-22" + + tcp_health_check { + port = var.health_check_port + } +} + +module "ilb1" { + source = "./modules/ilbnh/" + name = "ilb1" + project_id = var.project_id + all_ports = true + ports = [] + health_checks = [google_compute_health_check.hc_ssh_22.self_link] + region = var.region + network = module.vpc0.vpc_id + network_uri = module.vpc0.network_self_link + subnetwork = module.vpc0.subnetwork_self_link + ip_address = var.ilb1_ip + group = module.fw_common.vmseries_rigm +} + +module "ilb2" { + source = "./modules/ilbnh/" + name = "ilb2" + project_id = var.project_id + all_ports = true + ports = [] + health_checks = [google_compute_health_check.hc_ssh_22.self_link] + region = var.region + network = module.vpc2.vpc_id + network_uri = module.vpc2.network_self_link + subnetwork = module.vpc2.subnetwork_self_link + ip_address = var.ilb2_ip + group = module.fw_common.vmseries_rigm + } + +#----------------------------------------------------------------------------------------------- +# Create routes route to internal LBs. +resource "google_compute_route" "ilb_nhop_dest_10_30_1" { + name = "ilb-nhop-dest-10-30-1" + dest_range = "10.30.1.0/24" + network = module.vpc2.network_self_link + next_hop_ilb = module.ilb2.forwarding_rule + priority = 99 +} + +resource "google_compute_route" "ilb_nhop_dest_10_50_1" { + name = "ilb-nhop-dest-10-50-1" + dest_range = "10.50.1.0/24" + network = module.vpc0.network_self_link + next_hop_ilb = module.ilb1.forwarding_rule + priority = 99 +} \ No newline at end of file diff --git a/gcp/ilbnh-mig/fw_vpc.tf b/gcp/ilbnh-mig/fw_vpc.tf new file mode 100644 index 00000000..230a66c0 --- /dev/null +++ b/gcp/ilbnh-mig/fw_vpc.tf @@ -0,0 +1,40 @@ +#----------------------------------------------------------------------------------------------- +# Create firewall VPCs & subnets +module "vpc0" { + source = "./modules/vpc/" + vpc = var.vpc0 + subnet = var.vpc0_subnet + cidr = var.vpc0_cidr + region = var.region + allowed_sources = ["0.0.0.0/0"] +} + +module "vpc1" { + source = "./modules/vpc/" + vpc = var.vpc1 + subnet = var.vpc1_subnet + cidr = var.vpc1_cidr + region = var.region + allowed_sources = var.mgmt_sources + allowed_protocol = "TCP" + allowed_ports = ["443", "22"] +} + +module "vpc2" { + source = "./modules/vpc/" + vpc = var.vpc2 + subnet = var.vpc2_subnet + cidr = var.vpc2_cidr + region = var.region + allowed_sources = ["0.0.0.0/0"] +} + +module "vpc3" { + source = "./modules/vpc/" + vpc = var.vpc3 + subnet = var.vpc3_subnet + cidr = var.vpc3_cidr + region = var.region + allowed_sources = ["0.0.0.0/0"] + delete_default_route = true +} diff --git a/gcp/ilbnh-mig/images/curl.png b/gcp/ilbnh-mig/images/curl.png new file mode 100644 index 0000000000000000000000000000000000000000..e17b875c76b91dd7ba187f22307bb22117057dd2 GIT binary patch literal 110327 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

pEYLwfNt?@ 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 B)o%a* literal 0 HcmV?d00001 diff --git a/gcp/ilbnh-mig/images/deployment.png b/gcp/ilbnh-mig/images/deployment.png new file mode 100644 index 0000000000000000000000000000000000000000..636f95d145ff7ce34fff40d880c5241558d28e69 GIT binary patch literal 42593 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 DPSnE@ literal 0 HcmV?d00001 diff --git a/gcp/ilbnh-mig/images/diagram.svg b/gcp/ilbnh-mig/images/diagram.svg new file mode 100644 index 00000000..d68679f4 --- /dev/null +++ b/gcp/ilbnh-mig/images/diagram.svg @@ -0,0 +1,805 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Produced by OmniGraffle 7.9.4 + 2019-11-05 23:49:25 +0000 + + + ilb-as-next-hop + + Layer 1 + + + + + + + + + + Configuration + + + + + + Connectivity + + + + + + + + + + + + GCP Zone + + + + + Page-1 + + Shape + + + + Shape + + + + Shape + + + + Shape + + + Oval + + + + + GCP logo + + Fill-3 + + + + Fill-5 + + + + Fill-7 + + + + Fill-8 + + + + Fill-9 + + + + Fill-10 + + + + Fill-11 + + + + Fill-12 + + + + Fill-13 + + + + Fill-14 + + + + Fill-15 + + + + Fill-16 + + + + Fill-17 + + + + Fill-18 + + + + Fill-19 + + + + Fill-20 + + + + Fill-21 + + + + Fill-22 + + + + Fill-23 + + + + + + zone external - grey + + + Project + + + + zone internal - blue + + + + VPC network: testing + + + + + Fill-7 + + + + + Fill-10 + + + + + Fill-1 + + + + Fill-4 + + + + Fill-7 + + + + Fill-9 + + + + Fill-10 + + + + Fill-11 + + + + Fill-12 + + + + Fill-13 + + + + Fill-14 + + + + Fill-15 + + + + + zone internal - green + + + + Region: us-west1 + + + + zone internal - purple + + + + Subnet: 10.30.1.0/24 + + + + + + + + + + + + + - Destination: 10.50.1.0/24 + - Next-hop-ilb = fr-ilb + + + + + + Static routes + + + + Cloud Routes + + Fill-6 + + + + Fill-8 + + + + Fill-10 + + + + + + + + + + + + + + + + - Destination: 10.30.1.0/24 + - Next hop: virtual network + + + + + Subnet routes + + + + Cloud Routes + + Fill-6 + + + + Fill-8 + + + + Fill-10 + + + + + + + + + + + Shuffle + + + + + VPC Routing + + + + + + + + + + + + + + Forwarding rule name : fr-llb1 + IP address: 10.30.1.99 + + + + + Internal Forwarding Rule + + + + + + Fill-7 + + + + + Fill-10 + + + + + Fill-1 + + + + Fill-4 + + + + Fill-7 + + + + Fill-9 + + + + Fill-10 + + + + Fill-11 + + + + Fill-12 + + + + Fill-13 + + + + Fill-14 + + + + Fill-15 + + + + + zone internal - blue + + + + VPC network:production + + + + + Fill-7 + + + + + Fill-10 + + + + + Fill-1 + + + + Fill-4 + + + + Fill-7 + + + + Fill-9 + + + + Fill-10 + + + + Fill-11 + + + + Fill-12 + + + + Fill-13 + + + + Fill-14 + + + + Fill-15 + + + + + + + + + + + + + + - Destination: 10.50.1.0/24 + - Next hop: virtual network + + + + + + Subnet routes + + + + Cloud Routes + + Fill-6 + + + + Fill-8 + + + + Fill-10 + + + + + + + + + + + + Shuffle + + + + + VPC Routing + + + + + zone internal - green + + + + Region: us-west1 + + + + zone internal - purple + + + + Subnet: 10.50.1.0/24 + + + + zone internal - white + + + + Managed Instance Group + third-party-template + + + + + + + + + + Regional Internal + Backend Service + + + + + + + + + + + Source: 10.30.1.100 + Destination: 10.50.1.100 + + + + + + + + + + + Source address translated + Firewall VM performs SNAT + Source: 10.50.1.x + Destination: 10.50.1.100 + + + + + + nic0 + 10.30.1.x + + + + + nic1 + 10.50.1.x + + + + + + + + + + + + + 10.50.1.100 + + + + + production-vm + + + + Compute Engine + + Fill-1 + + + + Fill-4 + + + + Fill-7 + + + + Fill-9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Stroke-21 + + + + Stroke-22 + + + + + + + + + can_ip_forward: + True + + + + + Firewall + Instances + + + + Compute Engine + + Fill-1 + + + + Fill-4 + + + + Fill-7 + + + + Fill-9 + + + + + + + + + + + + + + + 10.30.1.100 + + + + + + testing-vm + + + + Compute Engine + + Fill-1 + + + + Fill-4 + + + + Fill-7 + + + + Fill-9 + + + + + + + + + + + + + + + diff --git a/gcp/ilbnh-mig/images/directory.png b/gcp/ilbnh-mig/images/directory.png new file mode 100644 index 0000000000000000000000000000000000000000..8317ff94877d939332bb36ee9667da0300638300 GIT binary patch literal 29114 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�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 literal 0 HcmV?d00001 diff --git a/gcp/ilbnh-mig/images/fwlogs.png b/gcp/ilbnh-mig/images/fwlogs.png new file mode 100644 index 0000000000000000000000000000000000000000..52ea690c4cad067d3f73d2be6b2a2cc8d22e65ad GIT binary patch literal 46103 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 literal 0 HcmV?d00001 diff --git a/gcp/ilbnh-mig/modules/gcp_bootstrap/main.tf b/gcp/ilbnh-mig/modules/gcp_bootstrap/main.tf new file mode 100644 index 00000000..a93e7956 --- /dev/null +++ b/gcp/ilbnh-mig/modules/gcp_bootstrap/main.tf @@ -0,0 +1,85 @@ +locals { + bucket_name = join("", [var.bucket_name, random_string.randomstring.result]) +} +resource "random_string" "randomstring" { + length = 25 + min_lower = 15 + min_numeric = 10 + special = false +} + +resource "google_storage_bucket" "bootstrap" { + name = local.bucket_name + force_destroy = true +} + +resource "google_storage_bucket_object" "config_full" { + count = length(var.config) > 0 ? length(var.config) : "0" + name = "config/${element(var.config, count.index)}" + source = "${var.file_location}${element(var.config, count.index)}" + bucket = google_storage_bucket.bootstrap.name +} + +resource "google_storage_bucket_object" "content_full" { + count = length(var.content) > 0 ? length(var.content) : "0" + name = "content/${element(var.content, count.index)}" + source = "${var.file_location}${element(var.content, count.index)}" + bucket = google_storage_bucket.bootstrap.name +} + +resource "google_storage_bucket_object" "license_full" { + count = length(var.license) > 0 ? length(var.license) : "0" + name = "license/${element(var.license, count.index)}" + source = "${var.file_location}${element(var.license, count.index)}" + bucket = google_storage_bucket.bootstrap.name +} + +resource "google_storage_bucket_object" "software_full" { + count = length(var.software) > 0 ? length(var.software) : "0" + name = "software/${element(var.software, count.index)}" + source = "${var.file_location}${element(var.software, count.index)}" + bucket = google_storage_bucket.bootstrap.name +} + +resource "google_storage_bucket_object" "config_empty" { + count = length(var.config) == 0 ? 1 : 0 + name = "config/" + content = "config/" + bucket = google_storage_bucket.bootstrap.name +} + +resource "google_storage_bucket_object" "content_empty" { + count = length(var.content) == 0 ? 1 : 0 + name = "content/" + content = "content/" + bucket = google_storage_bucket.bootstrap.name +} + +resource "google_storage_bucket_object" "license_empty" { + count = length(var.license) == 0 ? 1 : 0 + name = "license/" + content = "license/" + bucket = google_storage_bucket.bootstrap.name +} + +resource "google_storage_bucket_object" "software_empty" { + count = length(var.software) == 0 ? 1 : 0 + name = "software/" + content = "software/" + bucket = google_storage_bucket.bootstrap.name +} + +resource "null_resource" "dependency_setter" { + depends_on = [ + google_storage_bucket.bootstrap, + google_storage_bucket_object.config_full, + google_storage_bucket_object.content_full, + google_storage_bucket_object.license_full, + google_storage_bucket_object.software_full, + google_storage_bucket_object.config_empty, + google_storage_bucket_object.content_empty, + google_storage_bucket_object.license_empty, + google_storage_bucket_object.software_empty, + ] +} + diff --git a/gcp/ilbnh-mig/modules/gcp_bootstrap/outputs.tf b/gcp/ilbnh-mig/modules/gcp_bootstrap/outputs.tf new file mode 100644 index 00000000..ef7f162d --- /dev/null +++ b/gcp/ilbnh-mig/modules/gcp_bootstrap/outputs.tf @@ -0,0 +1,8 @@ +output completion { + value = null_resource.dependency_setter.id +} + +output bucket_name { + value = google_storage_bucket.bootstrap.name +} + diff --git a/gcp/ilbnh-mig/modules/gcp_bootstrap/variables.tf b/gcp/ilbnh-mig/modules/gcp_bootstrap/variables.tf new file mode 100644 index 00000000..0db2b8fd --- /dev/null +++ b/gcp/ilbnh-mig/modules/gcp_bootstrap/variables.tf @@ -0,0 +1,24 @@ +variable bucket_name { +} + +variable file_location { +} + +variable config { + type = list(string) + default = [] +} + +variable content { + type = list(string) + default = [] +} + +variable license { + type = list(string) + default = [] +} + +variable software { + default = [] +} diff --git a/gcp/ilbnh-mig/modules/ilbnh/main.tf b/gcp/ilbnh-mig/modules/ilbnh/main.tf new file mode 100644 index 00000000..e3491df0 --- /dev/null +++ b/gcp/ilbnh-mig/modules/ilbnh/main.tf @@ -0,0 +1,27 @@ +#----------------------------------------------------------------------------------------------- +# Create the internal load balancers, one for the testing network and one for the production network. +# This resource will destroy (potentially immediately) after null_resource.next +resource "google_compute_region_backend_service" "default" { + provider = "google-beta" + name = var.name + project = var.project_id + load_balancing_scheme = "INTERNAL" + health_checks = var.health_checks + region = var.region + network = var.network_uri + + backend { + group = var.group + } +} + +resource "google_compute_forwarding_rule" "default" { + name = "fr-${var.name}" + region = var.region + load_balancing_scheme = "INTERNAL" + backend_service = google_compute_region_backend_service.default.id + all_ports = var.all_ports + network = var.network + subnetwork = var.subnetwork + ip_address = var.ip_address +} \ No newline at end of file diff --git a/gcp/ilbnh-mig/modules/ilbnh/outputs.tf b/gcp/ilbnh-mig/modules/ilbnh/outputs.tf new file mode 100644 index 00000000..d99cc408 --- /dev/null +++ b/gcp/ilbnh-mig/modules/ilbnh/outputs.tf @@ -0,0 +1,3 @@ +output forwarding_rule { + value = google_compute_forwarding_rule.default.self_link +} \ No newline at end of file diff --git a/gcp/ilbnh-mig/modules/ilbnh/variables.tf b/gcp/ilbnh-mig/modules/ilbnh/variables.tf new file mode 100644 index 00000000..585f8276 --- /dev/null +++ b/gcp/ilbnh-mig/modules/ilbnh/variables.tf @@ -0,0 +1,41 @@ +variable project_id { +} + +variable region { +} + +variable name { +} + +variable health_checks { + type = list(string) + default = [] +} + +variable group { +} + +variable subnetwork { +} + +variable ip_address { + default = null +} + +variable ip_protocol { + default = "TCP" +} +variable all_ports { + type = bool +} +variable ports { + type = list(string) + default = [] +} + +variable network { + default = null +} + +variable network_uri { +} \ No newline at end of file diff --git a/gcp/ilbnh-mig/modules/vm/main.tf b/gcp/ilbnh-mig/modules/vm/main.tf new file mode 100644 index 00000000..fff23b2e --- /dev/null +++ b/gcp/ilbnh-mig/modules/vm/main.tf @@ -0,0 +1,34 @@ +resource "google_compute_instance" "default" { + count = length(var.names) + name = element(var.names, count.index) + machine_type = var.machine_type + zone = element(var.zones, count.index) + can_ip_forward = false + allow_stopping_for_update = true + metadata_startup_script = var.startup_script + + metadata = { + serial-port-enable = true + ssh-keys = var.ssh_key + } + + network_interface { + dynamic "access_config" { + for_each = var.server_public_ip ? [""] : [] + content {} + } + subnetwork = element(var.subnetworks, count.index) + network_ip = element(var.server_ips, count.index) + + } + + boot_disk { + initialize_params { + image = var.image + } + } + + service_account { + scopes = var.scopes + } +} \ No newline at end of file diff --git a/gcp/ilbnh-mig/modules/vm/outputs.tf b/gcp/ilbnh-mig/modules/vm/outputs.tf new file mode 100644 index 00000000..75856670 --- /dev/null +++ b/gcp/ilbnh-mig/modules/vm/outputs.tf @@ -0,0 +1,7 @@ +output vm_names { + value = google_compute_instance.default.*.name +} + +output vm_self_link { + value = google_compute_instance.default.*.self_link +} \ No newline at end of file diff --git a/gcp/ilbnh-mig/modules/vm/variables.tf b/gcp/ilbnh-mig/modules/vm/variables.tf new file mode 100644 index 00000000..76b51bf5 --- /dev/null +++ b/gcp/ilbnh-mig/modules/vm/variables.tf @@ -0,0 +1,44 @@ +variable names { + type = list(string) +} + +variable machine_type { +} + +variable zones { + type = list(string) +} +variable ssh_key { + default = "" +} +variable image { +} + +variable subnetworks { + type = list(string) +} + +variable server_ips { + type = list(string) +} + +variable scopes { + type = list(string) + + default = [ + "https://www.googleapis.com/auth/cloud.useraccounts.readonly", + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/logging.write", + "https://www.googleapis.com/auth/monitoring.write", + ] +} + +variable startup_script { + default = "" +} + +variable server_public_ip { + type = bool + default = false +} + diff --git a/gcp/ilbnh-mig/modules/vmseries/main.tf b/gcp/ilbnh-mig/modules/vmseries/main.tf new file mode 100644 index 00000000..0b78dd00 --- /dev/null +++ b/gcp/ilbnh-mig/modules/vmseries/main.tf @@ -0,0 +1,84 @@ +resource "google_compute_instance_template" "vmseries" { + name = "vmseries-template" + description = "This template is used to create firewall instances." + instance_description = "VM-Series for ILBNH" + region = var.region + machine_type = var.machine_type + min_cpu_platform = var.cpu_platform + can_ip_forward = true + tags = var.tags + + scheduling { + automatic_restart = true + on_host_maintenance = "MIGRATE" + } + + metadata = { + mgmt-interface-swap = var.mgmt_interface_swap + vmseries-bootstrap-gce-storagebucket = var.bootstrap_bucket + serial-port-enable = true + ssh-keys = var.ssh_key + } + + service_account { + scopes = var.scopes + } + + network_interface { + + dynamic "access_config" { + for_each = var.nic0_public_ip ? [""] : [] + content {} + } + subnetwork = var.subnetworks[0] + } + + network_interface { + dynamic "access_config" { + for_each = var.nic1_public_ip ? [""] : [] + content {} + } + subnetwork = var.subnetworks[1] + } + + network_interface { + dynamic "access_config" { + for_each = var.nic2_public_ip ? [""] : [] + content {} + } + subnetwork = var.subnetworks[2] + } + + network_interface { + dynamic "access_config" { + for_each = var.nic3_public_ip ? [""] : [] + content {} + } + subnetwork = var.subnetworks[3] + } + + disk { + source_image = var.image + type = var.disk_type + } + + lifecycle { + create_before_destroy = "true" + } +} + +resource "google_compute_region_instance_group_manager" "vmseries_rigm" { + name = "vmseries-rigm" + base_instance_name = var.base_name + region = var.region + target_size = var.target_size + + version { + instance_template = google_compute_instance_template.vmseries.self_link + } + + named_port { + name = "http" + port = "80" + } +} \ No newline at end of file diff --git a/gcp/ilbnh-mig/modules/vmseries/outputs.tf b/gcp/ilbnh-mig/modules/vmseries/outputs.tf new file mode 100644 index 00000000..11bd3b53 --- /dev/null +++ b/gcp/ilbnh-mig/modules/vmseries/outputs.tf @@ -0,0 +1,3 @@ +output vmseries_rigm { + value = google_compute_region_instance_group_manager.vmseries_rigm.instance_group +} \ No newline at end of file diff --git a/gcp/ilbnh-mig/modules/vmseries/variables.tf b/gcp/ilbnh-mig/modules/vmseries/variables.tf new file mode 100644 index 00000000..271a7b55 --- /dev/null +++ b/gcp/ilbnh-mig/modules/vmseries/variables.tf @@ -0,0 +1,121 @@ +variable networks { + type = list(string) +} + +variable subnetworks { + type = list(string) +} + +variable base_name { +} + +variable machine_type { +} + +variable region { +} + +variable zones { + type = list(string) +} + +variable cpu_platform { + default = "Intel Broadwell" +} +variable disk_type { + default = "pd-ssd" +} +variable bootstrap_bucket { + default = "" +} + +variable ssh_key { + default = "" +} + +variable public_lb_create { + default = false +} + +variable target_size { + default = "1" +} + +variable scopes { + type = list(string) + + default = [ + "https://www.googleapis.com/auth/compute.readonly", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly", + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/logging.write", + "https://www.googleapis.com/auth/monitoring.write", + ] +} + +variable image { +} + +variable tags { + type = list(string) + default = [] +} + +variable create_instance_group { + type = bool + default = false +} + +variable instance_group_names { + type = list(string) + default = ["vmseries-instance-group"] +} + +variable dependencies { + type = list(string) + default = [] +} + +variable mgmt_interface_swap { + default = "" +} + +variable nic0_ip { + type = list(string) + default = [""] +} + +variable nic1_ip { + type = list(string) + default = [""] +} + +variable nic2_ip { + type = list(string) + default = [""] +} + +variable nic3_ip { + type = list(string) + default = [""] +} + +variable nic0_public_ip { + type = bool + default = false +} + +variable nic1_public_ip { + type = bool + default = false +} + +variable nic2_public_ip { + type = bool + default = false +} + +variable nic3_public_ip { + type = bool + default = false +} \ No newline at end of file diff --git a/gcp/ilbnh-mig/modules/vpc/main.tf b/gcp/ilbnh-mig/modules/vpc/main.tf new file mode 100644 index 00000000..6c681d08 --- /dev/null +++ b/gcp/ilbnh-mig/modules/vpc/main.tf @@ -0,0 +1,25 @@ +resource "google_compute_network" "default" { + name = var.vpc + delete_default_routes_on_create = var.delete_default_route + auto_create_subnetworks = false +} + +resource "google_compute_subnetwork" "default" { + name = var.subnet + ip_cidr_range = var.cidr + region = var.region + network = google_compute_network.default.self_link +} + +resource "google_compute_firewall" "default" { + count = length(var.allowed_sources) != 0 ? 1 : 0 + name = "${google_compute_network.default.name}-ingress" + network = google_compute_network.default.self_link + direction = "INGRESS" + source_ranges = var.allowed_sources + + allow { + protocol = var.allowed_protocol + ports = var.allowed_ports + } +} \ No newline at end of file diff --git a/gcp/ilbnh-mig/modules/vpc/outputs.tf b/gcp/ilbnh-mig/modules/vpc/outputs.tf new file mode 100644 index 00000000..dbf7ed78 --- /dev/null +++ b/gcp/ilbnh-mig/modules/vpc/outputs.tf @@ -0,0 +1,29 @@ +output network_self_link { +# value = google_compute_network.default.*.self_link + value = google_compute_network.default.self_link +} + +output subnetwork_id { + value = google_compute_subnetwork.default.*.id +} + +output subnetwork_name { + value = google_compute_subnetwork.default.*.name +} + +output subnetwork_self_link { +# value = google_compute_subnetwork.default.*.self_link + value = google_compute_subnetwork.default.self_link +} + +output vpc_name { + value = google_compute_network.default.*.name +} + +output vpc_id { + value = google_compute_network.default.*.id[0] +} + +output vpc_self_link { + value = google_compute_network.default.*.self_link[0] +} \ No newline at end of file diff --git a/gcp/ilbnh-mig/modules/vpc/variables.tf b/gcp/ilbnh-mig/modules/vpc/variables.tf new file mode 100644 index 00000000..04407a0d --- /dev/null +++ b/gcp/ilbnh-mig/modules/vpc/variables.tf @@ -0,0 +1,29 @@ +variable vpc { +} + +variable subnet { +} + +variable cidr { +} + +variable region { +} + +variable allowed_sources { + type = list(string) + default = [] +} + +variable allowed_protocol { + default = "all" +} + +variable allowed_ports { + type = list(string) + default = [] +} + +variable delete_default_route { + default = "false" +} \ No newline at end of file diff --git a/gcp/ilbnh-mig/project.tf b/gcp/ilbnh-mig/project.tf new file mode 100644 index 00000000..a65b533f --- /dev/null +++ b/gcp/ilbnh-mig/project.tf @@ -0,0 +1,15 @@ +terraform { + required_version = ">= 0.12" +} + +provider "google" { + credentials = var.auth_file + project = var.project_id + region = var.region +} + +provider "google-beta" { + version = "> 2.50.0" +} + +data "google_compute_zones" "available" {} \ No newline at end of file diff --git a/gcp/ilbnh-mig/scripts/showheaders.php b/gcp/ilbnh-mig/scripts/showheaders.php new file mode 100644 index 00000000..19c37318 --- /dev/null +++ b/gcp/ilbnh-mig/scripts/showheaders.php @@ -0,0 +1,62 @@ + + SOURCE & DESTINATION ADDRESSES +
'; +echo ''. "INTERVAL" .': '. $time .'
'; +$localIPAddress = getHostByName(getHostName()); +$sourceIPAddress = getRealIpAddr(); +echo ''. "SOURCE IP" .': '. $sourceIPAddress .'
'; +echo ''. "LOCAL IP" .': '. $localIPAddress .'
'; + +$vm_name = gethostname(); +echo ''. "VM NAME" .': '. $vm_name .'
'; +echo ''. '
'; +echo ' + HEADER INFORMATION +
'; +/* All $_SERVER variables prefixed with HTTP_ are the HTTP headers */ +foreach ($_SERVER as $header => $value) { + if (substr($header, 0, 5) == 'HTTP_') { + /* Strip the HTTP_ prefix from the $_SERVER variable, what remains is the header */ + $clean_header = strtolower(substr($header, 5, strlen($header))); + + /* Replace underscores by the dashes, as the browser sends them */ + $clean_header = str_replace('_', '-', $clean_header); + + /* Cleanup: standard headers are first-letter uppercase */ + $clean_header = ucwords($clean_header, " \t\r\n\f\v-"); + + /* And show'm */ + echo ''. $header .': '. $value .'
'; + } +} +?> diff --git a/gcp/ilbnh-mig/scripts/webserver-startup.sh b/gcp/ilbnh-mig/scripts/webserver-startup.sh new file mode 100644 index 00000000..a19aefe9 --- /dev/null +++ b/gcp/ilbnh-mig/scripts/webserver-startup.sh @@ -0,0 +1,9 @@ +#!/bin/bash +until sudo apt-get update; do echo "Retrying"; sleep 2; done +until sudo apt-get install -y php; do echo "Retrying"; sleep 2; done +until sudo apt-get install -y apache2; do echo "Retrying"; sleep 2; done +until sudo apt-get install -y libapache2-mod-php; do echo "Retrying"; sleep 2; done +until sudo rm -f /var/www/html/index.html; do echo "Retrying"; sleep 2; done +until sudo wget -O /var/www/html/index.php https://raw.githubusercontent.com/wwce/terraform/master/gcp/adv_peering_4fw_2spoke/scripts/showheaders.php; do echo "Retrying"; sleep 2; done +until sudo systemctl restart apache2; do echo "Retrying"; sleep 2; done +until sudo apt-get autoremove -y --purge sshguard; do echo "Retrying"; sleep 2; done \ No newline at end of file diff --git a/gcp/ilbnh-mig/servers.tf b/gcp/ilbnh-mig/servers.tf new file mode 100644 index 00000000..fe563ba5 --- /dev/null +++ b/gcp/ilbnh-mig/servers.tf @@ -0,0 +1,29 @@ +#----------------------------------------------------------------------------------------------- +# Create N webservers in one subnet. N is determined by the number of hostnames in the list +module "server1" { + source = "./modules/vm/" + names = var.server1_vms + zones = [data.google_compute_zones.available.names[0]] + subnetworks = [module.vpc0.subnetwork_self_link] + server_ips = var.server1_ips + server_public_ip = var.server_public_ip + machine_type = var.server_size + image = var.server_image + ssh_key = fileexists(var.public_key_path) ? "${var.server_user}:${file(var.public_key_path)}" : "" + startup_script = file("${path.module}/scripts/webserver-startup.sh") +} + +#----------------------------------------------------------------------------------------------- +# Create X webservers in another subnet. X is determined by the number of hostnames in the list +module "server2" { + source = "./modules/vm/" + names = var.server2_vms + zones = [data.google_compute_zones.available.names[0]] + subnetworks = [module.vpc2.subnetwork_self_link] + server_ips = var.server2_ips + server_public_ip = var.server_public_ip + machine_type = var.server_size + image = var.server_image + ssh_key = fileexists(var.public_key_path) ? "${var.server_user}:${file(var.public_key_path)}" : "" + startup_script = file("${path.module}/scripts/webserver-startup.sh") +} \ No newline at end of file diff --git a/gcp/ilbnh-mig/terraform.tfvars b/gcp/ilbnh-mig/terraform.tfvars new file mode 100644 index 00000000..31dd7687 --- /dev/null +++ b/gcp/ilbnh-mig/terraform.tfvars @@ -0,0 +1,48 @@ +project_id = "" +auth_file = "" +public_key_path = "" # Your SSH Key + +#fw_panos = "byol-904" # Uncomment for PAN-OS 9.0.4 - BYOL +fw_panos = "bundle1-904" # Uncomment for PAN-OS 9.0.4 - PAYG Bundle 1 +#fw_panos = "bundle2-904" # Uncomment for PAN-OS 9.0.4 - PAYG Bundle 2 + + +#------------------------------------------------------------------- +region = "us-central1" + +vpc0 = "testing" +vpc0_subnet = "testing-subnet" +vpc0_cidr = "10.30.1.0/24" + +vpc1 = "mgmt" +vpc1_subnet = "mgmt-subnet" +vpc1_cidr = "10.60.1.0/24" + +vpc2 = "production" +vpc2_subnet = "production-subnet" +vpc2_cidr = "10.50.1.0/24" + +vpc3 = "production2" +vpc3_subnet = "production2-subnet" +vpc3_cidr = "10.40.1.0/24" + +fw_base_name = "vmseries" +fw_machine_type = "n1-standard-4" +target_size = "1" + +mgmt_sources = ["0.0.0.0/0"] +health_check_port = "22" +all_ports = true + +server_user = "demo" +server_size = "f1-micro" +server_image = "ubuntu-os-cloud/ubuntu-1604-lts" +server_public_ip = true +server1_vms = ["testing-vm"] +server1_ips = ["10.30.1.100"] + +server2_vms = ["production-vm"] +server2_ips = ["10.50.1.100"] + +ilb1_ip = "10.30.1.99" +ilb2_ip = "10.50.1.99" diff --git a/gcp/ilbnh-mig/variables.tf b/gcp/ilbnh-mig/variables.tf new file mode 100644 index 00000000..98a46495 --- /dev/null +++ b/gcp/ilbnh-mig/variables.tf @@ -0,0 +1,122 @@ +variable project_id { + description = "GCP Project ID" +} + +variable auth_file { + description = "GCP Project auth file" + default = "" +} + +variable region { +} + +variable fw_panos { + description = "VM-Series license and PAN-OS (ie: bundle1-814, bundle2-814, or byol-814)" +} + +variable fw_image { + default = "https://www.googleapis.com/compute/v1/projects/paloaltonetworksgcp-public/global/images/vmseries" +} + +variable fw_base_name { +} + +variable target_size { +} + +variable fw_machine_type { +} + +variable mgmt_sources { + type = list(string) +} + +variable health_check_port { + description = "Port the ILB will health check" + default = "22" +} + +variable all_ports { + description = "Enable all ports on the ILB" + default = true +} +variable vpc1 { +} + +variable vpc1_subnet { +} + +variable vpc1_cidr { +} + +variable vpc0 { +} + +variable vpc0_subnet { +} + +variable vpc0_cidr { +} + +variable vpc2 { +} + +variable vpc2_subnet { +} + +variable vpc2_cidr { +} + +variable vpc3 { +} + +variable vpc3_subnet { +} + +variable vpc3_cidr { +} + +variable server1_vms { + type = list(string) +} + +variable server1_ips { + type = list(string) +} + +variable server2_vms { + type = list(string) +} + +variable server_user { + description = "SSH user for Linux VM" +} + +variable server2_ips { + type = list(string) +} + +variable server_size { + description = "Machine size for the server VMs" +} + +variable server_image { + description = "OS image for server installation" +} + +variable server_public_ip { + description = "Should we assign a public IP to the server" + default = false +} + +variable public_key_path { + description = "Local path to public SSH key. If you do not have a public key, run >> ssh-keygen -f ~/.ssh/demo-key -t rsa -C admin" +} + +variable ilb1_ip { + description = "IP address for ILB1" +} + +variable ilb2_ip { + description = "IP address for ILB2" +}