Terraform Provider

Provider Terraform Hero Load Balancer (HLB)

Il Provider Terraform Hero Load Balancer (HLB) è ora ufficialmente disponibile sul Terraform Registry. Il registry è la fonte consigliata per la documentazione più recente e i dettagli del provider.

Iniziare con una Configurazione Minima Funzionante

Per iniziare con HLB utilizzando Terraform, avrai bisogno di:

  1. Un’applicazione già distribuita dietro un AWS Application Load Balancer (ALB)
  2. Un certificato TLS (vedi Certificati SSL)
  3. Una chiave API (vedi Chiavi API)
  4. Aver completato il processo di registrazione su AWS marketplace (vedi CloudFormation)

Ecco una configurazione minima funzionante per distribuire un HLB con TLS che utilizza lo stesso Target Group del tuo ALB esistente:

# Variabili
variable "zone_id" {
  description = "ID della zona ospitata Route53"
  type        = string
}

variable "zone_name" {
  description = "Nome della zona Route53 dove verranno creati i record DNS HLB"
  type        = string
}

variable "subnet_ids" {
  description = "Lista degli ID delle subnet per il bilanciatore del carico"
  type        = list(string)
}

variable "security_group_id" {
  description = "ID del gruppo di sicurezza per il bilanciatore del carico"
  type        = string
}

variable "target_group_arn" {
  description = "ARN del gruppo target verso cui indirizzare il traffico"
  type        = string
}

variable "certificate_secrets_name" {
  description = "Nome del segreto in AWS Secrets Manager contenente il certificato SSL"
  type        = string
}

# Bilanciatore del carico HLB
resource "hlb_load_balancer" "web" {
  name            = "hlb-test-lb"
  subnets         = var.subnet_ids
  security_groups = [var.security_group_id]

  zone_id         = var.zone_id
  zone_name       = var.zone_name
}

# Listener HTTP
resource "hlb_listener_attachment" "web" {
  load_balancer_id = hlb_load_balancer.web.id
  port             = 80
  protocol         = "HTTP"
  target_group_arn = var.target_group_arn
}

# Listener HTTPS con certificato TLS
resource "hlb_listener_attachment" "web_secure" {
  load_balancer_id         = hlb_load_balancer.web.id
  port                     = 443
  protocol                 = "HTTPS"
  target_group_arn         = var.target_group_arn
  certificate_secrets_name = var.certificate_secrets_name
}

Questa configurazione:

  1. Crea un HLB nelle subnet specificate con il gruppo di sicurezza specificato
  2. Configura i record DNS Route53 nella zona specificata
  3. Configura un listener HTTP sulla porta 80
  4. Configura un listener HTTPS sulla porta 443 con il certificato TLS specificato
  5. Indirizza il traffico allo stesso gruppo target del tuo ALB esistente

Nota che questo è solo un esempio minimo, senza launch_config specificato. Per indicazioni su come scegliere il tipo di istanza e i valori di configurazione appropriati per il tuo deployment, consulta la nostra documentazione sul Dimensionamento.

Per opzioni di configurazione più dettagliate e utilizzo avanzato, consulta la documentazione ufficiale sul Terraform Registry.