{"id":684,"date":"2021-10-25T06:24:04","date_gmt":"2021-10-25T06:24:04","guid":{"rendered":"https:\/\/www.almtoolbox.com\/fr\/blog\/?p=684"},"modified":"2021-10-25T06:25:50","modified_gmt":"2021-10-25T06:25:50","slug":"building-infrastructure-using-terraform","status":"publish","type":"post","link":"https:\/\/www.almtoolbox.com\/fr\/blog\/building-infrastructure-using-terraform\/","title":{"rendered":"Construire une infrastructure \u00e0 l&#8217;aide de Terraform"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-686\" src=\"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-content\/uploads\/2021\/10\/hashicorp-terraform-logo.jpg\" alt=\"hashicorp terraform logo\" width=\"768\" height=\"232\" srcset=\"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-content\/uploads\/2021\/10\/hashicorp-terraform-logo.jpg 768w, https:\/\/www.almtoolbox.com\/fr\/blog\/wp-content\/uploads\/2021\/10\/hashicorp-terraform-logo-300x91.jpg 300w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/p>\n<p>Voici deux cas d&#8217;utilisation r\u00e9els o\u00f9 nous avons aid\u00e9 nos clients \u00e0 cr\u00e9er une \u00ab\u00a0Infrastructure en tant que code\u00a0\u00bb \u00e0 l&#8217;aide de Terraform.<\/p>\n<h3>1. Client dans le domaine\u00a0 des \u00e9conomies d&#8217;\u00e9nergie et de l&#8217;IoT<\/h3>\n<p>Le client dispose d&#8217;une application Web cr\u00e9\u00e9e \u00e0 l&#8217;aide de GitLab CI. Le client utilise AWS comme infrastructure avec Cloud Front, S3, Route 53 et un fournisseur DNS externe. Il\u00a0 devait \u00eatre capables de mettre en place un environnement rapidement et de mani\u00e8re coh\u00e9rente sans \u00ab magie noire \u00bb.<\/p>\n<p>L&#8217;outil que nous avons choisi avec le client \u00e9tait Terraform. En utilisant Terraform, nous avons cr\u00e9\u00e9 toutes les ressources pour que l&#8217;application puisse s&#8217;ex\u00e9cuter. Nous avons trait\u00e9 des probl\u00e8mes de s\u00e9curit\u00e9 (par exemple, le compartiment S3 devait \u00eatre priv\u00e9 mais toujours accessible au CloudFront), de mise en cache et plus encore.<\/p>\n<p>Nous avons utilis\u00e9 le compartiment S3 pour conserver l&#8217;\u00e9tat de Terraform afin que le script puisse s&#8217;ex\u00e9cuter partout et nous avons utilis\u00e9 DynamoDB pour nous assurer que le script Terraform ne s&#8217;ex\u00e9cutera pas en parall\u00e8le, m\u00eame \u00e0 partir de diff\u00e9rentes machines.<\/p>\n<p>Avec le script Terraform et l&#8217;espace de travail Terraform, le client peut d\u00e9sormais cr\u00e9er et g\u00e9rer plusieurs environnements et peut \u00eatre s\u00fbr que tous sont exactement les m\u00eames.<\/p>\n<h3>2. Client\u00a0: solution comm\u00e9morative bas\u00e9e sur le Web<\/h3>\n<p>Dans ce projet, nous avons utilis\u00e9 Terraform pour contr\u00f4ler l&#8217;infrastructure sur AWS et DigitalOcean.<\/p>\n<p>Nous avons cr\u00e9\u00e9 un cluster Kubernetes et utilis\u00e9 l&#8217;int\u00e9gration Terraform Helm3 pour installer des applications d&#8217;infrastructure telles que la surveillance et des bases de donn\u00e9es telles que la recherche Elastic, MySQL et etc.<\/p>\n<p>Sur AWS, nous avons cr\u00e9\u00e9 l&#8217;infrastructure pour prendre en charge le client WEB qui comprenait Cloudfront et S3.<\/p>\n<p>Le script Terraform prend en charge les variables d&#8217;environnement et utilise l&#8217;espace de travail Terraform pour pouvoir cr\u00e9er plusieurs environnements (Test et production)<\/p>\n<p>Nous avons utilis\u00e9 le compartiment S3 pour conserver l&#8217;\u00e9tat de Terraform afin que le script puisse s&#8217;ex\u00e9cuter partout et nous avons utilis\u00e9 DynamoDB pour nous assurer que le script Terraform ne s&#8217;ex\u00e9cutera pas en parall\u00e8le, m\u00eame \u00e0 partir de diff\u00e9rentes machines.<\/p>\n<div class=\"alm-box alm-contact\">\n<p>Besoin d&#8217;aide avec Terraform et pour appliquer ses meilleures pratiques ?<br \/>\nNous repr\u00e9sentons officiellement la soci\u00e9t\u00e9 HashiCorp et nous fournissons des services de conseil, de formation, d&#8217;assistance, de services g\u00e9r\u00e9s et de vente de licences d&#8217;abonnement Enterprise \/ cloud.<\/p>\n<h4>Contactez-nous : terraform@almtoolbox.com ou appelez-nous : +33 1 84 17 53 28(France \/Europe)<\/h4>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Voici deux cas d&#8217;utilisation r\u00e9els o\u00f9 nous avons aid\u00e9 nos clients \u00e0 cr\u00e9er une \u00ab\u00a0Infrastructure en tant que code\u00a0\u00bb \u00e0 l&#8217;aide de Terraform. 1. Client dans le domaine\u00a0 des \u00e9conomies d&#8217;\u00e9nergie et de l&#8217;IoT Le client dispose d&#8217;une application Web cr\u00e9\u00e9e \u00e0 l&#8217;aide de GitLab CI. Le client utilise AWS comme infrastructure avec Cloud Front,&hellip; <a class=\"more-link\" href=\"https:\/\/www.almtoolbox.com\/fr\/blog\/building-infrastructure-using-terraform\/\">Continue reading <span class=\"screen-reader-text\">Construire une infrastructure \u00e0 l&#8217;aide de Terraform<\/span> <span class=\"meta-nav\" aria-hidden=\"true\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":686,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[39,42,45,44],"tags":[68,69],"class_list":["post-684","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud","category-devops","category-hashicorp","category-terraform","tag-infrastructure-as-service","tag-use-cases"],"_links":{"self":[{"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/posts\/684","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/comments?post=684"}],"version-history":[{"count":5,"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/posts\/684\/revisions"}],"predecessor-version":[{"id":700,"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/posts\/684\/revisions\/700"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/media\/686"}],"wp:attachment":[{"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/media?parent=684"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/categories?post=684"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/fr\/blog\/wp-json\/wp\/v2\/tags?post=684"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}