Présentation du provider Terraform DNScale : le DNS as Code
Gérez votre infrastructure DNS avec Terraform. Automatisez la création de zones, la gestion des enregistrements et la configuration DNSSEC en un seul terraform apply.
Avez-vous déjà rêvé que gérer le DNS soit aussi simple que terraform apply ? C'est désormais le cas.
Nous avons le plaisir d'annoncer le provider Terraform DNScale officiel, désormais disponible sur le HashiCorp Terraform Registry. Cette version apporte des capacités complètes d'Infrastructure as Code à votre gestion DNS, vous permettant de définir les zones, les enregistrements et la configuration DNSSEC aux côtés du reste de votre infrastructure.
Pourquoi Terraform pour le DNS ?
Le DNS est souvent le grand oublié de l'automatisation d'infrastructure. Les équipes passent des heures à perfectionner leurs pipelines CI/CD, conteneuriser leurs applications et codifier leurs ressources cloud, pour finalement gérer le DNS via des interfaces web en point-and-click ou des scripts API ad hoc.
Le provider Terraform DNScale change la donne. Vous pouvez désormais :
- Versionner votre DNS - Suivez chaque modification dans Git, relisez les changements via des pull requests
- Automatiser les déploiements - Provisionnez des environnements complets avec leur configuration DNS en quelques minutes
- Garantir la cohérence - Utilisez les mêmes schémas DNS en développement, staging et production
- Réduire les erreurs humaines - Laissez Terraform gérer les détails, détectez les erreurs avant la mise en production
- Documenter implicitement - Vos fichiers Terraform deviennent la documentation vivante de votre configuration DNS
Ce que vous pouvez gérer
Le provider vous donne un contrôle complet sur les ressources DNScale :
Zones
Créez et gérez des zones DNS avec attribution automatique des serveurs de noms :
resource "dnscale_zone" "production" {
name = "myapp.com"
region = "eu"
}Enregistrements
Les 14 types d'enregistrements supportés par DNScale, incluant A, AAAA, CNAME, MX, TXT, SRV et bien d'autres :
resource "dnscale_record" "api" {
zone_id = dnscale_zone.production.id
name = "api"
type = "A"
content = "203.0.113.10"
ttl = 300
}DNSSEC
Activez la signature cryptographique des zones avec gestion automatique des clés :
resource "dnscale_dnssec_key" "ksk" {
zone_id = dnscale_zone.production.id
key_type = "ksk"
algorithm = 13
bits = 256
active = true
published = true
}Sources de données
Interrogez les zones, enregistrements et le statut DNSSEC existants pour les utiliser dans vos configurations :
data "dnscale_zones" "all" {}
data "dnscale_records" "production" {
zone_id = dnscale_zone.production.id
}Démarrage rapide
La mise en route ne prend que quelques minutes :
terraform {
required_providers {
dnscale = {
source = "dnscaleou/dnscale"
version = "~> 1.0"
}
}
}
provider "dnscale" {
api_key = var.dnscale_api_key
}
resource "dnscale_zone" "main" {
name = "example.com"
region = "eu"
}
resource "dnscale_record" "www" {
zone_id = dnscale_zone.main.id
name = "www"
type = "A"
content = "192.0.2.1"
ttl = 3600
}Exécutez terraform init puis terraform apply. C'est tout. Votre zone est créée, votre enregistrement est configuré et tout est suivi dans le state.
Cas d'utilisation concrets
Déploiements multi-environnements
Utilisez les workspaces Terraform pour gérer le DNS à travers les environnements :
terraform workspace new staging
terraform apply -var="domain=staging.myapp.com"
terraform workspace new production
terraform apply -var="domain=myapp.com"Déploiements Blue-Green
Basculez le trafic entre les environnements avec un simple changement de variable :
variable "active_environment" {
default = "blue"
}
resource "dnscale_record" "www" {
zone_id = dnscale_zone.main.id
name = "www"
type = "A"
content = var.active_environment == "blue" ? var.blue_ip : var.green_ip
ttl = 60
}Importer l'infrastructure existante
Vous utilisez déjà DNScale ? Importez vos zones et enregistrements existants :
terraform import dnscale_zone.existing abc123-zone-id
terraform import dnscale_record.www abc123-zone-id/def456-record-idConçu pour les équipes
Le workflow Terraform favorise naturellement la collaboration en équipe :
- Proposez des modifications dans une branche dédiée
- Relisez les changements DNS aux côtés du code applicatif
- Appliquez via le CI/CD avec les validations appropriées
- Piste d'audit de qui a modifié quoi et quand
Plus besoin de se demander qui a mis à jour cet enregistrement MX mardi dernier. Chaque modification est documentée, relue et traçable.
Commencez dès aujourd'hui
Le provider Terraform DNScale est disponible dès maintenant :
- Terraform Registry : registry.terraform.io/providers/dnscaleou/dnscale
- Documentation : Docs du provider
- Guide d'apprentissage : Gérer le DNS avec Terraform
- Code source : GitHub
Si vous n'avez pas encore de compte DNScale, inscrivez-vous et récupérez votre clé API depuis le tableau de bord. Votre première zone est offerte.
Et ensuite
Cette version initiale couvre les fonctionnalités principales de DNScale. Nous planifions déjà des améliorations basées sur les retours de la communauté :
- Sources de données supplémentaires pour des requêtes avancées
- Exemples d'intégration avec Terraform Cloud
- Bibliothèque de modules pour les schémas DNS courants
Vous avez une demande de fonctionnalité ? Ouvrez une issue sur GitHub ou contactez notre équipe.
Le DNS as Code n'est plus un simple bonus. C'est la manière dont les équipes modernes gèrent l'infrastructure. Avec le provider Terraform DNScale, votre configuration DNS bénéficie enfin du même traitement que tout le reste de votre stack : versionnée, relue, automatisée et fiable.
Faites terraform apply sur votre DNS dès aujourd'hui.