lb-internal
GoogleCloudPlatform/lb-internal/google
Creates an internal load balancer for Compute Engine by using forwarding rules
Internal Load Balancer Terraform Module Modular Internal Load Balancer for GCE using forwarding rules. Load Balancer Types TCP load balancer HTTP/S load balancer Internal load balancer** Compatibility This module is meant for use with Terraform 1.3+ and tested using Terraform 1.3+. If you find incompatibilities using Terraform >=1.3, please open an issue. Upgrading The following guides are available to assist with upgrades: - 1.X -> 2.0 - 5.x -> 6.x - 7.x -> 8.x Usage ``hcl module "gce-ilb" { source = "GoogleCloudPlatform/lb-internal/google" version = "~> 6.0" region = var.region name = "group2-ilb" ports = ["80"] source_tags = ["allow-group1"] target_tags = ["allow-group2", "allow-group3"] health_check = { type = "http" check_interval_sec = 1 healthy_threshold = 4 timeout_sec = 1 unhealth
| Name | Type | Description | Default |
|---|---|---|---|
| project_id | string | The project_id to deploy to. | required |
| health_check | object({ type | Health check to determine whether instances are responsive and able to do work | required |
| name | string | Name for the forwarding rule and prefix for supporting resources. | required |
| region | string | Region for cloud resources. | required |
| backends | list(object({ group | List of backends, should be a map of key-value pairs for each backend, must have | required |
| ip_address | string | IP address of the internal load balancer, if empty one will be assigned. Default | null |
| global_access | bool | Allow all regions on the same VPC network access. | false |
| target_tags | list(string) | List of target tags for traffic between the internal load balancer. | [] |
| source_service_accounts | list(string) | List of source service accounts for traffic between the internal load balancer. | null |
| ip_protocol | string | The IP protocol for the backend and frontend forwarding rule. TCP or UDP. | "TCP" |
| service_label | string | Service label is used to create internal DNS name | null |
| connection_draining_timeout_sec | number | Time for which instance will be drained | null |
| ports | list(string) | List of ports to forward to backend services. Max is 5. The `ports` or `all_port | [
"80"
] |
| all_ports | bool | Boolean for all_ports setting on forwarding rule. The `ports` or `all_ports` are | false |
| create_backend_firewall | bool | Controls if firewall rules for the backends will be created or not. Health-check | true |
| labels | map(string) | The labels to attach to resources created by this module. | {} |
| is_mirroring_collector | bool | Indicates whether or not this load balancer can be used as a collector for packe | false |
| subnetwork | string | Name of the subnetwork to create resources in. | "default" |
| network_project | string | Name of the project for the network. Useful for shared VPC. Default is var.proje | "" |
| source_ip_ranges | list(string) | List of source ip ranges for traffic between the internal load balancer. | [] |
| create_health_check_firewall | bool | Controls if firewall rules for the health check will be created or not. If this | true |
| firewall_enable_logging | bool | Controls if firewall rules that are created are to have logging configured. This | false |
| network | string | Name of the network to create resources in. | "default" |
| subnets | list(object({ id = st | Optional: A map containing subnet details Used to derive the subnetwork URI if s | [] |
| session_affinity | string | The session affinity for the backends example: NONE, CLIENT_IP. Default is `NONE | "NONE" |
ip_address — The internal IP assigned to the regional forwarding rule.forwarding_rule — The forwarding rule self_link.forwarding_rule_id — The forwarding rule id.Creates a global HTTP load balancer for Compute Engine by using forwarding rules
Creates a Cloud SQL database instance
Creates a regional TCP proxy load balancer for Compute Engine by using target po
Deploys apps to Cloud Run, along with option to map custom domain