Dans le premier article, nous avons vu la facilité de création des services Cloud à partir du langage Terraform.
L’usage du code permet également de reproduire à l’identique, ainsi que de gérer l’évolution et le versionning des ressources d’Infrastructure.
La version OpenSource montre certaines limites lorsque cette gestion s’opère au sein d’une équipe.
Dans un cadre plus professionnel ou sur un périmètre de ressources important, la version Terraform Cloud (anciennement Terraform Enterprise) sera préférable.
Elle permet entre autre :
- un travail collaboratif
- un versionning « transparent » des sources depuis un repository externe et des synchronisations automatiques
- une sécurisation des accès et des modifications des ressources
- intégration facilité à l’écosystème Hashicorp, avec des services comme Vault, Consul
Création de notre compte Terraform Cloud
L’URL d’accès à TF Cloud est https://app.terraform.io
Choissisez Sign-Up pour créer votre compte, et remplissez les champs demandés.
Un email fonctionnel est recommandé pour l’approche entreprise.
Lors de la création du compte, une première « Organisation » vous sera demandée :
Une fois le compte créé, vos projets pourront être ensuite séparés dans les différentes Organisations que vous créerez. L’Organisation peut être comparée à un service ou une équipe.
Dans chaque Organization, vous pourrez ensuite créer des Workspace, liés à vos scripts Terraform, qui pourraient correspondre à des projets différents, des Cloud Providers ou hébergeurs différents, ou des layers techniques séparées (Infra réseau, base de données, template d’instance applicative, etc.).
J’utilise GitHub comme repository pour mes scripts, un lien sera créé entre TF Cloud et ce repository. Cela permettra de conserver les versions de scripts, et de déclencher par Event Trigger les « terraform apply » lors des Commit sur certaines branches de mes versions de code (branche master par défaut).
Mon repository GitHub.com créé pour cet article est le suivant :
Création du workspace :
En cliquant sur GitHub, je suis redirigé vers github.com pour installation de l’Apps TF Cloud.
Après authentification sur mon compte, je peux configurer les repositories GitHub utilisables par TF Cloud :
Ensuite, au niveau de TF Cloud, je choisis au niveau du Workspace mon repository :
et je nomme mon Workspace.
Voilà, votre premier workspace est créé !
Dans votre Workspace, en cliquant sur Setting, puis General, vous constatez que par défaut, le Workspace est paramétré pour un fonctionnement en remote.
Nous verrons dans les prochains articles comment modifier nos scripts TF locaux pour utiliser le mode remote.