Logotipo de Zephyrnet

Genere scripts de IaC de aplicaciones personalizados y compatibles para AWS Landing Zone mediante Amazon Bedrock | Servicios web de Amazon

Fecha:

La migración a la nube es un paso esencial para las organizaciones modernas que buscan capitalizar la flexibilidad y la escala de los recursos de la nube. Herramientas como Terraform y Formación en la nube de AWS son fundamentales para dichas transiciones, ya que ofrecen capacidades de infraestructura como código (IaC) que definen y gestionan entornos de nube complejos con precisión. Sin embargo, a pesar de sus beneficios, la curva de aprendizaje de IaC y la complejidad de cumplir con los estándares de seguridad y cumplimiento específicos de su organización y de su industria podrían ralentizar su proceso de adopción de la nube. Las organizaciones suelen contrarrestar estos obstáculos invirtiendo en amplios programas de capacitación o contratando personal especializado, lo que a menudo genera mayores costos y retrasos en los plazos de migración.

Inteligencia artificial generativa (IA) con lecho rocoso del amazonas aborda directamente estos desafíos. Amazon Bedrock es un servicio totalmente administrado que ofrece una selección de modelos básicos (FM) de alto rendimiento de empresas líderes en inteligencia artificial como AI21 Labs, Anthropic, Cohere, Meta, Stability AI y Amazon con una única API, junto con un amplio conjunto de capacidades para crear aplicaciones de IA generativa con seguridad, privacidad e IA responsable. Amazon Bedrock permite a los equipos generar scripts de Terraform y CloudFormation que se adaptan a las necesidades de la organización y, al mismo tiempo, integran a la perfección las mejores prácticas de cumplimiento y seguridad. Tradicionalmente, los ingenieros de la nube que aprenden IaC examinaban manualmente la documentación y las mejores prácticas para escribir scripts de IaC compatibles. Con Amazon Bedrock, los equipos pueden ingresar descripciones arquitectónicas de alto nivel y utilizar IA generativa para generar una configuración básica de los scripts de Terraform. Estos scripts generados están diseñados para cumplir con los requisitos únicos de su organización y al mismo tiempo cumplir con los estándares de seguridad y cumplimiento de la industria. Estos guiones sirven como punto de partida fundamental y requieren mayor refinamiento y validación para garantizar que cumplan con los estándares de nivel de producción.

Esta solución no sólo acelera el proceso de migración sino que también proporciona una infraestructura de nube estandarizada y segura. Además, ofrece a los ingenieros de la nube principiantes borradores de scripts iniciales como plantillas estándar sobre las que desarrollar, lo que facilita su viaje de aprendizaje de IaC.

A medida que navega por las complejidades de la migración a la nube, la necesidad de un entorno estructurado, seguro y compatible es primordial. Zona de aterrizaje de AWS aborda esta necesidad ofreciendo un enfoque estandarizado para implementar recursos de AWS. Esto garantiza que la base de su nube se construya de acuerdo con las mejores prácticas de AWS desde el principio. Con AWS Landing Zone, elimina las conjeturas en las configuraciones de seguridad, el aprovisionamiento de recursos y la administración de cuentas. Es particularmente beneficioso para las organizaciones que buscan escalar sin comprometer la gobernanza o el control, ya que proporciona un camino claro hacia una configuración de nube sólida y eficiente.

En esta publicación, le mostramos cómo generar scripts de IaC personalizados y compatibles para AWS Landing Zone mediante Amazon Bedrock.

Arquitectura de AWS Landing Zone en el contexto de la migración a la nube

AWS Landing Zone puede ayudarle a configurar un entorno de AWS seguro y de múltiples cuentas basado en las mejores prácticas de AWS. Proporciona un entorno básico para comenzar con una arquitectura de múltiples cuentas, automatizar la configuración de nuevas cuentas y centralizar el cumplimiento, la seguridad y la gestión de identidades. El siguiente es un ejemplo de una solución AWS Landing Zone personalizada basada en Terraform, en la que cada aplicación reside en su propia cuenta de AWS.

El flujo de trabajo de alto nivel incluye los siguientes componentes:

  • Aprovisionamiento de módulos – Diferentes equipos de plataformas en diversos dominios, como bases de datos, contenedores, gestión de datos, redes y seguridad, desarrollan y publican módulos certificados o personalizados. Estos se entregan a través de canalizaciones a un registro de módulo privado de Terraform, que la organización mantiene para lograr coherencia y estandarización.
  • Capa de máquina expendedora de cuentas – La capa de máquina expendedora de cuentas (AVM) utiliza Torre de control de AWS, Fábrica de cuentas de AWS para Terraform (AFT), o una solución de zona de aterrizaje personalizada para cuentas de venta. En esta publicación, nos referimos a estas soluciones colectivamente como la capa AVM. Cuando los propietarios de la aplicación envían una solicitud a la capa AVM, esta procesa los parámetros de entrada de la solicitud para aprovisionar una cuenta de AWS de destino. Luego, esta cuenta se suministra con componentes de infraestructura personalizados a través de personalizaciones de AVM, que incluyen Personalizaciones de la torre de control de AWS or personalizaciones AFT.
  • Capa de infraestructura de aplicaciones – En esta capa, los equipos de aplicaciones implementan sus componentes de infraestructura en las cuentas de AWS aprovisionadas. Esto se logra escribiendo código Terraform dentro de un repositorio específico de la aplicación. El código de Terraform recurre a los módulos publicados previamente en el registro privado de Terraform por los equipos de la plataforma.

Superar los desafíos de la migración de IaC local con IA generativa

Los equipos que mantienen aplicaciones locales a menudo encuentran una curva de aprendizaje con Terraform, una herramienta clave para IaC en entornos de AWS. Esta brecha de habilidades puede ser un obstáculo importante en los esfuerzos de migración a la nube. Amazon Bedrock, con sus capacidades de IA generativa, desempeña un papel esencial para mitigar este desafío. Facilita la automatización de la creación de código Terraform para la capa de infraestructura de aplicaciones, lo que permite a los equipos con experiencia limitada en Terraform realizar una transición eficiente a AWS.

Amazon Bedrock genera código Terraform a partir de descripciones arquitectónicas. El código generado es personalizado y estandarizado según las mejores prácticas organizacionales, la seguridad y las pautas regulatorias. Esta estandarización es posible mediante el uso de indicaciones avanzadas junto con Bases de conocimiento para Amazon Bedrock, que almacena información sobre módulos Terraform específicos de la organización. Esta solución utiliza Retrieval Augmented Generation (RAG) para enriquecer el mensaje de entrada a Amazon Bedrock con detalles de la base de conocimientos, asegurando que la configuración de salida de Terraform y el contenido README cumplan con las mejores prácticas y directrices de Terraform de su organización.

El siguiente diagrama ilustra esta arquitectura.

El flujo de trabajo consta de los siguientes pasos:

  1. El proceso comienza con la venta de cuentas, donde los propietarios de aplicaciones envían una solicitud para una nueva cuenta de AWS. Esto invoca el AVM, que procesa los parámetros de solicitud para aprovisionar la cuenta de AWS de destino.
  2. Una descripción de la arquitectura de una aplicación programada para migración se pasa como una de las entradas a la capa AVM.
  3. Una vez aprovisionada la cuenta, se aplican las personalizaciones de AVM. Esto puede incluir Personalizaciones de la torre de control de AWS or personalizaciones AFT que configuran la cuenta con los componentes y configuraciones de infraestructura necesarios de acuerdo con las políticas de la organización.
  4. En paralelo, la capa AVM invoca una función Lambda para generar código Terraform. Esta función enriquece la descripción de la arquitectura con un mensaje personalizado y utiliza RAG para mejorar aún más el mensaje con pautas de codificación específicas de la organización de la base de conocimientos de Bedrock. Esta base de conocimientos incluye mejores prácticas personalizadas, barreras de seguridad y directrices específicas para la organización. Ver un ilustrativo ejemplo de especificaciones y directrices del módulo Terraform específicas de la organización cargadas en la base de conocimientos.
  5. Antes de la implementación, los ingenieros de la nube o un sistema automatizado de revisión de código revisan minuciosamente el borrador inicial del código Terraform para confirmar que cumple con todos los estándares técnicos y de cumplimiento.
  6. Los scripts de Terraform revisados ​​y actualizados se utilizan luego para implementar componentes de infraestructura en la cuenta de AWS recién aprovisionada, configurando los recursos informáticos, de almacenamiento y de red necesarios para la aplicación.

Resumen de la solución

La implementación de AWS Landing Zone utiliza una función Lambda para generar scripts de Terraform a partir de entradas arquitectónicas. Esta función, que es fundamental para la operación, traduce estas entradas en código compatible, utilizando Amazon Bedrock y Knowledge Bases para Amazon Bedrock. Luego, el resultado se almacena en un repositorio de GitHub, correspondiente a la aplicación específica en migración. Las siguientes secciones detallan los requisitos previos y los pasos específicos necesarios para implementar esta solución.

Requisitos previos

Deberías tener lo siguiente:

Configure la función Lambda para generar código personalizado

Esta función Lambda es un componente clave para automatizar la creación de configuraciones Terraform personalizadas y compatibles para servicios de AWS. Envía las configuraciones generadas directamente a un repositorio de GitHub designado, alineándose con las mejores prácticas organizacionales. Para conocer el código de función, consulte lo siguiente Repositorio GitHub. Para crear la función lambda, siga Instrucciones.

El siguiente diagrama ilustra el flujo de trabajo de la función.

El flujo de trabajo incluye los siguientes pasos:

  1. La función es invocada por un evento de la capa AVM que contiene la descripción de la arquitectura.
  2. La función recupera y utiliza definiciones de módulos Terraform de la base de conocimientos.
  3. La función invoca el modelo de Amazon Bedrock dos veces, siguiendo las recomendaciones pautas de ingeniería inmediatas. La función aplica RAG para enriquecer el mensaje de entrada con la información del módulo Terraform, asegurándose de que el código de salida cumpla con las mejores prácticas organizacionales.
    • Primero, genere configuraciones de Terraform siguiendo las pautas de codificación organizacional e incluya detalles del módulo Terraform desde la base de conocimientos. Por ejemplo, el mensaje podría ser: “Generar configuraciones de Terraform para servicios de AWS. Siga las mejores prácticas de seguridad mediante el uso de roles de IAM y permisos con privilegios mínimos. Incluya todos los parámetros necesarios, con valores predeterminados. Agregue comentarios que expliquen la arquitectura general y el propósito de cada recurso”.
    • En segundo lugar, cree un archivo README detallado. Por ejemplo: “Genere un archivo README detallado para la configuración de Terraform basada en los servicios de AWS. Incluya secciones sobre mejoras de seguridad y consejos de optimización de costos siguiendo el marco de buena arquitectura de AWS. Además, incluya un desglose de costos detallado para cada servicio de AWS utilizado con tarifas por hora y costos totales diarios y mensuales ".
  4. Envía la configuración de Terraform generada y el archivo README al repositorio de GitHub, proporcionando trazabilidad y transparencia.
  5. Por último, responde con éxito, incluidas las URL de los archivos de GitHub confirmados o devuelve información de error detallada para solucionar problemas.

Configurar bases de conocimiento para Amazon Bedrock

Siga estos pasos para configurar su base de conocimientos en Amazon Bedrock:

  1. En la consola de Amazon Bedrock, elija Base de conocimiento en el panel de navegación.
  2. Elige Crear base de conocimientos.
  3. Introduzca un nombre claro y descriptivo que refleje el propósito de su base de conocimientos, como Base de conocimientos de configuración de cuentas de AWS para Amazon Bedrock.
  4. Asigne una función de IAM preconfigurada con los permisos necesarios. Por lo general, es mejor dejar que Amazon Bedrock cree esta función para asegurarse de que tenga los permisos correctos.
  5. Cargue un archivo JSON en un depósito S3 con el cifrado habilitado por seguridad. Este archivo debe contener una lista estructurada de servicios de AWS y módulos de Terraform. Para la estructura JSON, utilice lo siguiente ejemplo del repositorio de GitHub.
  6. Elija el modelo de incrustaciones predeterminado.
  7. Permita que Amazon Bedrock cree y administre el almacén de vectores por usted en Servicio Amazon OpenSearch.
  8. Revise la información para verificar su precisión. Preste especial atención al URI del depósito S3 y a los detalles de la función IAM.
  9. Crea tu base de conocimientos.

Después de implementar y configurar estos componentes, cuando su solución AWS Landing Zone invoca la función Lambda, se generan los siguientes archivos:

  • Un archivo de configuración de Terraform – Este archivo especifica la configuración de la infraestructura.
  • Un archivo README completo – Este archivo documenta los estándares de seguridad integrados en el código, confirmando que se alinean con las prácticas de seguridad descritas en las secciones iniciales. Además, este README incluye un resumen arquitectónico, sugerencias de optimización de costos y un desglose detallado de los costos de los recursos descritos en la configuración de Terraform.

La siguiente captura de pantalla muestra un ejemplo del archivo de configuración de Terraform.

La siguiente captura de pantalla muestra un ejemplo del archivo README.

Limpiar

Complete los siguientes pasos para limpiar sus recursos:

  1. Elimine la función Lambda si ya no es necesaria.
  2. Vacíe y elimine el depósito de S3 utilizado para el almacenamiento del estado de Terraform.
  3. Elimine los scripts de Terraform generados y el archivo README del repositorio de GitHub.
  4. Eliminar la base de conocimientos si ya no es necesario.

Conclusión

Las capacidades de IA generativa de Amazon Bedrock no solo agilizan la creación de scripts Terraform compatibles para implementaciones de AWS, sino que también actúan como una ayuda de aprendizaje fundamental para los ingenieros de nube principiantes que realizan la transición de aplicaciones locales a AWS. Este enfoque acelera el proceso de migración a la nube y le ayuda a cumplir con las mejores prácticas. También puede utilizar la solución para proporcionar valor después de la migración, mejorando las operaciones diarias, como la infraestructura continua y la optimización de costos. Aunque en esta publicación nos centramos principalmente en Terraform, estos principios también pueden mejorar sus implementaciones de AWS CloudFormation, proporcionando una solución versátil para sus necesidades de infraestructura.

¿Está listo para simplificar su proceso de migración a la nube con IA generativa en Amazon Bedrock? Comience explorando el Guía del usuario de Amazon Bedrock para comprender cómo puede optimizar el viaje a la nube de su organización. Para obtener más ayuda y experiencia, considere utilizar Servicios profesionales de AWS para ayudarlo a optimizar su viaje de migración a la nube y maximizar los beneficios de Amazon Bedrock.

Libere el potencial de una adopción de la nube rápida, segura y eficiente con Amazon Bedrock. Dé el primer paso hoy y descubra cómo puede mejorar los esfuerzos de transformación de la nube de su organización.


Sobre la autora

Thomas Ebbey se especializa en diseñar estrategias y desarrollar recursos personalizados de AWS Landing Zone con un enfoque en el uso de IA generativa para mejorar la automatización de la infraestructura de la nube. En su puesto en AWS Professional Services, la experiencia de Ebbey es fundamental para diseñar soluciones que agilicen la adopción de la nube, proporcionando un marco operativo seguro y eficiente para los usuarios de AWS. Es conocido por su enfoque innovador ante los desafíos de la nube y su compromiso de impulsar las capacidades de los servicios en la nube.

punto_img

Información más reciente

punto_img