A medida que su infraestructura de AWS escala, los flujos de trabajo operativos naturalmente se vuelven más complejos. Los ingenieros de SRE y DevOps dedican mucho tiempo al cambio de contexto entre la consola de administración de AWS, la documentación de la CLI y varios paneles de servicio. Traducen manualmente las preguntas comerciales a la sintaxis API correcta, encadenan llamadas entre servicios y reconstruyen los mismos patrones de integración para cada nuevo caso de uso. Esta fricción se agrava con el tiempo. Las investigaciones de incidentes requieren referencias cruzadas de los registros de Amazon CloudWatch, los estados de las instancias de Amazon Elastic Compute Cloud (Amazon EC2) y las políticas de AWS Identity and Access Management (IAM) en interfaces independientes. La planificación de capacidad significa consultar manualmente múltiples servicios y reunir resultados. Las auditorías de seguridad exigen secuencias de llamadas API consistentes y repetibles que requieren mucho tiempo para crear scripts desde cero.
Esta publicación le muestra cómo utilizar Amazon Bedrock AgentCore Runtime con compatibilidad con Model Context Protocol (MCP) para conectar Amazon Quick con los servicios de AWS a través del servidor AWS API MCP, creando un asistente de IA conversacional que traduce el lenguaje natural a comandos de AWS Command Line Interface (AWS CLI), sin la necesidad de cambiar entre herramientas durante los momentos críticos.
Con la compatibilidad con Amazon Bedrock AgentCore Runtime y MCP, las consultas en lenguaje natural se traducen directamente en llamadas API de AWS. Puede preguntar: "Muéstrame todas las instancias EC2 en ejecución en us-east-1" y obtener resultados inmediatos y precisos sin cambiar entre herramientas ni memorizar la sintaxis de la API. Sus solicitudes se ejecutan de forma segura dentro de sus permisos de IAM existentes, con seguimientos de auditoría completos de Amazon CloudWatch para garantizar el cumplimiento. En lugar de reconstruir la lógica de conexión para cada flujo de trabajo, puede estandarizar la forma en que los agentes de IA interactúan con los servicios de AWS a través de una integración única y reutilizable. El siguiente diagrama muestra cómo Amazon Bedrock AgentCore Runtime conecta Amazon Quick con los servicios de AWS a través del servidor MCP API de AWS.
Cómo funciona para las operaciones diarias:
Hace una pregunta en lenguaje natural: "Mostrar instancias EC2 en ejecución en us-east-1". El agente personalizado de Amazon Quick interpreta su intención. Amazon Cognito autentica la solicitud: Quick obtiene un token JWT de su grupo de usuarios de Amazon Cognito utilizando el flujo de credenciales de cliente OAuth 2.0 con el ID de cliente y el secreto de cliente que configuró. El agente se conecta al servidor MCP API de AWS: la solicitud autenticada llega a Amazon Bedrock AgentCore Runtime, que valida el token JWT con la configuración de su proveedor de identidad de Cognito. AgentCore Runtime autoriza y enruta la solicitud: después de validar su token de Cognito, AgentCore Runtime invoca de forma segura el servidor AWS API MCP que se ejecuta en el entorno en contenedores. El servidor MCP traduce su solicitud: su consulta en lenguaje natural se convierte en el comando AWS CLI apropiado. Los servicios de AWS ejecutan el comando: utilizando la función de ejecución de IAM que configuró, el comando se ejecuta con permisos de privilegios mínimos en los servicios de AWS. Los resultados se devuelven en un formato legible: no se requiere sintaxis CLI. Obtendrá resultados estructurados y legibles directamente en su interfaz rápida.
Requisitos previos
Debe tener los siguientes requisitos previos para seguir esta publicación.
Requisitos de cuenta y acceso:
Cuenta de AWS con acceso administrativo Suscripción a Amazon Quick Enterprise (nivel profesional mínimo) Acceso a AWS Marketplace: servidor AWS API MCP Permisos de IAM para crear: Grupos de usuarios de Amazon Cognito Roles y políticas de IAM Amazon Bedrock AgentCore Agentes de tiempo de ejecución Grupos de registros de Amazon CloudWatch
Software y herramientas necesarios:
AWS CLI instalada y configurada (requerido para el paso de codificación de URL en el tutorial)
Conocimientos y experiencia requeridos:
Comprensión básica de las funciones y políticas de IAM (ya enumeradas) Familiaridad con los flujos de autenticación de OAuth 2.0 Comprensión de los conceptos de JWT (JSON Web Token)
Información adicional:
Tiempo de finalización estimado: 30 a 45 minutos Costo mensual estimado: para un único usuario empresarial que ejecuta aproximadamente 500 consultas por mes, el costo estimado es de aproximadamente $292/mes, impulsado principalmente por la suscripción a Amazon Quick Enterprise ($40/usuario/mes) y la tarifa de infraestructura ($250/cuenta/mes).
Configurar la solución
Implementación manual
Para implementar la solución, complete los siguientes pasos:
Configure un grupo de usuarios de Amazon Cognito: para autenticación. Crear roles de IAM: para autorización. Cree un agente de Amazon Bedrock AgentCore Runtime. Configure integraciones en Amazon Quick para AWS API MCP Server. Cree un agente de chat personalizado en Amazon Quick.
Los diseños visuales en algunas capturas de pantalla de esta publicación pueden verse diferentes a los de su Consola de administración de AWS.
Configurar el grupo de usuarios de Amazon Cognito
Amazon Cognito proporciona autenticación y autorización para su aplicación. En esta solución, configura un grupo de usuarios de Cognito para generar tokens JWT que autentican solicitudes en Amazon Bedrock AgentCore Runtime. Con la autenticación JWT mediante Amazon Cognito, usted configura el autorizador durante la operación CreateAgentRuntime, especificando la URL de descubrimiento específica de su proveedor de identidad (IdP) y los clientes permitidos. Su código de agente existente no requiere modificación. Agrega la configuración del autorizador a su implementación en tiempo de ejecución. Cuando una entidad que llama o un usuario invoca a su agente, pasa su token de acceso específico del IdP como token de portador en el encabezado Autorización. AgentCore Runtime utiliza AgentCore Identity para validar automáticamente este token con su autorizador configurado y rechaza solicitudes no autorizadas.
Cree un grupo de usuarios de Amazon Cognito para la autenticación JWT con un nombre de aplicación y un tipo de aplicación únicos como aplicación de máquina a máquina, como se muestra en la siguiente captura de pantalla. Proporcione un nombre para la aplicación y luego elija crear directorio de usuarios.
Cuando crea un grupo de usuarios de Cognito con una aplicación de máquina a máquina, Amazon Cognito crea automáticamente un servidor de recursos para su aplicación. El servidor de recursos define ámbitos OAuth 2.0 personalizados que especifican los permisos que su aplicación puede solicitar
En el menú del grupo de usuarios recién creado, navegue hasta Marca y elija Dominio. Seleccione el servidor de recursos creado y elija editar. Agregue un alcance de escritura al alcance personalizado y actualice las descripciones tanto para lectura como para escritura.
Los ámbitos de lectura y escritura controlan el acceso al servidor API MCP de AWS:
Alcance de lectura: permite que la aplicación consulte recursos de AWS (por ejemplo, enumerar instancias EC2 o describir depósitos de Amazon Simple Storage Service (Amazon S3)). Alcance de escritura: permite que la aplicación modifique los recursos de AWS (por ejemplo, creando recursos o actualizando configuraciones).
Estos ámbitos se asignan a los permisos de IAM que utiliza el servidor MCP al ejecutar comandos de AWS CLI en nombre de solicitudes autenticadas.
Crear roles de IAM
Para ejecutar agentes o herramientas en Amazon Bedrock AgentCore Runtime, necesita una función de ejecución de IAM. Para obtener información sobre la creación de una función de IAM, consulte Creación de funciones de IAM.
Cree la política de confianza y el rol de ejecución necesarios para Amazon Bedrock AgentCore Runtime. Consulte Permisos de IAM para AgentCore Runtime para obtener más detalles. Reemplace YOUR_ACCOUNR_ID a continuación con su ID de cuenta de AWS.
El siguiente código es para la política de confianza de AgentCore Runtime:
El siguiente código es para la función de ejecución de AgentCore Runtime:
La siguiente política de IAM otorga a su función de ejecución los permisos necesarios para extraer la imagen del contenedor del servidor API MCP de AWS y escribir registros de tiempo de ejecución. La imagen del contenedor está alojada en un repositorio público de Amazon Elastic Container Registry (Amazon ECR) administrado por AWS. No es necesario que crees ni mantengas la imagen tú mismo.
Para encontrar el URI de contenedor más reciente, visite: AWS Marketplace – Servidor MCP API de AWS.
Adjunte permisos específicos al rol que definen qué acciones puede realizar en su nombre. Este ejemplo utiliza una política de solo lectura con alcance reducido que otorga s3:ListBucket y s3:GetObject en todos los depósitos. Esto es intencionalmente amplio únicamente para fines de descubrimiento y exploración.
Nota: El uso de un recurso comodín (arn:aws:s3:::*) otorga acceso a todos los depósitos de S3 en su cuenta. Esto es aceptable para la configuración y las pruebas iniciales, pero viola el principio de privilegio mínimo en producción. Antes de implementar en producción, reemplace el comodín con ARN de depósito específicos:
Rol de ejemplo:
Crear agente de Amazon Bedrock AgentCore Runtime
Desde Amazon AgentCore, elija tiempo de ejecución en el menú y luego elija herramienta de host/agente. Proporcione un nombre único para su agente de tiempo de ejecución. Para Fuente del agente, seleccione la opción de contenedor ECR e ingrese el URI de la imagen de AWS Marketplace.
En la misma página, en permisos, seleccione el rol existente creado en el paso anterior.
En la sección de autenticación entrante en la misma página, seleccione el protocolo MCP y el token JWT para el tipo de autenticación entrante. Para la configuración del esquema JWT, utilice la configuración del proveedor de identidad existente (el grupo de identidades de Cognito creado en el primer paso).
Obtenga la URL de descubrimiento de la información de su grupo de usuarios de Cognito. Busque la URL de la clave de firma del token, que sigue este formato: https://cognito-idp.$REGION.amazonaws.com/$POOL_ID/.well-known/jwks.json
Reemplace jwks.json con openid-configuration. Su URL final debería verse similar a este ejemplo:
https://cognito-idp.us-east-1.amazonaws.com/us-east-1_ev5CwXjma/.well-known/openid-configuration
Agregue clientes permitidos a su configuración. Navegue a la sección Cliente de aplicación en su grupo de usuarios de Cognito eligiendo Cliente de aplicación en el panel izquierdo. Copie el ID del cliente de la información del cliente de la aplicación y agréguelo a la sección de clientes permitidos.
Configure ajustes avanzados para su implementación de AgentCore Runtime. En Configuraciones avanzadas, mantenga el modo de red predeterminado establecido en Público para este tutorial. Esto permite que se pueda acceder al tiempo de ejecución a través de Internet durante la configuración y las pruebas iniciales.
Para implementaciones de producción, elija la opción VPC para restringir el acceso a la red a entornos privados y controlados. Este es el enfoque recomendado para cargas de trabajo que manejan datos confidenciales o que requieren aislamiento de red. A continuación, agregue sus variables de entorno como se muestra en la siguiente sección y luego elija Crear agente.
AUTH_TYPE: “no-auth” AWS_API_MCP_HOST: “0.0.0.0” AWS_API_MCP_PORT: “8000” AWS_API_MCP_STATELESS_HTTP: “verdadero” AWS_API_MCP_TRANSPORT: “streamable-http” AWS_API_MCP_ALLOWED_HOSTS = “*” AWS_API_MCP_ALLOWED_ORIGINS = "*"
Comprensión de la autenticación API de AWS en AgentCore
Variable Descripción AWS_API_MCP_TRANSPORT Establece el protocolo de transporte en HTTP transmitible para comunicaciones MCP. AWS_API_MCP_STATELESS_HTTP Habilita el modo HTTP sin estado, necesario para el transporte http que se puede transmitir. AWS_API_MCP_PORT Puerto en el que el servidor MCP escucha las solicitudes entrantes. AWS_API_MCP_HOST Vincula el servidor a las interfaces de red disponibles dentro del contenedor. AWS_API_MCP_ALLOWED_ORIGINS Permite solicitudes de cualquier origen. Aceptable dentro del entorno de ejecución controlada de AgentCore Runtime. AWS_API_MCP_ALLOWED_HOSTS Permite solicitudes de cualquier host. Con alcance al límite de la red de contenedores aplicado por AgentCore Runtime. AUTH_TYPE Deshabilita la autenticación a nivel de servidor MCP. La autenticación la maneja AgentCore Runtime mediante la validación del token JWT. Para obtener información, consulte la siguiente nota de seguridad.
AUTH_TYPE está configurado en no-auth porque el servidor MCP no realiza la autenticación. Esto es intencional y seguro cuando se implementa a través de Amazon Bedrock AgentCore Runtime. AgentCore Runtime actúa como límite de seguridad. Antes de que una solicitud llegue al contenedor de su servidor MCP, AgentCore Runtime aplica la validación del token JWT. Verifica firmas criptográficas utilizando claves públicas de AgentCore Identity, valida reclamaciones de tokens (emisor, audiencia, vencimiento) y rechaza solicitudes que no presentan un token de portador OAuth 2.0 válido. En otras palabras: el servidor MCP confía en que AgentCore Runtime ya ha autenticado a la persona que llama. Este es el mismo patrón utilizado por los microservicios internos detrás de una API Gateway. El servicio en sí no se vuelve a autenticar porque la puerta de enlace ya lo hizo.
Nota: No utilice AUTH_TYPE: no-auth si está ejecutando este servidor MCP fuera de AgentCore Runtime (por ejemplo, directamente en una instancia EC2 o como un contenedor independiente). En ese escenario, el servidor quedaría expuesto sin una capa de autenticación.
Los valores comodín para AWS_API_MCP_ALLOWED_HOSTS y AWS_API_MCP_ALLOWED_ORIGINSson intencionalmente amplios para este tutorial. En producción, reemplácelos con los nombres de host y orígenes específicos que su carga de trabajo requiere para imponer el acceso a la red con privilegios mínimos.
Crear agente de chat personalizado en Amazon Quick
Ahora que tiene el servidor AWS API MCP ejecutándose en Amazon Bedrock AgentCore Runtime, creemos un agente de chat personalizado en Amazon Quick que se puede utilizar para ejecutar comandos de AWS CLI a través de interacciones de lenguaje natural.
Navegue a la consola de Amazon Quick, acceda a la configuración de integración. En el panel de navegación izquierdo, elija Integraciones y luego seleccione Acciones. Agregue la integración del protocolo MCP para conectar Amazon Quick con su servidor MCP alojado en Amazon Bedrock AgentCore Runtime.
Para configurar los detalles de la integración, ingrese los metadatos de la integración. Proporcione un nombre descriptivo para su integración y luego agregue una descripción clara que explique el propósito de la integración.
Para la configuración del punto final, recupere su ARN de tiempo de ejecución de AgentCore de Amazon Bedrock. Navegue a la sección Detalles de herramientas de su agente. Copie el ARN de tiempo de ejecución de la sección Tiempo de ejecución.
Ejemplo de formato de ARN:
arn:aws:bedrock-agentcore:us-east-1:123456789123:runtime/demoagent-LmNop08QoR
La URL del punto final debe tener el siguiente formato, reemplace Región con su región de AWS y siga los pasos para crear arn codificado en URL.
https://bedrock-agentcore.{region}.amazonaws.com/runtimes/{url-encoded-arn}/invocations?qualifier=DEFAULT
Para crear un ARN codificado en URL, ejecute el siguiente comando en su terminal:
eco "TU_ARN" | sed's/:/%3A/g; s///%2F/g' [System.Uri]::EscapeDataString("YOUR_ARN")
Nota: El comando bash requiere Linux, macOS o Windows con WSL (Subsistema de Windows para Linux) instalado. El cmdlet de Windows PowerShell funciona de forma nativa en sistemas Windows sin dependencias adicionales. Finalmente, mantenga habilitada la opción de publicación automática. Para establecer una comunicación segura entre Amazon Quick y el servidor MCP, configure la autenticación del servicio utilizando las credenciales de su grupo de usuarios de Amazon Cognito.
Nota: Amazon Cognito es un servicio de identidad de AWS totalmente administrado que maneja la autenticación y autorización para sus aplicaciones. Los secretos del cliente de la aplicación se almacenan cifrados en reposo y en tránsito. Sus credenciales no se transmiten en texto sin formato. Cognito también admite la rotación de secretos de clientes bajo demanda, por lo que puede mantener hasta dos secretos activos por cliente de aplicación para una rotación sin tiempo de inactividad.
Cuando se le solicite en la página de configuración de autenticación, seleccione Autenticación de servicio como su método de autenticación.
Para encontrar su ID de cliente y su secreto de cliente:
Abra la consola de Amazon Cognito. Elija Grupos de usuarios, luego seleccione su grupo de usuarios. En el panel de navegación izquierdo, elija Clientes de aplicaciones (en Aplicaciones). Seleccione su cliente de aplicación. El ID del cliente de la aplicación se muestra directamente en esta página. Elija Mostrar secreto del cliente para revelar el secreto del cliente de la aplicación.
Nota: Trate su secreto de cliente como una contraseña. Guárdelo de forma segura utilizando AWS Secrets Manager para implementaciones de producción. No lo incruste en el código del lado del cliente ni en el control de versiones.
Para la URL del token, constrúyala utilizando el dominio de su grupo de usuarios:
En el panel de navegación izquierdo de su grupo de usuarios, desplácese hacia abajo hasta la sección Marca. Elija Dominio. Su dominio Cognito se muestra aquí en el formato: https://your-domain.auth.region.amazoncognito.com Agregue /oauth2/token a este dominio para formar su punto final de token completo: https://your-domain.auth.region.amazoncognito.com/oauth2/token
Después de haber ingresado el ID del cliente, el secreto del cliente y la URL del token, elija Crear y continuar.
Nota: En Amazon Quick, sus credenciales se cifran mediante AWS Key Management Service (AWS KMS). De forma predeterminada, Quick utiliza una clave AWS KMS administrada por el servicio para cifrar las credenciales de origen de datos y los tokens de OAuth. Para organizaciones con requisitos de cumplimiento más estrictos, los administradores de cuentas pueden configurar claves administradas por el cliente para mantener un control total sobre el ciclo de vida de la clave de cifrado, incluida la capacidad de revocar el acceso instantáneamente y mantener un registro auditable de acceso a las credenciales.
A continuación, configure las preferencias de uso compartido para esta acción. Elija si desea compartir esta acción con otros miembros del equipo y configure los permisos de acceso adecuados. Elija Listo y verifique que la acción aparezca en la sección Acciones.
Ahora creemos un agente conversacional que traduzca el lenguaje natural en comandos de la AWS CLI. Navegue hasta la creación de agentes en la consola de Amazon Quick, en el panel izquierdo, elija Agentes personalizados y luego elija Crear agente de chat.
Configure el agente con un mensaje descriptivo:
Mensaje: cree un agente conversacional que permita a los usuarios ejecutar comandos de AWS CLI utilizando lenguaje natural. Traduce las solicitudes de los usuarios en llamadas a la API de AWS adecuadas a través del conector aws-api-mcp.
Amazon Quick detecta y selecciona automáticamente el conector MCP según su solicitud. Verifique que la integración correcta esté asociada con su agente. Elija Launch Agent para que esté disponible para pruebas.
Implementación automatizada
Para una implementación automatizada, siga las instrucciones en GitHub para implementar el servidor API MCP de AWS en Amazon Bedrock Runtime. Además, para implementar el grupo de usuarios y el cliente de aplicaciones de Cognito, siga las instrucciones de la documentación de AWS en la sección Apéndice en Configurar el grupo de usuarios de Cognito para la autenticación.
Finalmente, para configurar la integración entre Amazon Quick y el servidor MCP API de AWS, siga los pasos mencionados en la sección Crear un agente de chat personalizado en Amazon Quick.
Prueba la solución
Para validar la funcionalidad de su agente de chat personalizado, acceda a la interfaz de chat de su agente de chat personalizado recién creado y pruebe los comandos en lenguaje natural:
Mensaje: Muestre las instancias EC2 en ejecución en la región us-east-1.
Limpiar
Para evitar incurrir en cargos continuos, limpie los recursos que creó como parte de esta solución.
Elimine los recursos de Amazon Quick. Elimine las funciones de Amazon Quick que habilitó, incluido su agente de chat personalizado, Spaces y Flows. Elimine la integración de MCP. Elimine la acción de Amazon Quick MCP que creó. Limpiar los recursos de Amazon Bedrock. Elimine el agente de Amazon Bedrock AgentCore y su función de ejecución de IAM asociada. Elimine el grupo de usuarios de Amazon Cognito. Finalmente, elimine el grupo de usuarios de Amazon Cognito que creó para la autenticación.
Conclusión
En esta publicación, aprendió cómo conectar Amazon Quick con los servicios de AWS mediante Amazon Bedrock AgentCore Runtime y el servidor API MCP de AWS. Cuando estandariza la forma en que los agentes de IA interactúan con su infraestructura a través de MCP, puede evitar la necesidad de reconstruir patrones de integración personalizados para cada nuevo caso de uso.
Desde aquí, puede ampliar este patrón para automatizar consultas operativas comunes. También puede crear agentes específicos de dominio para seguridad, optimización de costos o planificación de capacidad, e integrarlos con flujos de trabajo de administración de incidentes mediante Amazon Quick Flows y Amazon Quick Automate. El resultado es una forma más consistente, segura y eficiente de administrar la infraestructura de AWS a escala.