Background Image
PERSPECTIVES TECHNOLOGIQUES

Simplify Fastly CDN with Improving’s Terraform Module

Headshot - Paul Hassinger
Paul Hassinger
Consultant principal
Andy Connor
Principal Consultant

June 20, 2025 | 3 Lecture minute

TL;DR 

Managing CDN configurations manually can be complex and prone to errors. The terraform-fastly-service module, from Improving, simplifies the process by leveraging Infrastructure as Code (IaC) principles with Terraform, enabling scalable, secure, and maintainable Fastly CDN configurations. 

Les défis 

Configuration manuelle Frais généraux:

  • La gestion manuelle des services Fastly peut entraîner des incohérences et des erreurs de déploiement.

Environnements dupliqués:

  • Les environnements partagent des caractéristiques communes qui doivent être répétées manuellement ou par le biais du code.

  • Les environnements sont souvent désynchronisés, ce qui entraîne des comportements imprévisibles.

Lacunes en matière de sécurité et d'observabilité:

  • Il est facile de négliger des configurations critiques telles que la journalisation ou la protection DDoS lors de la gestion de Fastly via l'interface utilisateur.

Solution 

Improving s'ouvre à la communauté open-source. La solution d'Improving est la suivante terraform-fastly-service d'Improving est un module Terraform qui abstrait certaines fonctionnalités de configuration de Fastly via le fournisseur Terraform Fastly. Il introduit une approche claire et facile à maintenir pour gérer les configurations CDN à travers de multiples environnements. Combiné avec Terragrunt, les configurations DRY multi-environnements sont simplifiées. Voir le blog Multiple Environments with Terraform pour plus d'informations sur les configurations DRY multi-environnements.

Le module est disponible à l'adresse suivante

https://github.com/improving-minnesota/terraform-fastly-service/ 

Caractéristiques principales 

Gestion complète de la configuration du CDN:

  • Domaines, backends, équilibrage de charge et contrôles de santé

  • Logique de cache, VCL, Snippets et dictionnaires

  • ACLs réseau, WAF, limitation de débit et protection DDoS

  • Paramètres Gzip et d'optimisation des images

  • Points d'extrémité de journalisation

  • et bien plus encore.

Prise en charge multi-environnements:

  • Déployez des configurations globales partagées avec des dérogations personnalisées pour les environnements de développement, de mise en scène, de production, éphémères ou autres.

  • Créez des modules partagés à utiliser sur différents sites.

Meilleures pratiques de sécurité:

L'accès au contrôle des sources peut être limité par CODEOWNER au niveau de chaque environnement.

Intégration de la journalisation:

Pour commencer 

Prérequis 

  • Terraform

  • Terragrunt (optionnel mais recommandé pour la gestion DRY)

  • Clé API Fastly

Exemple d'utilisation 

module "fastly_service" { 
  source = " git::https://github.com/improving-minnesota/terraform-fastly-service/?ref=v1" 
  fastly_api_key = "your-api-key"  # Or use a variable 
  fastly_domain_names = [ 
    { 
      name = "example.com" 
    } 
  ] 
  fastly_backends = [ 
    { 
      name    = "origin" 
      address = "origin.example.com" 
      port    = 443 
      use_ssl = true 
    } 
  ] 
} 

Meilleures pratiques 

Contrôle de version:

  • Suivez les modifications à l'aide de Git. Examiner et auditer chaque modification.

Séparation des environnements:

  • Utilisez Terragrunt pour supprimer les doublons et isoler les environnements proprement en utilisant la configuration DRY.

Secrets sécurisés:

  • Ne jamais coder en dur les informations d'identification. Utilisez les secrets Github, les coffres-forts ou un gestionnaire de secrets similaire.

Activer la surveillance:

  • La journalisation vers des plateformes d'observabilité assure la traçabilité des problèmes.

Réflexions finales 

Le service terraform-fastly-service offre un moyen structuré et automatisé de gérer les configurations Fastly. Que vous déployiez pour une startup ou une entreprise, l'utilisation de ce module assure :

  • Une base de code modulaire pour des environnements multiples, créant des environnements cohérents, moins de risque de dérive, et dynamiquement extensible à de nouveaux services.

  • La flexibilité nécessaire pour s'adapter aux fonctionnalités d'un environnement unique

  • Fournit des mécanismes pour des flux de travail séparés et sécurisés pour les développeurs

Expérience du développeur facile à comprendre et à maintenir

Et maintenant ? 

L'implémentation de la configuration stockée via les modules Terraform pour piloter vos services Fastly CDN n'est qu'un aspect d'une solution complète. L'intégration du CDN, du WAF, de la gestion des certificats, du stockage d'objets, du calcul, de la détection des robots, de l'observabilité, de la sécurité et de l'automatisation du CICD peut conduire à une solution efficace pour les besoins de votre entreprise.

Besoin d'aide pour l'automatisation de votre CDN ? Contactez Improving.

Improving est une entreprise moderne de services numériques qui fournit des services de logiciels d'entreprise, développementet de formation aux entreprises Fortune 500 et Global 1000 dans le monde entier. Nos solutions innovantes ont aidé des milliers de nos clients à réaliser leurs objectifs tactiques et stratégiques, leur permettant d'atteindre de nouveaux sommets dans un marché compétitif et en constante évolution. Prenez contact avec nous pour découvrir comment nous pouvons transformer votre entreprise.

Perspectives technologiques

Dernières réflexions

Explorez nos articles de blog et laissez-vous inspirer par les leaders d'opinion de nos entreprises.
Thumbnail: Tech Insights
Perspectives technologiques

Simplify Fastly CDN with Improving’s Terraform Module

Discussing the terraform-fastly-service module developed by Improving to simplify Fastly CDN configurations.