Terraform Provider

Provider Terraform Hero Load Balancer (HLB)

Le Provider Terraform Hero Load Balancer (HLB) est maintenant officiellement disponible sur le Terraform Registry. Le registry est la source recommandée pour la documentation la plus récente et les détails du provider.

Démarrer avec une Configuration Minimale Viable

Pour commencer avec HLB en utilisant Terraform, vous aurez besoin de :

  1. Une application déjà déployée derrière un AWS Application Load Balancer (ALB)
  2. Un certificat TLS (voir Certificats SSL)
  3. Une clé API (voir Clés API)
  4. Avoir complété le processus d’inscription sur AWS marketplace (voir CloudFormation)

Voici une configuration minimale viable pour déployer un HLB avec TLS qui cible le même Target Group que votre ALB existant :

# Variables
variable "zone_id" {
  description = "ID de la zone hébergée Route53"
  type        = string
}

variable "zone_name" {
  description = "Nom de la zone Route53 où les entrées DNS HLB seront créées"
  type        = string
}

variable "subnet_ids" {
  description = "Liste des IDs de sous-réseaux pour l'équilibreur de charge"
  type        = list(string)
}

variable "security_group_id" {
  description = "ID du groupe de sécurité pour l'équilibreur de charge"
  type        = string
}

variable "target_group_arn" {
  description = "ARN du groupe cible vers lequel diriger le trafic"
  type        = string
}

variable "certificate_secrets_name" {
  description = "Nom du secret dans AWS Secrets Manager contenant le certificat SSL"
  type        = string
}

# Équilibreur de charge 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
}

# Écouteur 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
}

# Écouteur HTTPS avec certificat 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
}

Cette configuration :

  1. Crée un HLB dans les sous-réseaux spécifiés avec le groupe de sécurité spécifié
  2. Configure des entrées DNS Route53 dans la zone spécifiée
  3. Configure un écouteur HTTP sur le port 80
  4. Configure un écouteur HTTPS sur le port 443 avec le certificat TLS spécifié
  5. Dirige le trafic vers le même groupe cible que votre ALB existant

Notez qu’il s’agit uniquement d’un exemple minimal, sans launch_config spécifié. Pour des conseils sur la façon de choisir le type d’instance et les valeurs de configuration appropriés pour votre déploiement, veuillez consulter notre documentation sur le Dimensionnement.

Pour des options de configuration plus détaillées et une utilisation avancée, veuillez consulter la documentation officielle sur le Terraform Registry.