Certificats SSL
Gestion des Certificats SSL
ZoneHero prend en charge TLS pour les connexions sécurisées à vos équilibreurs de charge. Ce guide explique comment configurer et gérer les certificats SSL pour une utilisation avec ZoneHero.
Exigences pour les Certificats
Pour prendre en charge TLS, vous devez placer les certificats dans un secret AWS Secrets Manager avec un chemin commençant par /hlb/
et répliquer le secret dans chaque région où le certificat sera utilisé.
Le secret doit contenir 2 paires clé/valeur :
fullchain.pem
: Chaîne de certificatsprivkey.pem
: Clé privée
Nous recommandons fortement d’utiliser des certificats ECC pour de meilleures performances et des économies de coûts.
Gestion des Certificats
Les certificats peuvent être gérés et renouvelés de la manière que vous jugez appropriée, bien que nous recommandions fortement d’automatiser le processus. ZoneHero vérifie les nouvelles versions de certificats toutes les heures, mais un remplacement plus rapide peut être effectué en créant un secret avec un nouveau nom et en mettant à jour l’équilibreur de charge (cela ne nécessite pas de redémarrage).
Gestion Automatisée des Certificats avec Let’s Encrypt
Il existe un moyen simple de gérer les certificats ECC avec génération automatique depuis Let’s Encrypt en utilisant une fonction Lambda :
Téléchargez la dernière version du zip depuis les versions de certbot-lambda et téléchargez-le dans un bucket S3 que vous possédez.
Utilisez le module Terraform d’exemple pour le déployer :
module "certbot" {
source = "git::https://gitlab.guerraz.net/HLB/hlb-quick-start.git//examples/certbot"
# Required parameters (if you want to override defaults)
aws_region = "eu-west-1"
certbot_emails = "your-email@example.com"
certbot_domains = "yourdomain.example.com"
secret_replica_regions = ["eu-west-1", "eu-central-1", "us-east-1"]
# S3 bucket containing the Lambda zip
certbot_source_bucket = "your-lambda-bucket"
certbot_source_key = "certbot-lambda.zip"
# Optional parameters with their default values
lambda_memory = 256
lambda_timeout = 600
rotation_schedule = "30"
}
Cela va automatiquement :
- Créer et renouveler les certificats Let’s Encrypt
- Les stocker dans AWS Secrets Manager avec le format requis
- Les répliquer dans toutes les régions spécifiées
Limitations
Veuillez noter les limitations suivantes :
- ZoneHero ne prend actuellement pas en charge l’émission de certificats TLS lui-même (bien que nous prévoyions d’ajouter cette fonctionnalité à l’avenir)
- ZoneHero ne prend pas en charge l’utilisation des certificats émis par AWS ACM
Au lieu de cela, vous devez utiliser des certificats stockés dans AWS Secrets Manager comme décrit ci-dessus.