Article

Infra de A à Z 010 – Terraform – instance et ip publique

TL;DR

Cette série construit progressivement une infrastructure cloud complète sur Infomaniak Public Cloud. Dans cet épisode, le sujet précis est: Terraform – instance et ip publique. Transformer le sujet "Terraform – instance et ip publique" en ressources OpenStack versionnées: instance, variables, réseau, groupes de sécurité et exposition contrôlée.

La vidéo de référence

Vidéo: https://www.youtube.com/watch?v=bEcdRTODpRk

Playlist complète: https://www.youtube.com/playlist?list=PLn6POgpklwWpehxly1wOT6eB2NvZX9A-X

Le dépôt support est disponible ici: https://gitlab.com/xavki/infrastructure-cloud-infomaniak. Le chapitre correspondant est 09-vpn-terraform-instance.

Objectif précis de l épisode

Transformer le sujet "Terraform – instance et ip publique" en ressources OpenStack versionnées: instance, variables, réseau, groupes de sécurité et exposition contrôlée.

Concrètement, cet épisode sert à passer d une intention formulée dans le titre à une modification vérifiable dans l infrastructure. Le dépôt donne les fichiers, la vidéo donne l ordre de manipulation, et la vérification doit confirmer que la brique fonctionne vraiment.

Terraform – instance et ip publique: c est quoi exactement ?

Dans une infrastructure cloud réelle, chaque épisode ajoute une brique: réseau, compute, sécurité, automatisation, découverte de services, observabilité, sauvegardes ou orchestration. Ici, les outils détectés sont: terraform, openstack, ansible, openvpn, consul, traefik, keycloak, gitlab.

Dans cet épisode, il faut surtout regarder les éléments qui correspondent au titre: les ressources créées ou modifiées, les fichiers du chapitre, les services touchés et la preuve de fonctionnement. Les outils détectés donnent le contexte, mais le fil rouge reste Terraform – instance et ip publique.

Ce que la vidéo cherche à modifier

  • définir ou ajuster les ressources Terraform du chapitre
  • lier les variables Terraform aux paramètres OpenStack attendus
  • préparer les règles réseau nécessaires à l administration et aux services
  • Terraform – instance Installation
  • Créer groupes de sécurité – SSH ouvert
  • Créer groupes de sécurité – pour le service VPN (OpenVPN)
Découvrez  Infra de A à Z 021 - Terraform - Itérer les volumes openstack

Indices extraits des slides

  • Terraform – instance Installation
  • Créer groupes de sécurité – SSH ouvert
  • Créer groupes de sécurité – pour le service VPN (OpenVPN)
  • Créer groupes de sécurité – pour deployer les autres serveurs (Ansible)
  • pour deployer, passer par le VPN

Notions et définitions des outils

  • terraform: Terraform décrit l infrastructure comme du code. Le provider OpenStack transforme des ressources HCL en objets cloud: réseaux, routeurs, instances, volumes, groupes de sécurité.
  • openstack: OpenStack est la couche cloud IaaS: instances, réseaux, routeurs, IP flottantes, groupes de sécurité, volumes et images. Chez Infomaniak Public Cloud, il sert de socle programmable via GUI, CLI, Terraform et API.
  • ansible: Ansible automatise la configuration des machines après leur création. Les playbooks, rôles, inventaires et variables transforment une VM brute en service exploitable.
  • openvpn: OpenVPN fournit un accès réseau privé vers l infrastructure. Dans cette série, il devient un point d entrée pour administrer les machines sans exposer SSH partout.
  • consul: Consul apporte service discovery, DNS interne, health checks et catalogue de services. Il relie machines, proxy, monitoring et automatisation.
  • traefik: Traefik est un reverse proxy dynamique. Il route HTTP/HTTPS vers des backends et peut se configurer via Consul ou annotations Kubernetes.
  • keycloak: Keycloak fournit SSO, realms, clients, rôles, mappings et protocoles OAuth2/OpenID Connect pour centraliser l authentification.
  • gitlab: GitLab apporte forge Git, CI/CD, registry, sauvegardes et workflows d équipe pour industrialiser le code infrastructure et applicatif.

Ces définitions sont volontairement pratiques: elles expliquent à quoi sert l outil dans la chaîne, pas seulement ce qu il est sur le papier.

Points clés à retenir pour cet épisode

  • Comprendre le rôle de Terraform – instance et ip publique dans la progression globale de l infrastructure.
  • Identifier la couche concernée: cloud, automatisation, réseau, service, observabilité ou orchestration.
  • Relier les fichiers du dépôt au résultat attendu sur les machines ou dans le cloud.
  • Séparer clairement la création des ressources cloud du paramétrage applicatif.
  • Vérifier les inventaires, variables et rôles avant de lancer un playbook.

Approfondissement spécifique

Pour Terraform – instance et ip publique, le point central est la traduction entre variables Terraform et objets OpenStack. Le code ne décrit pas seulement une machine: il fixe aussi l image, le flavor, le réseau, les groupes de sécurité et éventuellement l IP publique qui rend l instance joignable.

Découvrez  Infra de A à Z 051 - 50 Logs installation de logrotate avec ansible

Le bon niveau de lecture consiste à suivre le chemin variable -> ressource Terraform -> objet OpenStack -> test réseau. Si une instance existe mais reste injoignable, le problème est souvent dans l IP flottante, la route, le security group ou le réseau attaché.

Exemple de code ou configuration du dépôt

resource "openstack_compute_secgroup_v2" "ssh" {
  name = "ssh-from-all"
  description = "ssh security group"
  rule {
    from_port = 22
    to_port = 22
    ip_protocol = "tcp"
    cidr = "0.0.0.0/0"  #personal ip
  }
}

Cet extrait doit être lu comme un support pédagogique. Avant de l utiliser tel quel, vérifiez les variables, noms de réseau, plages CIDR, identifiants, secrets, régions, images et règles d exposition.

Chemin de diagnostic recommandé

  • relire le plan Terraform avant application
  • vérifier l instance, son réseau et son IP côté OpenStack
  • contrôler que les groupes de sécurité exposent uniquement les ports nécessaires
  • Comparer l état attendu dans le dépôt et l état réel dans le cloud, la machine ou le cluster.
  • Documenter la commande, l écran ou la métrique qui prouve que l étape est fonctionnelle.

Répertoires et commandes utiles

Pièges fréquents

  • ouvrir SSH ou HTTP trop largement
  • confondre IP privée, IP flottante et réseau interne
  • modifier le state Terraform sans comprendre les impacts

Liens utiles externes

Liens internes conseillés

Pour continuer, lire Infra A à Z 011 – Terraform – state distant sur gitlab.

FAQ

Pourquoi utiliser Terraform et Ansible ensemble ?

Terraform est adapté à la création et au cycle de vie des ressources cloud. Ansible est adapté à la configuration des machines et services. Les mélanger sans frontière claire rend les changements difficiles à relire.

Pourquoi Infomaniak/OpenStack dans cette série ?

Infomaniak Public Cloud expose des concepts OpenStack standards: compute, réseau, volumes, security groups, object storage, identity et orchestration. Cela permet d apprendre des notions transférables tout en travaillant sur un fournisseur concret.

Que faut-il sécuriser en premier ?

Les accès: credentials cloud, state Terraform, SSH, VPN, dashboards, secrets Ansible, tokens GitLab, consoles d administration et ports exposés publiquement. Une infrastructure automatisée amplifie aussi les erreurs de sécurité.

Comment savoir si une étape est terminée ?

Chaque étape doit produire une preuve: une ressource visible, un service joignable, une métrique collectée, un backup restaurable, une requête qui répond ou un déploiement qui converge.

Conclusion

L épisode 10 s inscrit dans une progression complète: construire, automatiser, sécuriser, observer et exploiter une infrastructure cloud. Le dépôt Xavki donne les exemples concrets, la documentation Infomaniak/OpenStack donne le cadre fournisseur, et le deep dive permet de comprendre le rôle des outils au lieu de seulement rejouer des commandes.

Explorer les formations Xavki

Pour apprendre dans l ordre, repartez depuis la roadmap ou une playlist thematique.