En el variado conjunto de herramientas disponible para implementar la infraestructura en la nube, Agentes de Amazon Bedrock ofrece una opción práctica e innovadora para los equipos que buscan mejorar su Infraestructura como código (IaC) Procesos. Los agentes para Amazon Bedrock automatizan la ingeniería de solicitudes y la orquestación de tareas solicitadas por el usuario. Una vez configurado, un agente crea la solicitud y la amplía con información específica de su empresa para brindar respuestas al usuario en lenguaje natural.
Esta solución muestra cómo se pueden configurar los agentes de Amazon Bedrock para aceptar diagramas de arquitectura en la nube, analizarlos automáticamente y generar Terraform o Formación en la nube de AWS Plantillas. Esta solución utiliza Recuperación Generación Aumentada (RAG) para garantizar que los scripts generados cumplan con las necesidades de la organización y los estándares de la industria. Una característica clave es la capacidad del agente de interactuar dinámicamente con los usuarios. Durante el proceso de generación de IaC, los agentes de Amazon Bedrock buscan activamente información adicional mediante el análisis de los diagramas proporcionados y consultando al usuario para completar los espacios vacíos. Esta interacción permite una configuración de IaC más personalizada y precisa.
La roca madre del Amazonas es un servicio completamente administrado que ofrece una selección de modelos de base (FM) de alto rendimiento de empresas líderes en inteligencia artificial (IA) como AI21 Labs, Anthropic, Cohere, Meta, Mistral AI, Stability AI y Amazon a través de una única API, junto con un amplio conjunto de capacidades que necesita para construir IA generativa aplicaciones con seguridad, privacidad e IA responsable.
En esta publicación del blog, exploramos cómo se pueden usar los agentes para Amazon Bedrock para generar scripts de IaC personalizados y que cumplan con los estándares de la organización directamente desde los diagramas de arquitectura cargados. Esto ayudará a acelerar las implementaciones, reducir los errores y garantizar el cumplimiento de las pautas de seguridad.
Descripción general de la solución
Antes de explorar el proceso de implementación, repasemos los pasos clave de la arquitectura como se ilustra en la Figura 1.
Figura 1: Descripción general de alto nivel de la creación de Infraestructura como código a partir del diagrama de arquitectura
- Entrada inicial a través de la consola de chat de Amazon Bedrock:El usuario comienza ingresando el nombre de su Servicio de almacenamiento simple de Amazon (Amazon S3) bucket y el nombre del objeto (clave) donde se almacena el diagrama de arquitectura en la consola de chat de Amazon Bedrock. Por ejemplo, si un diagrama de arquitectura se guarda como s3://testbucket/diagramaarquitectónico.pngel usuario ingresará Cubo de prueba como el nombre del depósito S3 y Diagrama de arquitectura.png como el nombre del objeto.
- Análisis de diagramas y generación de consultas:El agente de Amazon Bedrock reenvía la ubicación del diagrama de arquitectura a un grupo de acciones que invoca un AWS LambdaEsta función recupera el diagrama de arquitectura del depósito S3 especificado, lo analiza utilizando el modelo de Amazon Bedrock y genera un resumen del diagrama. También genera preguntas sobre los componentes, las dependencias o los valores de parámetros faltantes que se necesitan para crear IaC para los servicios de AWS. Luego, esta respuesta detallada se envía de vuelta al agente.
- Interacción y confirmación del usuario:El agente muestra las preguntas generadas al usuario y registra sus respuestas. A continuación, el agente proporciona un resumen completo del diagrama de arquitectura junto con las entradas adicionales proporcionadas por el usuario. Los usuarios tienen la oportunidad de aprobar esta configuración o sugerir los ajustes necesarios. Al recibir la confirmación del usuario, el agente pasa esta información al segundo grupo de acciones para generar IaC.
- Generación y despliegue de IaC:El segundo grupo de acciones invoca una función Lambda que procesa los datos de entrada del usuario junto con las pautas de codificación específicas de la organización. Bases de conocimiento para Amazon Bedrock para crear el IaC. Una vez generado, el IaC se envía automáticamente a un repositorio de GitHub designado.
Prerrequisitos
Debes tener lo siguiente:
Pasos de implementación
La solución se puede utilizar para crear IaC (mediante Terraform o CloudFormation) ingresando el diagrama de arquitectura. Para el propósito de esta publicación del blog, nos enfocamos en crear Terraform IaC. Hay cuatro pasos para implementar la solución.
Paso 1: Configurar una base de conocimientos de Amazon Bedrock: La configuración de una base de conocimientos (KB) le permite acceder a información sobre los módulos Terraform estándar de la organización. Siga estos pasos para configurar su KB:
- Inicie sesión y vaya a la consola de administración de AWS para Amazon Bedrock. Vaya directamente a la Base de conocimientos Sección. Este es el punto de partida para crear una nueva base de conocimientos.
- Ingrese un nombre claro y descriptivo que refleje el propósito de su base de conocimiento, como Terraform KB.
- Asigna un rol de IAM preconfigurado con los permisos necesarios. Normalmente, es mejor dejar que Amazon Bedrock cree este rol para garantizar que tenga los permisos correctos.
- Defina las fuentes de datos cargando un archivo JSON en un depósito S3 con cifrado habilitado para seguridad. Este archivo debe contener una lista estructurada de servicios de AWS y módulos de Terraform. Para la estructura JSON, utilice el ejemplo proporcionado en el repositorio.
- Elija el modelo de incrustaciones predeterminado. Para la mayoría de los casos de uso, el modelo de incrustaciones de texto de Amazon Bedrock Titan G1 será suficiente. Está preconfigurado y listo para usar, lo que simplifica el proceso.
- Utilice el almacén de vectores administrado para permitir que Amazon Bedrock cree y administre el almacén de vectores para usted en Servicio OpenSearch de Amazon.
- Seleccione la KB y en el Fuente de datos sección, elige Sincronizar para comenzar la ingesta de datos. Cuando se completa la ingesta de datos, aparece un banner verde de éxito si se realizó correctamente.
- Verifique nuevamente que toda la información ingresada sea correcta. Preste especial atención a la URI del depósito S3 y a los detalles del rol de IAM.
Paso 2: Configurar el agente Bedrock:
- Abre el Amazonas Consola Bedrockseleccionar Agentes En el panel de navegación izquierdo, seleccione Crear agente.
- Ingrese los detalles del agente, incluido el nombre y la descripción (opcional).
- A continuación, otorgue al agente permisos para los servicios de AWS a través del rol de servicio de IAM. Esto le otorga a su agente acceso a los servicios necesarios, como Lambda.
- Seleccione un modelo de base de Amazon Bedrock (por ejemplo, Anthropic Claude 3 Sonnet).
- Para crear código Terraform usando Agentes para Amazon Bedrock, adjunte la siguiente instrucción al agente:
“Ayude a los usuarios a crear IaC para el diagrama de arquitectura proporcionado. Solicite al usuario el nombre del depósito S3 y el nombre del objeto donde se almacena el diagrama. Al recibir la información, ejecute el grupo de acciones de análisis-consulta. Brinde un resumen estructurado y pregúntele al usuario solo las preguntas que se reciben de la respuesta del grupo de acciones. Tome las respuestas del usuario y proporciónele un resumen detallado. Obtenga la aprobación del usuario. Cuando se apruebe, proporcione toda esa información al borrador final junto con el nombre del depósito S3, el nombre del objeto como entrada para el grupo de acciones de implementación de iac y ejecute el grupo de acciones”.
Paso 3: Configuración de grupos de acciones del agente: Después de la configuración inicial del agente y de agregar las instrucciones anteriores al agente, hay dos acciones que deben agregarse al agente para crear Terraform IaC pasando un diagrama de arquitectura.
- Cree un grupo de acciones vinculado a una función Lambda (para crear una función Lambda, consulte Introducción a Lambda) que está diseñado para analizar el diagrama de arquitectura y genera preguntas relacionadas con los componentes, dependencias o valores de parámetros faltantes necesarios para la creación de IaC de los servicios de AWS. El agente invoca este grupo después de que el usuario ingresa los detalles del objeto y del depósito de S3. Luego, las respuestas se retransmiten al agente, que lleva a cabo una sesión interactiva para recopilar cualquier información faltante del usuario. Consulte Código Lambda y Esquema OpenAPI en el repositorio.
- Establezca un segundo grupo de acciones vinculado a una función Lambda diferente, responsable de crear el código Terraform y subirlo a un repositorio de GitHub. Este grupo se invoca solo después de que el usuario haya revisado y aprobado la configuración de la infraestructura. Consulte Código Lambda y Esquema OpenAPI en el repositorio.
Etapa 4: Agregue los grupos de acciones al agente:
- Asigna un nombre descriptivo a cada grupo de acciones y detalla sus funciones en los campos de descripción. Esto ayuda a aclarar el propósito de cada grupo dentro del flujo de trabajo.
- Para cada grupo de acciones, seleccione las funciones Lambda adecuadas que haya configurado previamente. Estas funciones ejecutan la lógica empresarial necesaria cuando se invoca una acción. Asegúrese de elegir la versión correcta de cada función Lambda. Para obtener más detalles, consulte la sección sobre Funciones Lambda del Grupo de Acción.
- Proporcione la URI de Amazon S3 que se vincula al esquema de API para cada grupo de acciones. Este esquema debe incluir la descripción, la estructura y los parámetros de la API. La API es fundamental para administrar el flujo de trabajo, como recibir entradas de usuario, invocar funciones Lambda para ejecutar el proceso, validar entradas, iniciar la creación de módulos de Terraform y monitorear el estado de aprovisionamiento. Para obtener más orientación, consulte la sección sobre Grupo de acción Esquemas OpenAPI.
La siguiente captura de pantalla muestra un ejemplo de la interacción del usuario con Agentes para Amazon Bedrock
La siguiente captura de pantalla muestra un ejemplo de salida de Terraform
Limpiar
Los servicios utilizados en esta demostración pueden generar costos. Complete los siguientes pasos para limpiar sus recursos:
- Elimina las funciones Lambda si ya no son necesarias.
- Eliminar grupos de acciones y agentes de Amazon Bedrock que se crearon.
- Vacíe y elimine el depósito S3 utilizado para almacenar el diagrama de arquitectura.
- Elimina los scripts de Terraform generados del repositorio de GitHub.
- Eliminar la base de conocimientos de Amazon Bedrock Lecho de roca si ya no es necesario.
Conclusión
Agentes de Amazon Bedrock usos IA generativa para transformar diagramas de arquitectura en scripts de infraestructura como código (IaC) compatibles para implementaciones de AWS, como Terraform y Formación en la nube de AWSEsta capacidad es una herramienta crucial para los ingenieros que realizan la transición a la nube, ya que acelera el proceso de adopción de la nube y al mismo tiempo garantiza que las implementaciones cumplan con las mejores prácticas establecidas desde el principio.
Gracias a las funciones interactivas de Agents for Amazon Bedrock, la automatización de la generación de IaC no solo agiliza la configuración inicial, sino que también mejora significativamente las operaciones en curso, como la gestión de la infraestructura. Si bien esta publicación se centra en la creación de IaC, las capacidades interactivas de Agents for Amazon Bedrock se pueden utilizar en varios servicios de AWS, lo que proporciona una solución dinámica e integral para administrar y optimizar la infraestructura de la nube.
¿Está listo para optimizar su proceso de implementación en la nube con la IA generativa de La roca madre del Amazonas? Comience por profundizar en el Guía del usuario de Amazon Bedrock para ver cómo puede facilitar la transición de su organización a la nube. Para obtener asistencia especializada, considere contratar los servicios profesionales de AWS para maximizar la eficiencia y los beneficios de usar Amazon Bedrock. Aproveche el potencial de una transformación a la nube rápida, segura y eficiente con Amazon Bedrock. Dé el primer paso hoy y descubra cómo el uso de IA generativa puede revolucionar su enfoque de la infraestructura en la nube.
Sobre el Autor
Akhil Raj Yallamel Akhil es arquitecto de infraestructura en la nube en AWS y se especializa en optimizar las infraestructuras en la nube para mejorar la seguridad de los datos y la rentabilidad. Integra hábilmente soluciones técnicas con estrategias comerciales para crear entornos en la nube escalables, confiables y seguros. Akhil crea soluciones técnicas centradas en los resultados comerciales del cliente, incorporando tecnologías de inteligencia artificial generativa (Gen AI) para impulsar la innovación. Con una profunda experiencia en AWS y una sólida formación en metodologías DevOps en todo el ciclo de vida del desarrollo de software (SDLC), Akhil lidera proyectos críticos de implementación y migración. Tiene una maestría en Ciencias de la Computación. Fuera de su trabajo profesional, a Akhil le gusta ver y practicar deportes.