Automatice las operaciones de AWS infraestructura con Amazon Bedrock - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Automatice las operaciones de AWS infraestructura con Amazon Bedrock

Ishwar Chauthaiwale y Anand Bukkapatnam Tirumala, Amazon Web Services

Resumen

En las soluciones nativas en la nube, la automatización de las operaciones de infraestructura comunes desempeña un papel fundamental a la hora de mantener entornos eficientes, seguros y rentables. La gestión manual de las operaciones lleva mucho tiempo y es propensa a errores humanos. Además, los miembros del equipo con distintos niveles de AWS experiencia deben realizar estas tareas y, al mismo tiempo, garantizar el cumplimiento de los protocolos de seguridad. Este patrón demuestra cómo usar Amazon Bedrock para automatizar las operaciones de AWS infraestructura comunes mediante el procesamiento del lenguaje natural (NLP).

Este patrón puede ayudar a las organizaciones a desarrollar código reutilizable, modular y seguro para implementar una infraestructura basada en IA generativa en varios entornos. Al centrarse en la infraestructura como código (IaC) y en la automatización, ofrece DevOps beneficios clave, como el control de versiones, las implementaciones coherentes, la reducción de los errores, el aprovisionamiento más rápido y la mejora de la colaboración.

El patrón implementa una arquitectura segura que permite a los equipos gestionar las operaciones relacionadas con aspectos clave, entre los que se incluyen: Servicios de AWS

  • Administración del control de versiones para un bucket de Amazon Simple Storage Service (Amazon S3)

  • Creación de instantáneas de Amazon Relational Database Service (Amazon RDS)

  • Administración de instancias de Amazon Elastic Compute Cloud (Amazon EC2)

La arquitectura emplea puntos finales de Amazon Virtual Private Cloud (Amazon VPC) y redes privadas para una comunicación segura, con AWS Lambda funciones que funcionan como ejecutores de tareas dentro de subredes privadas. Amazon S3 proporciona administración de datos e implementa funciones y permisos integrales AWS Identity and Access Management (IAM) para garantizar los controles de acceso adecuados. Esta solución no incluye una característica de historial de chat y el chat no se almacena.

Requisitos previos y limitaciones

Versiones de producto

  • Amazon Titan Text Embeddings V2

  • Anthropic Claude 3.5 Sonnet or Claude 3 Haiku

  • Terraform AWS Provider versión 4 o posterior

  • Terraform versión 1.5.7 o posterior

Arquitectura

En el siguiente diagrama se muestran los componentes de la arquitectura y el flujo de trabajo de esta aplicación.

Flujo de trabajo para automatizar operaciones comunes de infraestructura de AWS mediante Amazon Bedrock.

La arquitectura de la solución consta de varias capas que funcionan juntas para procesar las solicitudes en lenguaje natural y ejecutar las operaciones correspondientes AWS :

  1. El usuario realiza solicitudes de operaciones a través de la consola de chat de Amazon Bedrock.

  2. El chatbot utiliza las bases de conocimiento de Amazon Bedrock para procesar las solicitudes. Implementa el modelo Amazon Titan Text Embeddings v2 para el procesamiento del lenguaje natural.

  3. Si la petición del usuario incluye una solicitud de acción, el grupo de acción de Amazon Bedrock utiliza el modelo Anthropic Claude 3 Haiku o Claude 3.5 Sonnet (según su elección) como lógica de ejecución y define las operaciones mediante un esquema OpenAPI.

  4. El grupo de acción llega a los puntos de conexión de Amazon VPC mediante una comunicación AWS PrivateLink de servicio segura.

  5. Se accede a la AWS Lambda función a través de los puntos de conexión de Amazon VPC para los servicios de Amazon Bedrock.

  6. Las funciones de Lambda son el motor de ejecución principal. Según la solicitud, la función de Lambda llama a la API para realizar acciones en los Servicios de AWS. La función de Lambda también gestiona el enrutamiento y la ejecución de las operaciones.

  7. Se Servicios de AWS realizan la solicitud de obtención de la API de la función Lambda y las operaciones correspondientes.

  8. La función de Lambda calcula una carga útil de salida que Amazon Bedrock entiende.

  9. Esta carga útil se envía a Amazon Bedrock mediante una comunicación PrivateLink de servicio segura. El modelo de lenguaje de gran tamaño (LLM) que usa Amazon Bedrock comprende esta carga útil y la convierte en un formato comprensible para las personas.

  10. A continuación, el resultado se muestra al usuario en la consola de chat de Amazon Bedrock.

La solución permite las siguientes operaciones principales:

  • Amazon S3: permite habilitar el control de versiones en bucket.

  • Amazon RDS: permite crear instantáneas de bases de datos para realizar copias de seguridad.

  • Amazon EC2: permite enumerar las instancias y controlar el inicio y la parada de estas.

Tools (Herramientas)

Servicios de AWS

  • Amazon Bedrock es un servicio totalmente gestionado que pone a su disposición modelos básicos de alto rendimiento (FMs) de las principales empresas emergentes de IA y Amazon a través de una API unificada.

  • AWS Command Line Interface (AWS CLI) es una herramienta de código abierto que le ayuda a interactuar Servicios de AWS mediante comandos en su consola de línea de comandos.

  • Amazon Elastic Compute Cloud (Amazon EC2) brinda capacidad de computación escalable en la Nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.

  • AWS Identity and Access Management (IAM) le ayuda a administrar de forma segura el acceso a sus AWS recursos al controlar quién está autenticado y autorizado a usarlos.

  • AWS Lambda es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.

  • Amazon OpenSearch Serverless es una configuración sin servidor bajo demanda para Amazon OpenSearch Service.

  • AWS PrivateLinkle ayuda a crear conexiones unidireccionales y privadas desde sus nubes privadas virtuales (VPCs) a servicios externos a la VPC.

  • Amazon Relational Database Service (Amazon RDS) lo ayuda a configurar, utilizar y escalar una base de datos relacional en la Nube de AWS.

  • Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos basado en la nube que lo ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.

  • AWS Systems Manager lo ayuda a administrar las aplicaciones y la infraestructura que se ejecutan en la Nube de AWS. Simplifica la administración de aplicaciones y recursos, reduce el tiempo necesario para detectar y resolver problemas operativos y le ayuda a administrar sus AWS recursos de forma segura y a escala.

  • Amazon Virtual Private Cloud (Amazon VPC) le ayuda a lanzar AWS recursos en una red virtual que haya definido. Esa red virtual es similar a la red tradicional que utiliza en su propio centro de datos, con los beneficios de usar la infraestructura escalable de AWS.

Otras herramientas

  • Git es un sistema de control de versiones distribuido y de código abierto.

  • Terraform es una herramienta de infraestructura como código (IaC) HashiCorp que le ayuda a crear y administrar recursos locales y en la nube.

Repositorio de código

El código de este patrón está disponible en el repositorio aws-samples/. GitHub infra-ops-orchestrator

Prácticas recomendadas

Epics

TareaDescripciónHabilidades requeridas

Clonar el repositorio.

Para clonar un repositorio en su máquina local, ejecute el siguiente comando:

git clone "git@github.com:aws-samples/infra-ops-orchestrator.git" cd infra-ops-orchestrator
AWS DevOps, DevOps ingeniero

Edite las variables de entorno.

Edite el archivo terraform.tfvars en el directorio raíz del repositorio clonado. Revise los marcadores de posición indicados por [XXXXX] y actualícelos según su entorno.

AWS DevOps, DevOps ingeniero

Cree la infraestructura.

Para crear la infraestructura, ejecute los comandos siguientes:

terraform init
terraform plan

Revise el plan de ejecución detenidamente. Si los cambios planificados son aceptables, ejecute el comando siguiente:

terraform apply --auto-approve
AWS DevOps, DevOps ingeniero
TareaDescripciónHabilidades requeridas

Acceda a la solución.

Tras una implementación correcta, siga estos pasos para utilizar la interfaz basada en el chat:

  1. Para acceder a Infrastructure Orchestrator Assistant, inicie sesión en el rol de Consola de administración de AWS uso de un IAM con los permisos de Amazon Bedrock y abra la consola de Amazon Bedrock en. https://console.aws.amazon.com/bedrock/ En el panel de navegación de la izquierda, seleccione Agentes. A continuación, elija el Asistente orquestador de infraestructuras en la sección Agentes.

  2. Asegúrese de que los recursos de destino existan en su AWS entorno para las siguientes sugerencias y, a continuación, pruebe estas operaciones de ejemplo:

    • Cree una copia de seguridad de una instancia de Amazon RDS solicitando lo siguiente: Crea una instantánea de la instancia de RDS [instance-name].

    • Para habilitar el control de versiones en un bucket de Amazon S3, solicite lo siguiente: Habilita el control de versiones para el bucket [nombre del depósito].

    • Enumere las instancias de Amazon EC2 solicitando lo siguiente: Enumera todas las instancias de EC2.

    • Para iniciar o detener una instancia de Amazon EC2, solicite lo siguiente: Inicia una instancia de EC2 [instance-id] o Detén la instancia EC2 [instance-id].

    Nota: Sustituya los valores entre paréntesis por los nombres de los recursos reales o IDs de su AWS entorno.

AWS DevOps, DevOps ingeniero
TareaDescripciónHabilidades requeridas

Elimine los recursos creados.

Para eliminar toda la infraestructura creada por este patrón, ejecute el comando siguiente:

terraform plan -destroy

Revise el plan de eliminación detenidamente. Si las eliminaciones planificadas son aceptables, ejecute el comando siguiente:

terraform destroy

Nota: Este comando eliminará de forma permanente todos los recursos creados por este patrón. El comando solicitará una confirmación antes de eliminar cualquier recurso.

AWS DevOps, DevOps ingeniero

Resolución de problemas

ProblemaSolución

Comportamiento del agente

Para obtener información sobre este problema, consulte Prueba y solución de problemas del comportamiento de los agentes en la documentación de Amazon Bedrock.

Problemas de la red de Lambda

Para obtener información sobre estos problemas, consulte Solución de problemas de red en Lambda en la documentación de Lambda.

Permisos de IAM

Para obtener información sobre estos problemas, consulte Solución de problemas de IAM en la documentación de IAM.

Recursos relacionados