Presentamos AWS Landing Zone programable en un módulo Terraform

¡Hola a todos! En diciembre, OTUS lanza un nuevo curso: Arquitectura de solución en la nube. Anticipándonos al inicio de este curso, compartimos con ustedes una traducción de material interesante sobre el tema.

Presentamos AWS Landing Zone programable en un módulo Terraform

Zona de aterrizaje de AWS es una solución que ayuda a los clientes a configurar rápidamente un entorno AWS seguro y de múltiples cuentas basado en las mejores prácticas.

Durante más de cinco años, nuestro equipo en Mitoc Group ha trabajado incansablemente para ayudar a grandes organizaciones a transformarse digitalmente y construir o migrar su huella digital a la nube de AWS. En otras palabras, para citar a nuestros amigos de AWS: "Nuestros clientes se están reinventando con AWS". Es un esfuerzo interminable reinventar y simplificar la mecánica en nombre de los propios clientes, y AWS hace un gran trabajo resolviendo problemas complejos con soluciones fáciles de aprender.

Presentamos AWS Landing Zone programable en un módulo Terraform
Zona de aterrizaje de AWS (fuente)

¿Qué es la zona de aterrizaje de AWS?

Según información de una fuente oficial:

AWS Landing Zone es una solución que ayuda a los clientes a configurar rápidamente un entorno de AWS seguro con varias cuentas según las mejores prácticas de AWS. Con tantas opciones, configurar un entorno de múltiples cuentas puede llevar mucho tiempo, implica configurar múltiples cuentas y servicios y requiere un conocimiento profundo de los servicios de AWS.

AWS Landing Zone ha reducido significativamente la complejidad y coherencia de patrones de diseño similares entregados a diferentes clientes. Por otro lado, nuestro equipo tuvo que reconfigurar algunos componentes de CloudFormation como componentes de Terraform para poder utilizarlos más para la automatización.

Entonces nos preguntamos: ¿por qué no crear toda la solución AWS Landing Zone en Terraform? ¿Podemos hacer esto? ¿Resolverá los problemas de nuestros clientes? Spoiler: ¡lo hará y ya está decidiendo! 🙂

¿Cuándo no debería utilizar AWS Landing Zone?

Si se trata de servicios y recursos de nube habituales dentro de una o dos cuentas de AWS, estas medidas pueden resultar excesivas. Cualquiera que no se sienta identificado con este punto puede seguir leyendo :)

¿Qué debes considerar antes de comenzar a trabajar?

Muchas de las grandes organizaciones con las que hemos trabajado ya cuentan con algún tipo de estrategia de nube. Las empresas luchan por implementar con éxito servicios en la nube sin una visión y expectativas claras. Tómese el tiempo para definir su estrategia y comprender cómo encaja AWS en ella.

Al establecer una estrategia, los clientes exitosos de AWS Landing Zone se centran activamente en lo siguiente:

  • La automatización simplemente no es una opción. Se prefiere la automatización nativa de la nube.
  • Los equipos utilizan constantemente la misma mecánica con el mismo conjunto de herramientas para aprovisionar recursos en la nube. Es mejor usar Terraform.
  • Los usuarios de la nube más productivos tienen la capacidad de crear procesos reutilizables y entregarlos como servicios reutilizables en lugar de código reutilizable. Se prefiere la arquitectura sin servidor.

Presentamos el módulo Terraform para AWS Landing Zone

Después de varios meses de arduo trabajo, tengo el placer de presentarles Módulo Terraform para AWS Landing Zone. Código fuente se almacena en GitHub, y versiones de lanzamiento estables publicado en el Registro del módulo Terraform.

Para comenzar, simplemente encienda main.tf a tu código:

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: asegúrese de habilitar variables.tf y todo lo que puedas necesitar de outputs.tf.

Para que sea más fácil de entender, hemos agregado valores predeterminados 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"
  [...]
}

Esto significa que al usar este módulo terraform se necesita:

  1. Cambiar valores account_id и region a los suyos propios, que corresponden a los datos de la Organización AWS;
  2. Cambiar valores landing_zone_components aquellos que coincidan con su caso de uso de AWS Landing Zone;
  3. Изменить s3://terraform-aws-landing-zone/mycompany a tu bloque S3 y prefijo clave S3donde almacenarás los archivos .tfvars (o ruta absoluta a los archivos .tfvars en su almacenamiento local).

Este módulo puede tener decenas, cientos o miles de componentes implementables, pero no todos deberían implementarse ni se implementarán. En tiempo de ejecución, los componentes que no forman parte del mapa de variables landing_zone_components será ignorado.

Conclusión

Estamos encantados y orgullosos de compartir los frutos de nuestros esfuerzos para ayudar a los clientes a desarrollar la automatización nativa de la nube. El módulo Terraform para AWS Landing Zone es otra solución que ayuda a las organizaciones a configurar rápidamente un entorno de AWS seguro con múltiples cuentas según las mejores prácticas de AWS. Somos muy conscientes de que AWS está creciendo a un ritmo increíblemente rápido y estamos comprometidos a desarrollar rápidamente una solución terraform que cubra todas las bases y también se integre con otras soluciones de producción de AWS.

Eso es todo. Esperamos tus comentarios y te invitamos a seminario web gratuito dentro del cual nosotros Estudiaremos el diseño de la arquitectura del dominio Cloud Landing Zone y consideraremos los patrones arquitectónicos de los dominios principales..

Fuente: habr.com

Añadir un comentario