Παρουσιάζοντας την προγραμματιζόμενη ζώνη προσγείωσης AWS σε μια μονάδα Terraform

Γεια σε όλους! Τον Δεκέμβριο, το OTUS εγκαινιάζει ένα νέο μάθημα - Cloud Solution Architecture. Εν αναμονή της έναρξης αυτού του μαθήματος, μοιραζόμαστε μαζί σας μια μετάφραση ενδιαφέροντος υλικού για το θέμα.

Παρουσιάζοντας την προγραμματιζόμενη ζώνη προσγείωσης AWS σε μια μονάδα Terraform

Ζώνη Προσγείωσης AWS είναι μια λύση που βοηθά τους πελάτες να δημιουργήσουν γρήγορα ένα ασφαλές περιβάλλον AWS πολλών λογαριασμών με βάση τις βέλτιστες πρακτικές.

Για περισσότερα από πέντε χρόνια, η ομάδα μας στον Όμιλο Mitoc εργάστηκε ακούραστα για να βοηθήσει τους μεγάλους οργανισμούς να μεταμορφωθούν με επιτυχία ψηφιακά και να δημιουργήσουν ή να μεταφέρουν το ψηφιακό τους αποτύπωμα στο cloud AWS. Με άλλα λόγια, για να αναφέρουμε τους φίλους μας στο AWS: «Οι πελάτες μας επανεφευρίσκουν τον εαυτό τους με το AWS». Είναι μια ατέρμονη προσπάθεια για την επανεφεύρεση και την απλούστευση των μηχανικών εκ μέρους των ίδιων των πελατών και το AWS κάνει εξαιρετική δουλειά στην επίλυση σύνθετων προβλημάτων με λύσεις που μπορούν να μάθουν εύκολα.

Παρουσιάζοντας την προγραμματιζόμενη ζώνη προσγείωσης AWS σε μια μονάδα Terraform
Ζώνη Προσγείωσης AWS (πηγή)

Τι είναι η ζώνη προσγείωσης AWS;

Σύμφωνα με πληροφορίες από επίσημη πηγή:

Το AWS Landing Zone είναι μια λύση που βοηθά τους πελάτες να δημιουργήσουν γρήγορα ένα ασφαλές περιβάλλον AWS με πολλούς λογαριασμούς που βασίζονται στις βέλτιστες πρακτικές AWS. Με τόσες πολλές επιλογές, η δημιουργία ενός περιβάλλοντος πολλών λογαριασμών μπορεί να είναι χρονοβόρα, να περιλαμβάνει τη διαμόρφωση πολλών λογαριασμών και υπηρεσιών και να απαιτεί βαθιά κατανόηση των υπηρεσιών AWS.

Το AWS Landing Zone έχει μειώσει σημαντικά την πολυπλοκότητα και τη συνέπεια παρόμοιων σχεδίων σχεδίασης που παραδίδονται σε διαφορετικούς πελάτες. Από την άλλη πλευρά, η ομάδα μας έπρεπε να διαμορφώσει εκ νέου ορισμένα στοιχεία του CloudFormation ως στοιχεία Terraform προκειμένου να τα χρησιμοποιήσει περαιτέρω για αυτοματοποίηση.

Αναρωτηθήκαμε λοιπόν, γιατί να μην δημιουργήσουμε ολόκληρη τη λύση Landing Zone AWS στο Terraform; Μπορούμε να το κάνουμε αυτό και θα λύσει τα προβλήματα των πελατών μας; Spoiler: θα το κάνει και ήδη αποφασίζει! 🙂

Πότε δεν πρέπει να χρησιμοποιείτε το AWS Landing Zone;

Εάν έχετε να κάνετε με τακτικές υπηρεσίες cloud και πόρους cloud σε έναν ή δύο λογαριασμούς AWS, αυτά τα μέτρα μπορεί να είναι υπερβολικά. Όποιος δεν σχετίζεται με αυτό το σημείο μπορεί να συνεχίσει να διαβάζει :)

Τι πρέπει να λάβετε υπόψη πριν ξεκινήσετε την εργασία;

Πολλοί από τους μεγάλους οργανισμούς με τους οποίους έχουμε συνεργαστεί έχουν ήδη κάποιο είδος στρατηγικής cloud. Οι εταιρείες αγωνίζονται να εφαρμόσουν με επιτυχία υπηρεσίες cloud χωρίς σαφές όραμα και προσδοκίες. Αφιερώστε χρόνο για να καθορίσετε τη στρατηγική σας και να κατανοήσετε πώς ταιριάζει το AWS σε αυτήν.

Κατά τον καθορισμό μιας στρατηγικής, οι επιτυχημένοι πελάτες του AWS Landing Zone εστιάζουν ενεργά στα εξής:

  • Ο αυτοματισμός απλά δεν είναι επιλογή. Προτιμάται ο εγγενής αυτοματισμός cloud.
  • Οι ομάδες χρησιμοποιούν με συνέπεια τους ίδιους μηχανισμούς με το ίδιο σύνολο εργαλείων για την παροχή πόρων cloud. Είναι καλύτερα να χρησιμοποιήσετε το Terraform.
  • Οι πιο παραγωγικοί χρήστες cloud έχουν τη δυνατότητα να δημιουργούν επαναχρησιμοποιήσιμες διαδικασίες και να τις παρέχουν ως επαναχρησιμοποιήσιμες υπηρεσίες αντί για επαναχρησιμοποιήσιμο κώδικα. Προτιμάται η αρχιτεκτονική χωρίς διακομιστή.

Παρουσιάζοντας τη μονάδα Terraform για Ζώνη Προσγείωσης AWS

Μετά από αρκετούς μήνες σκληρής δουλειάς, είμαι στην ευχάριστη θέση να σας το παρουσιάσω Μονάδα Terraform για Ζώνη Προσγείωσης AWS. Κωδικός πηγής αποθηκεύεται στο GitHub και εκδόσεις σταθερής έκδοσης δημοσιευμένο στο Terraform Module Registry.

Για να ξεκινήσετε, απλώς ενεργοποιήστε main.tf στον κωδικό σας:

module "landing_zone" {
  source     = "TerraHubCorp/landing-zone/aws"
  version    = "0.0.6"
  root_path  = "${path.module}"
  account_id = "${var.account_id}"
  region     = "${var.region}"
  landing_zone_components = "${var.landing_zone_components}"
}

Σημείωση: Βεβαιωθείτε ότι έχετε ενεργοποιήσει variables.tf και όλα όσα μπορεί να χρειαστείτε από outputs.tf.

Για να γίνει πιο κατανοητό, προσθέσαμε προεπιλεγμένες τιμές σε terraform.tfvars:

account_id = "123456789012"
region = "us-east-1"
landing_zone_components = {
  landing_zone_pipeline_s3_bucket = "s3://terraform-aws-landing-zone/mycompany/landing_zone_pipeline_s3_bucket/default.tfvars"
  [...]
}

Αυτό σημαίνει ότι όταν χρησιμοποιείτε αυτήν την ενότητα terraform θα χρειαστείτε:

  1. Αλλάζω αξίες account_id и region στο δικό σας, που αντιστοιχεί στα δεδομένα στον Οργανισμό AWS·
  2. Αλλάζω αξίες landing_zone_components αυτά που ταιριάζουν με την περίπτωση χρήσης AWS Landing Zone.
  3. τροποποιήσει s3://terraform-aws-landing-zone/mycompany στο μπλοκ σας S3 και το πρόθεμα κλειδιού S3όπου θα αποθηκεύσετε τα αρχεία .tfvars (ή απόλυτη διαδρομή προς αρχεία .tfvars στην τοπική αποθήκευση).

Αυτή η λειτουργική μονάδα μπορεί να έχει δεκάδες, εκατοντάδες ή χιλιάδες εξαρτήματα που μπορούν να αναπτυχθούν, αλλά δεν πρέπει ή πρόκειται να αναπτυχθούν όλα. Κατά το χρόνο εκτέλεσης, στοιχεία που δεν αποτελούν μέρος του μεταβλητού χάρτη landing_zone_components θα αγνοηθεί.

Συμπέρασμα

Είμαστε ενθουσιασμένοι και περήφανοι που μοιραζόμαστε τους καρπούς των προσπαθειών μας για να βοηθήσουμε τους πελάτες να δημιουργήσουν εγγενή αυτοματισμό στο cloud. Η ενότητα Terraform για το AWS Landing Zone είναι μια άλλη λύση που βοηθά τους οργανισμούς να δημιουργήσουν γρήγορα ένα ασφαλές περιβάλλον AWS με πολλούς λογαριασμούς που βασίζονται στις βέλτιστες πρακτικές AWS. Γνωρίζουμε καλά ότι το AWS αναπτύσσεται με απίστευτα γρήγορους ρυθμούς και δεσμευόμαστε να αναπτύξουμε γρήγορα μια λύση terraform που καλύπτει όλες τις βάσεις και επίσης ενσωματώνεται με άλλες λύσεις παραγωγής AWS.

Αυτό είναι όλο. Περιμένουμε τα σχόλιά σας και σας προσκαλούμε δωρεάν διαδικτυακό σεμινάριο εντός των οποίων εμείς Ας μελετήσουμε τον σχεδιασμό της αρχιτεκτονικής τομέα του Cloud Landing Zone και ας εξετάσουμε τα αρχιτεκτονικά μοτίβα των κύριων τομέων.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο