Para conectar una capa semántica de EDB Postgres AI con Amazon Bedrock AgentCore, el ejemplo técnico de AWS coloca la base de conocimiento de AIDB dentro de PostgreSQL y expone sus consultas mediante un endpoint MCP. AgentCore gestiona la identidad y la conexión; los permisos de PostgreSQL determinan qué datos puede consultar cada rol. El montaje se ilustra con un conjunto de datos C360, no con una prueba de escala.
Qué aporta la capa semántica
La base de conocimiento semántica de AIDB, o SemKB, indexa metadatos del esquema: tablas, vistas, columnas, comentarios y relaciones de claves foráneas. No indexa las filas de datos. Los comentarios describen qué significa cada campo; las claves foráneas ayudan a descubrir cómo se relacionan las tablas; las vistas y los alias semánticos convierten definiciones de negocio en consultas reutilizables.
En el ejemplo C360, el esquema c360 contiene las tablas customers, locations, products y purchases, además de la vista derivada big_spender. Un alias como big_spenders_by_state es una consulta SELECT de solo lectura, parametrizada y descrita en lenguaje natural, que el agente puede invocar como herramienta.
La definición importa. En C360, purchases.price representa el total del pedido, no el precio por unidad. AWS muestra que interpretar el campo como precio unitario lleva a un resultado erróneo de unos 502.529 dólares para el cliente principal; con el significado correcto, el resultado de muestra es 27.991,66 dólares. Son cifras del conjunto de demostración.
Antes de configurar la conexión
Necesitas EDB Postgres AI con AIDB, el esquema que consultará el agente y las relaciones entre sus tablas. Para reproducir el ejemplo, AWS carga cuatro archivos CSV en c360 y crea sus cuatro tablas y la vista big_spender. También hace falta preparar los roles de PostgreSQL que usarán las solicitudes y configurar los componentes de Amazon Bedrock AgentCore, Cognito y la red que conectará ambos extremos.
Configurar SemKB y las consultas de negocio
- Describe el significado de tablas y columnas. Añade comentarios de PostgreSQL con
COMMENT ONpara aclarar las unidades y definiciones de negocio, y señalar campos sensibles. Esto da contexto al agente que los nombres de columna por sí solos no ofrecen. - Define las relaciones y las medidas. Declara las claves foráneas y crea vistas para conceptos de negocio, como
big_spender. En C360, esa vista considera gran comprador a quien haya hecho al menos un pedido de más de 250 dólares. Deja explícita la diferencia entre el total del pedido y el precio unitario. - Crea y configura la base de conocimiento. La configuración de muestra se llama
c360_kb, usa el modelobge-small-en-v1.5-f16y estableceauto_processingenLive. Si hay varias SemKB, las búsquedas deben indicarkb_name.
AWS describe tres modalidades de actualización. La elección determina cómo se incorporan los cambios del esquema a la base semántica.
| Modalidad | Qué ocurre cuando cambia el esquema | Cómo se actualiza la SemKB |
Live | Los cambios activan el procesamiento mediante disparadores de eventos de PostgreSQL. | Se procesa en vivo. |
Background | Un trabajador procesa los cambios de forma asíncrona. | Se procesa en segundo plano. |
Disabled | Los cambios no activan una actualización automática. | Hay que llamar explícitamente a aidb.refresh_semantic_kb(). |
Conectar AgentCore con el endpoint MCP de AIDB
- Activa el endpoint MCP en PostgreSQL. Habilita
edb.endpoints_mcp_enabled, añadeaidbashared_preload_librariesy reinicia PostgreSQL. El puerto predeterminado del ejemplo es8765. Para enlazar el endpoint a una dirección externa, configura un certificado TLS y su clave. - Publica la ruta HTTPS. El tutorial sitúa un Application Load Balancer (ALB) HTTPS delante del endpoint
edb-endpointsen una instancia EC2 y registra el ALB como destino MCP de AgentCore Gateway. Como el endpoint admite HTTP MCP en streaming, la ruta descrita no necesita AWS Lambda.
En la configuración descrita, el grupo de destino del ALB se conecta por HTTPS al puerto 8765, pero no valida la cadena del certificado del servidor de destino. AWS recomienda conectividad privada de VPC para producción.
- Registra el destino en Gateway. Configura AgentCore Gateway para validar el JWT entrante de Amazon Cognito y evaluar la política Cedar que autoriza el acceso a herramientas. El tutorial usa Strands Agents para el agente y Claude en Amazon Bedrock; la disponibilidad del modelo puede variar según la región de AWS.
Seguir la identidad y las credenciales hasta PostgreSQL
Cognito emite el JWT del usuario y AgentCore Gateway lo valida antes de autorizar las herramientas. Para la conexión saliente, AgentCore Identity proporciona al destino MCP un nombre de usuario y una contraseña de PostgreSQL mediante autenticación HTTP Basic. El código del agente no recibe la credencial de la base de datos. PostgreSQL aplica después los permisos del rol y, si está configurada, la seguridad por filas.
La comparativa de Denodo y AtScale de NeoTeo ofrece contexto sobre otros enfoques de capa semántica; en este ejemplo, el conocimiento semántico reside en Postgres.
Probar permisos y revisar trazas
- Prueba las consultas con roles distintos. AWS muestra que un rol completo y otro restringido reciben resultados distintos ante las mismas instrucciones y herramientas. En el ejemplo, el rol restringido no puede leer
customers.ssnpor un permiso a nivel de columna; PostgreSQL devuelve un error de permisos. La seguridad por filas también puede filtrar registros. - Comprueba las ejecuciones y su trazabilidad. AIDB puede guardar trazas de ejecución SQL en el esquema
aidb_otelcuando se habilita la telemetría. AgentCore registra por separado llamadas a herramientas, llamadas al modelo y uso de tokens en CloudWatch Transaction Search.
Los permisos limitan el acceso, pero no determinan por sí solos cuál es la definición de negocio aprobada ni si una respuesta es semánticamente correcta. En una demostración comunitaria distinta, basada en Snowflake y 34 proveedores, el término «proveedor activo» produjo recuentos de 25, 24 y 21 al aplicar tres definiciones diferentes: compras o facturas en los últimos 12 meses, actividad en los últimos 90 días y estado en el ERP. Una capa semántica puede aplicar la definición elegida; el equipo debe decidir cuál corresponde a cada medida.
En otra conversación entre profesionales, un participante describió el uso de diferencias entre capturas del esquema para detectar cambios en las tablas a las que remiten las definiciones. También relató un caso de datos atrasados en una réplica. Son experiencias de otros sistemas, no funciones de EDB. Para complementar la prueba de permisos, conviene revisar consultas conocidas y las definiciones que aplican, detectar cambios en el esquema y comprobar que los datos consultados estén actualizados.