Υποδομή μεγάλου μεγέθους με Terraform
Πηγή: https://github.com/antonbabenko/terraform-best-practices/tree/master/examples/large-terraform
Αυτό το παράδειγμα περιέχει κώδικα ως παράδειγμα δόμησης των ρυθμίσεων της Terraform για μια υποδομή μεγάλου μεγέθους που χρησιμοποιεί:
2 λογαριασμούς AWS
2 regions
2 ξεχωριστά περιβάλλοντα (
prod
καιstage
που δεν διαμοιράζονται τίποτα). Κάθε περιβάλλον ζει σε ξεχωριστό λογαριασμό AWS και καλύπτει πόρους μεταξύ 2 regionsΚάθε περιβάλλον χρησιμοποιεί διαφορετική έκδοση της έτοιμης μονάδας υποδομής (
alb
) που προέρχεται από το Terraform Registry.Κάθε περιβάλλον χρησιμοποιεί την ίδια έκδοση μιας εσωτερικής μονάδας
modules/network
, καθώς προέρχεται από έναν τοπικό κατάλογο.
Σε ένα μεγάλο έργο όπως αυτό που περιγράφεται εδώ, τα οφέλη από τη χρήση της Terragrunt γίνονται πολύ ορατά. Ανατρέξτε στην ενότητα Παραδείγματα Δομών Κώδικα με Terragrunt.
Ιδανικό για έργα όπου η υποδομή είναι λογικά διαχωρισμένη (ξεχωριστοί λογαριασμοί AWS)
Καλό όταν δεν υπάρχει ανάγκη τροποποίησης πόρων που διαμοιράζονται μεταξύ λογαριασμών AWS (ένα περιβάλλον = ένας λογαριασμός AWS = ένα αρχείο κατάστασης)
Καλό όταν δεν υπάρχει ανάγκη για την ενορχήστρωση των αλλαγών μεταξύ των περιβαλλόντων
Καλό όταν οι πόροι υποδομής είναι διαφορετικοί ανά περιβάλλον επίτηδες και δεν μπορούν να γενικευτούν (π.χ. κάποιοι πόροι απουσιάζουν από ένα περιβάλλον ή από ορισμένες περιοχές)
Καθώς το έργο μεγαλώνει, θα είναι πιο δύσκολο να διατηρούνται αυτά τα περιβάλλοντα ενημερωμένα μεταξύ τους. Εξετάστε το ενδεχόμενο χρήσης μονάδων υποδομής (έτοιμων ή εσωτερικών) για επαναλαμβανόμενες εργασίες.
Last updated