un VPC permet de créer un réseau virtuel et de la configurer. C'est une isolation logique. On distingue subnet public avec IP accessible et subnet privée qui a besoin d'une NAT gateway. Terraform est un outil créé par Hashicorp qui fait de l'infra as code. On fait du déclaratif, et terraform se charge de monter/démonter les machines pour nous. Il est compatible multicloud et pas seulement AMAZON.
A l'initialisation, on commence par un
$ terraform init
Puis on va comparer nos fichiers de configurations .tf avec ce qui existe sur le cloud
$ terraform plan
Il existe une commande identique qui applique les modifications du plan. (graphe de dépendances + déploiement)
$ terraform apply
Et le destroy permet de démonter la pf
$ terraform destroy
Le langage est du HCL, et ressemble à du JSON
- Le provider permet de définir le cloud cible
provider "aws" [ ... ]
-
Les ressources permettent de lancer des machines
-
Les variables permettent de mutualiser des infos
-
Les datasources permettent de récupérer des informations auprès du cloud (par exemple un ID de machine sur le cloud)
-
Les outputs permettent d'afficher des infos sur stdout à la fin
-
Les backends permet de sauvegarder l'état de l'infrastucture sur le cloud et évite de perdre le fichier TF local. C'est une ressource partagée par l'équipe.
Terraform est un concurrent de CloudFormation mais Terraform est plus complet