Construire une infrastructure à l’aide de Terraform

hashicorp terraform logo

Voici deux cas d’utilisation réels où nous avons aidé nos clients à créer une « Infrastructure en tant que code » à l’aide de Terraform.

1. Client dans le domaine  des économies d’énergie et de l’IoT

Le client dispose d’une application Web créée à l’aide de GitLab CI. Le client utilise AWS comme infrastructure avec Cloud Front, S3, Route 53 et un fournisseur DNS externe. Il  devait être capables de mettre en place un environnement rapidement et de manière cohérente sans « magie noire ».

L’outil que nous avons choisi avec le client était Terraform. En utilisant Terraform, nous avons créé toutes les ressources pour que l’application puisse s’exécuter. Nous avons traité des problèmes de sécurité (par exemple, le compartiment S3 devait être privé mais toujours accessible au CloudFront), de mise en cache et plus encore.

Nous avons utilisé le compartiment S3 pour conserver l’état de Terraform afin que le script puisse s’exécuter partout et nous avons utilisé DynamoDB pour nous assurer que le script Terraform ne s’exécutera pas en parallèle, même à partir de différentes machines.

Avec le script Terraform et l’espace de travail Terraform, le client peut désormais créer et gérer plusieurs environnements et peut être sûr que tous sont exactement les mêmes.

2. Client : solution commémorative basée sur le Web

Dans ce projet, nous avons utilisé Terraform pour contrôler l’infrastructure sur AWS et DigitalOcean.

Nous avons créé un cluster Kubernetes et utilisé l’intégration Terraform Helm3 pour installer des applications d’infrastructure telles que la surveillance et des bases de données telles que la recherche Elastic, MySQL et etc.

Sur AWS, nous avons créé l’infrastructure pour prendre en charge le client WEB qui comprenait Cloudfront et S3.

Le script Terraform prend en charge les variables d’environnement et utilise l’espace de travail Terraform pour pouvoir créer plusieurs environnements (Test et production)

Nous avons utilisé le compartiment S3 pour conserver l’état de Terraform afin que le script puisse s’exécuter partout et nous avons utilisé DynamoDB pour nous assurer que le script Terraform ne s’exécutera pas en parallèle, même à partir de différentes machines.

Besoin d’aide avec Terraform et pour appliquer ses meilleures pratiques ?
Nous représentons officiellement la société HashiCorp et nous fournissons des services de conseil, de formation, d’assistance, de services gérés et de vente de licences d’abonnement Enterprise / cloud.

Contactez-nous : terraform@almtoolbox.com ou appelez-nous : +33 1 84 17 53 28(France /Europe)