Presentazione di AWS Landing Zone programmabile in un modulo Terraform

Ciao a tutti! A dicembre OTUS lancia un nuovo corso - Architettura della soluzione cloud. In previsione dell'inizio di questo corso, condividiamo con voi la traduzione di materiale interessante sull'argomento.

Presentazione di AWS Landing Zone programmabile in un modulo Terraform

Zona di atterraggio AWS è una soluzione che aiuta i clienti a configurare rapidamente un ambiente AWS multi-account sicuro basato sulle best practice.

Per oltre cinque anni, il nostro team di Mitoc Group ha lavorato instancabilmente per aiutare le grandi organizzazioni a trasformare digitalmente e costruire o migrare con successo la propria impronta digitale nel cloud AWS. In altre parole, per citare i nostri amici di AWS: “I nostri clienti si stanno reinventando con AWS”. Si tratta di uno sforzo incessante per reinventare e semplificare i meccanismi per conto dei clienti stessi e AWS fa un ottimo lavoro nel risolvere problemi complessi con soluzioni facili da apprendere.

Presentazione di AWS Landing Zone programmabile in un modulo Terraform
Zona di atterraggio AWS (fonte)

Cos'è la zona di atterraggio AWS?

Secondo le informazioni di una fonte ufficiale:

AWS Landing Zone è una soluzione che aiuta i clienti a configurare rapidamente un ambiente AWS sicuro con più account in base alle best practice AWS. Con così tante opzioni, la configurazione di un ambiente multi-account può richiedere molto tempo, comportare la configurazione di più account e servizi e richiedere una conoscenza approfondita dei servizi AWS.

AWS Landing Zone ha ridotto significativamente la complessità e la coerenza di modelli di progettazione simili forniti a clienti diversi. D'altro canto, il nostro team ha dovuto riconfigurare alcuni componenti CloudFormation come componenti Terraform per poterli utilizzare ulteriormente per l'automazione.

Quindi ci siamo chiesti: perché non creare l'intera soluzione AWS Landing Zone in Terraform? Possiamo farlo e risolverà i problemi dei nostri clienti? Spoiler: lo farà e lo sta già decidendo! 🙂

Quando non dovresti utilizzare AWS Landing Zone?

Se hai a che fare con servizi cloud regolari e risorse cloud all'interno di uno o due account AWS, queste misure potrebbero essere eccessive. Chiunque non si riferisca a questo punto può continuare a leggere :)

Cosa dovresti considerare prima di iniziare a lavorare?

Molte delle grandi organizzazioni con cui abbiamo lavorato dispongono già di una sorta di strategia cloud. Le aziende faticano a implementare con successo i servizi cloud senza una visione e aspettative chiare. Prenditi il ​​tempo necessario per definire la tua strategia e capire come AWS si inserisce in essa.

Quando impostano una strategia, i clienti di successo di AWS Landing Zone si concentrano attivamente su quanto segue:

  • L’automazione semplicemente non è un’opzione. È preferibile l'automazione nativa del cloud.
  • I team utilizzano costantemente gli stessi meccanismi con lo stesso set di strumenti per fornire risorse cloud. È meglio usare Terraform.
  • Gli utenti cloud più produttivi hanno la capacità di creare processi riutilizzabili e di fornirli come servizi riutilizzabili invece che come codice riutilizzabile. È preferibile l'architettura serverless.

Presentazione del modulo Terraform per AWS Landing Zone

Dopo diversi mesi di duro lavoro, sono lieto di presentarvi Modulo Terraform per AWS Landing Zone. Codice sorgente è archiviato su GitHub e versioni di rilascio stabili pubblicato nel registro del Terraform Module.

Per iniziare, è sufficiente accenderlo main.tf al tuo codice:

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}"
}

Nota: assicurati di abilitare variables.tf e tutto ciò di cui potresti aver bisogno outputs.tf.

Per renderlo più facile da capire, abbiamo aggiunto dei valori predefiniti a 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"
  [...]
}

Ciò significa che quando si utilizza questo modulo terraform avrete bisogno di:

  1. Modificare valori account_id и region al tuo, che corrisponde ai dati nell'AWS Organization;
  2. Modificare valori landing_zone_components quelli che corrispondono al tuo caso d'uso AWS Landing Zone;
  3. Emendare s3://terraform-aws-landing-zone/mycompany al tuo blocco S3 e prefisso chiave S3dove memorizzerai i file .tfvars (o percorso assoluto dei file .tfvars nella memoria locale).

Questo modulo può avere decine, centinaia o migliaia di componenti distribuibili, ma non tutti dovrebbero o saranno distribuiti. In fase di esecuzione, i componenti che non fanno parte della mappa variabile landing_zone_components verrà ignorato.

conclusione

Siamo entusiasti e orgogliosi di condividere i frutti dei nostri sforzi per aiutare i clienti a creare un'automazione nativa del cloud. Il modulo Terraform per AWS Landing Zone è un'altra soluzione che aiuta le organizzazioni a configurare rapidamente un ambiente AWS sicuro con più account in base alle best practice AWS. Siamo ben consapevoli che AWS sta crescendo a un ritmo incredibilmente veloce e ci impegniamo a sviluppare rapidamente una soluzione terraform che copra tutte le basi e si integri anche con altre soluzioni di produzione AWS.

È tutto. Aspettiamo i vostri commenti e vi invitiamo a farlo webinar gratuito all'interno del quale noi Studiamo la progettazione dell'architettura del dominio Cloud Landing Zone e consideriamo i modelli architettonici dei domini principali.

Fonte: habr.com

Aggiungi un commento