J'utilise Terraform pour déployer une architecture VPC en étoile où un VPC de transit/gestion/infrastructure sert de concentrateur de communication.AWS avec Terraform: comment mapper des ID VPC pour le peering lorsque chaque VPC est un fichier .tf distinct?
L'organisation du projet est divisée en modules & l'environnement en direct, et l'environnement en direct est divisé de sorte que chaque VPC possède son propre sous-répertoire. Le problème que je rencontre est de récupérer dynamiquement les ID VPC quand je veux créer une ressource d'appairage VPC - évidemment, ce ne serait pas un problème si j'instanciais tous mes modules dans un fichier plat principal.tf, cependant, c'est quelque chose que j'essaie d'éviter.
Est-il possible de résoudre ce problème avec Terraform? Il me semble qu'avec toute solution, je pense à l'exigence de fournir statiquement des données qui mappent deux VPC ensemble, mais le problème est que l'ID VPC est attribuée au moment de la création de la ressource et que je ne saurai pas à l'avance. Dois-je aplatir mes fichiers "live" .tf ou existe-t-il un autre moyen? Est-ce que je fais quelque chose de mal entièrement avec mon modèle de fichier?
Merci!
Pouvez-vous préciser si vous utilisez des modules Terraform ou tout simplement des dossiers avec des fichiers 'tf'? Cela devrait être possible avec des références aux sorties de ressources. La réponse est légèrement différente selon que vous utilisez des modules. Mais si vous utilisez simplement des fichiers 'tf' dans des dossiers, vous pouvez les traiter comme" plats ". Les fichiers sont chargés par ordre alphabétique selon https://www.terraform.io/docs/configuration/load.html. –
Oui, j'utilise des modules. Les fichiers "environnement réel" les fournissent et transmettent les variables nécessaires. Le problème est que si j'utilise le module VPC et instancie "Foo" et "Bar", puis instancie le module d'appairage VPC "Baz" entre "Foo" et "Bar" alors je dois essentiellement avoir tous les VPC instancié dans le même fichier qui est ce que j'essaie d'éviter. Merci pour votre réponse! – tellof