Présentation de AWS Landing Zone programmable dans un module Terraform

Salut tout le monde! En décembre, OTUS lance un nouveau cours - Architecture de solutions infonuagiques. En prévision du début de ce cours, nous partageons avec vous une traduction de documents intéressants sur le sujet.

Présentation de AWS Landing Zone programmable dans un module Terraform

Zone d'atterrissage AWS est une solution qui aide les clients à configurer rapidement un environnement AWS multi-comptes sécurisé basé sur les meilleures pratiques.

Depuis plus de cinq ans, notre équipe du groupe Mitoc travaille sans relâche pour aider les grandes organisations à réussir leur transformation numérique et à créer ou migrer leur empreinte numérique vers le cloud AWS. En d’autres termes, pour citer nos amis d’AWS : « Nos clients se réinventent avec AWS. » Il s'agit d'un effort sans fin pour réinventer et simplifier les mécanismes au nom des clients eux-mêmes, et AWS fait un excellent travail en résolvant des problèmes complexes avec des solutions faciles à apprendre.

Présentation de AWS Landing Zone programmable dans un module Terraform
Zone d'atterrissage AWS (source)

Qu'est-ce qu'AWS Landing Zone ?

Selon des informations de source officielle :

AWS Landing Zone est une solution qui aide les clients à configurer rapidement un environnement AWS sécurisé avec plusieurs comptes basés sur les meilleures pratiques AWS. Avec autant d'options, la configuration d'un environnement multi-comptes peut prendre du temps, impliquer la configuration de plusieurs comptes et services et nécessiter une compréhension approfondie des services AWS.

AWS Landing Zone a considérablement réduit la complexité et la cohérence des modèles de conception similaires fournis à différents clients. D'un autre côté, notre équipe a dû reconfigurer certains composants CloudFormation en composants Terraform afin de les utiliser davantage à des fins d'automatisation.

Nous nous sommes donc demandé : pourquoi ne pas créer l'intégralité de la solution AWS Landing Zone dans Terraform ? Pouvons-nous faire cela et cela résoudra-t-il les problèmes de nos clients ? Spoiler : il décidera et il est déjà en train de décider ! 🙂

Quand ne devriez-vous pas utiliser AWS Landing Zone ?

Si vous avez affaire à des services cloud et des ressources cloud classiques au sein d'un ou deux comptes AWS, ces mesures peuvent être excessives. Quiconque ne s'intéresse pas à ce point peut continuer à lire :)

Que faut-il considérer avant de commencer à travailler ?

La plupart des grandes organisations avec lesquelles nous avons travaillé ont déjà mis en place une sorte de stratégie cloud. Les entreprises ont du mal à mettre en œuvre avec succès les services cloud sans une vision et des attentes claires. Veuillez prendre le temps de définir votre stratégie et de comprendre comment AWS s'y intègre.

Lorsqu'ils définissent une stratégie, les clients AWS Landing Zone qui réussissent se concentrent activement sur les éléments suivants :

  • L’automatisation n’est tout simplement pas une option. L'automatisation native du cloud est préférable.
  • Les équipes utilisent systématiquement les mêmes mécanismes avec le même ensemble d'outils pour provisionner les ressources cloud. Il est préférable d'utiliser Terraform.
  • Les utilisateurs du cloud les plus productifs ont la possibilité de créer des processus réutilisables et de les fournir sous forme de services réutilisables plutôt que de code réutilisable. L'architecture sans serveur est préférable.

Présentation du module Terraform pour AWS Landing Zone

Après plusieurs mois de travail acharné, j'ai le plaisir de vous présenter Module Terraform pour AWS Landing Zone. Code source est stocké sur GitHub, et versions stables publié sur le registre des modules Terraform.

Pour commencer, allumez simplement main.tf à ton code :

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

Remarque : assurez-vous d'activer variables.tf et tout ce dont vous pourriez avoir besoin outputs.tf.

Pour faciliter la compréhension, nous avons ajouté des valeurs par défaut à 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"
  [...]
}

Cela signifie que lors de l'utilisation de ce module terraform vous devrez:

  1. Changer les valeurs account_id и region aux vôtres, qui correspondent aux données de l'organisation AWS ;
  2. Changer les valeurs landing_zone_components ceux qui correspondent à votre cas d'utilisation AWS Landing Zone ;
  3. Изменить s3://terraform-aws-landing-zone/mycompany à ton bloc S3 et préfixe de clé S3où vous stockerez les fichiers .tfvars (ou chemin absolu vers les fichiers .tfvars dans votre stockage local).

Ce module peut contenir des dizaines, des centaines ou des milliers de composants déployables, mais tous ne devraient pas ou ne seront pas déployés. Au moment de l'exécution, les composants qui ne font pas partie de la mappe de variables landing_zone_components sera ignoré.

Conclusion

Nous sommes ravis et fiers de partager les fruits de nos efforts pour aider nos clients à créer une automatisation native du cloud. Le module Terraform pour AWS Landing Zone est une autre solution qui aide les organisations à configurer rapidement un environnement AWS sécurisé avec plusieurs comptes basés sur les meilleures pratiques AWS. Nous sommes bien conscients qu'AWS se développe à un rythme incroyablement rapide et nous nous engageons à développer rapidement une solution Terraform qui couvre toutes les bases et s'intègre également à d'autres solutions de production AWS.

C'est tout. Nous attendons vos commentaires et vous invitons à webinaire gratuit au sein duquel nous Étudions la conception de l'architecture du domaine Cloud Landing Zone et considérons les modèles architecturaux des principaux domaines.

Source: habr.com

Ajouter un commentaire