RousselTMLEARNING

Automatisation

Terraform sur plusieurs clouds : AWS, Azure, Google Cloud, OVHcloud et Kubernetes

Utiliser Terraform avec les principaux fournisseurs : aws, azurerm, google, ovh et openstack, kubernetes et helm, authentification de chaque fournisseur, alias de fournisseurs pour plusieurs régions ou comptes, et émulateurs pour s'entraîner.

1. Les fournisseurs principaux #

Authentification et exemples.

Tableau #

Fournisseurs Terraform
Le multi-cloud ne veut pas dire code identique : chaque cloud a ses ressources.
FournisseurAuthentification recommandéeRessource exemple
awsRôle IAM (SSO localement, OIDC en CI)aws_s3_bucket
azurermaz login ou identité fédéréeazurerm_storage_account
googlegcloud auth application-default login ou WIFgoogle_storage_bucket
ovh / openstackClé d'API OVHcloud, fichier openrcopenstack_compute_instance_v2
kubernetes / helmkubeconfighelm_release

2. Plusieurs régions ou comptes #

Les alias de fournisseurs.

Exemple #

provider "aws" { region = "eu-west-3" }
provider "aws" {
  alias  = "secours"
  region = "eu-central-1"
}

resource "aws_s3_bucket" "principal" { bucket = "donnees-paris-123" }
resource "aws_s3_bucket" "replique" {
  provider = aws.secours
  bucket   = "donnees-francfort-123"
}

3. S'entraîner sans frais #

Émulateurs et simulations.

Options #

  • LocalStack et tflocal pour le fournisseur aws.
  • Azurite pour le stockage Azure (via le code applicatif), et les modèles Bicep/Terraform validés localement.
  • Émulateurs Google (Pub/Sub, Firestore) pour le code applicatif.
  • mock_provider de terraform test pour n'importe quel fournisseur, y compris openstack et ovh.
  • kind ou k3d pour les fournisseurs kubernetes et helm.

Articles liés

Terraform : principes, architecture et flux de travail

Comprendre Terraform : infrastructure as code déclarative, architecture (cœur, fournisseurs, état), flux init…

Le langage HCL : ressources, variables, sorties, données et expressions

Écrire du Terraform : blocs terraform, provider, resource et data, variables typées avec validation, locals, …

L'état Terraform : backends distants, verrouillage, import et refactorisation

Gérer l'état Terraform : rôle du fichier d'état, données sensibles, backends distants (S3, azurerm, gcs, HCP …

Pour aller plus loin

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !