IA en producción en AWS: Amazon Bedrock y AgentCore en una configuración privada
En AWS, las piezas para un agente en producción han cambiado más en los últimos doce meses que en los tres años anteriores: Bedrock Agents pasó a ser Agents Classic, AgentCore tomó el relevo como plataforma de agentes y Bedrock tiene ahora cuatro niveles de inferencia. Esta es la configuración que montaría hoy para un agente que debe superar una revisión de seguridad: IAM de mínimo privilegio, PrivateLink en lugar de internet, una base de conocimiento gestionada, guardrails en entrada y salida, evaluaciones en el pipeline y cada invocación registrada. Todos los datos enlazan con la documentación de AWS.
11 min de lectura
1. Cuándo AWS es el lugar adecuado y el estado de Bedrock a finales de 2026
AWS es la opción evidente cuando tus datos y cargas ya viven allí: buckets de S3 con los documentos, Aurora o DynamoDB con los datos de negocio, IAM y Organizations como columna vertebral de seguridad. Un agente que corre junto a esos datos necesita menos integraciones y hereda controles que ya auditas.
El panorama de productos ha cambiado. Amazon Bedrock es la capa de modelos e inferencia, y Amazon Bedrock AgentCore es la plataforma para construir, desplegar y operar agentes de forma segura y a escala, con cualquier framework y modelo fundacional. La guía de usuario de Bedrock indica ya que no es posible darse de alta en Amazon Bedrock Agents, que AWS llama ahora Agents Classic; quien ya lo usa puede seguir, y los nuevos agentes definidos por código se dirigen a AgentCore. Varias piezas de AgentCore llegaron a disponibilidad general en 2026, por ejemplo Evaluations el 31 de marzo de 2026 y el harness gestionado de agentes el 17 de junio de 2026.
Para las decisiones de arquitectura uso como lista de control la AWS Well-Architected Generative AI Lens. Cubre lo mismo que este artículo, desde la protección de datos hasta los costes, y es un buen documento para un comité de seguridad o arquitectura.
2. Cuentas e IAM: mínimo privilegio para personas, apps y agentes
Separa no producción y producción en cuentas de AWS distintas bajo AWS Organizations. Así el acceso a modelos, las cuotas, los guardrails y los logs difieren por cuenta, y un experimento no puede tocar datos de producción por accidente.
Da a cada componente su propio rol de IAM con un alcance estrecho. El rol de la aplicación puede invocar uno o dos modelos concretos, el de la base de conocimiento puede leer un prefijo de S3 y nada recibe bedrock:* sobre todos los recursos. Para las personas y sistemas en cuyo nombre actúa tu agente, AgentCore Identity gestiona la identidad, el acceso y la autenticación del agente y funciona con proveedores de identidad existentes como Amazon Cognito, Okta, Microsoft Entra ID o Auth0, sin migrar usuarios ni rehacer el inicio de sesión.
El control más sencillo y valioso es una lista explícita de IDs de modelo en IAM. Impide que alguien cambie producción a un modelo caro con una sola línea y da al equipo de seguridad un único lugar para revisar qué modelos se usan.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "InvokeOnlyApprovedModels",
"Effect": "Allow",
"Action": ["bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream"],
"Resource": [
"arn:aws:bedrock:eu-central-1::foundation-model/<approved-model-id>"
]
}
]
}Consejo práctico
Muchos modelos actuales se llaman mediante inference profiles para inferencia entre regiones. Comprueba el ARN exacto que indica la documentación del modelo antes de escribir la política, o la llamada fallará con AccessDenied.
3. Red privada: endpoints de PrivateLink y AgentCore en modo VPC
Con AWS PrivateLink accedes a Amazon Bedrock como si estuviera en tu VPC, sin internet gateway, NAT, VPN ni Direct Connect. La documentación de Bedrock enumera endpoints de interfaz separados por familia de API: bedrock para el plano de control, bedrock-runtime para inferencia, bedrock-agent y bedrock-agent-runtime para las API de agentes y bases de conocimiento, bedrock-mantle y variantes FIPS. Crea los que tu aplicación llama de verdad, activa el DNS privado y añade una política de endpoint que solo permita tus roles.
El agente también debe vivir en tu red. AgentCore Runtime y sus herramientas integradas, como Code Interpreter, pueden ejecutarse en modo VPC: les das tus subredes y un grupo de seguridad y llegan a tus bases de datos y API internas de forma privada. El tráfico saliente sigue entonces tu enrutamiento de VPC, y un filtro central de salida decide a qué hosts externos puede llegar un agente.
Aquí se decide también la residencia de datos. Elige la región a conciencia y comprueba si un modelo solo se ofrece mediante inferencia entre regiones antes de prometer a un cliente que los datos nunca salen de una geografía.
# Interface endpoint for inference (repeat for bedrock-agent-runtime etc.)
aws ec2 create-vpc-endpoint \
--vpc-id vpc-0123456789abcdef0 \
--vpc-endpoint-type Interface \
--service-name com.amazonaws.eu-central-1.bedrock-runtime \
--subnet-ids subnet-0123456789abcdef0 subnet-0123456789abcdef1 \
--security-group-ids sg-0123456789abcdef0 \
--private-dns-enabled
# AgentCore Runtime in VPC mode (network part; add your agent artifact and role)
aws bedrock-agentcore-control create-agent-runtime \
--agent-runtime-name "MyAgentRuntime" \
--network-configuration '{
"networkMode": "VPC",
"networkModeConfig": {
"subnets": ["subnet-0123456789abcdef0", "subnet-0123456789abcdef1"],
"securityGroups": ["sg-0123456789abcdef0"]
}
}'4. Tus datos: primero una base de conocimiento gestionada, después un pipeline RAG propio
Amazon Bedrock Knowledge Bases ofrece dos tipos. Con una base de conocimiento gestionada, Bedrock se encarga de la ingesta, la indexación, el almacenamiento y la recuperación, incluidos datos multimodales, almacenamiento con autoescalado y recuperación agéntica para preguntas de varios saltos; AWS recomienda este tipo por precisión y facilidad de operación. Con una base gestionada por el cliente, ejecutas tu propio almacén vectorial, como Amazon OpenSearch Serverless, Amazon Aurora o Amazon Neptune, y controlas tú el parsing, la indexación y el almacenamiento.
Para una primera versión elijo por defecto el tipo gestionado. La mayoría de los problemas de RAG que veo no vienen de la base de datos vectorial, sino de documentos desactualizados, permisos que faltan en las fuentes y fragmentos que parten una tabla por la mitad. Invierte el tiempo ahorrado en los datos: un responsable claro por fuente, un calendario de sincronización y un conjunto de preguntas de prueba en el que sabes qué documento contiene la respuesta.
Pasa a un almacén gestionado por ti cuando haya un motivo concreto: un clúster de OpenSearch existente con tu ajuste de búsqueda, un caso de grafos para Neptune o requisitos regulatorios sobre dónde y cómo se guarda el índice.
5. Modelos y capacidad: Standard, Flex, Priority, Reserved o aprovisionado
Bedrock y AgentCore ofrecen una amplia elección de modelos, entre ellos Claude de Anthropic, Amazon Nova, Meta Llama y Mistral, y AgentCore funciona también con modelos de OpenAI y Google Gemini. Elige por paso: un modelo pequeño para clasificar y extraer, uno más potente donde importa el razonamiento, y mantén la elección detrás de la lista de IAM del paso 2.
Para la capacidad, Bedrock ofrece ahora cuatro niveles de servicio. Standard es el valor por defecto para el día a día. Flex da un descuento para cargas que toleran tiempos de proceso más largos, como evaluaciones, resúmenes o trabajos de agentes en segundo plano. Priority ofrece las respuestas más rápidas con recargo y se fija por petición con el parámetro service_tier. Reserved reserva capacidad en tokens por minuto durante uno o tres meses, apunta a un 99,5 % de disponibilidad, desborda a Standard cuando necesitas más y empieza en 100.000 tokens de entrada y 10.000 de salida por minuto.
Provisioned Throughput con model units es un mecanismo aparte, sobre todo para modelos personalizados, sin compromiso o con plazos de uno o seis meses. Mi regla: empezar con Standard, pasar ya los trabajos batch y de evaluación a Flex y reservar capacidad solo tras unas semanas de datos de tráfico reales.
Consejo práctico
Al dimensionar la capacidad Reserved, AWS advierte que el consumo de tokens por minuto incluye los tokens de entrada de escritura en caché si usas prompt caching. Suma ambas métricas en CloudWatch o la reserva se quedará corta.
6. El agente en AgentCore: runtime, gateway, memoria y herramientas
AgentCore es modular y solo usas lo que necesitas. El Runtime es un entorno serverless para desplegar y escalar agentes y herramientas, con aislamiento de sesión, identidad integrada y soporte para trabajo largo y asíncrono. El harness gestionado define un agente por configuración, con modelo, prompt de sistema y herramientas en línea, y ejecuta cada sesión en una microVM aislada. Gateway convierte tus API, funciones Lambda y servicios existentes en herramientas compatibles con MCP y se conecta a servidores MCP existentes. Memory aporta memoria a corto plazo para una conversación y a largo plazo entre sesiones. Code Interpreter y Browser son herramientas aisladas, y Observability muestra cada paso del recorrido de ejecución de un agente.
El Gateway es la parte que diseñaría con más cuidado. Cada herramienta que expones es una acción que el agente puede ejecutar con permisos reales. Expón herramientas estrechas y con un propósito, por ejemplo consultar un pedido por ID, en lugar de una consulta genérica a la base de datos, y da al backend de la herramienta su propio rol de mínimo privilegio.
El framework lo eliges tú: AgentCore funciona con frameworks de código abierto como Strands Agents, LangGraph, LangChain o LlamaIndex. Elige el que tu equipo sepa depurar a las dos de la madrugada, no el que tiene más estrellas.
7. Guardrails: ataques de prompt, datos personales y comprobación de fundamentación
Amazon Bedrock Guardrails reúne varias salvaguardas en un guardrail que asocias a las llamadas al modelo o aplicas por separado. Los filtros de contenido cubren odio, insultos, contenido sexual, violencia, mala conducta y ataques de prompt, cada uno con su intensidad. Los temas denegados bloquean asuntos de los que tu aplicación nunca debe hablar. Los filtros de información sensible bloquean o enmascaran datos personales como nombres, direcciones o números de identificación y admiten expresiones regulares propias. Las comprobaciones de fundamentación contextual marcan respuestas que no están respaldadas por la fuente recuperada o no responden a la pregunta, la comprobación de alucinaciones más barata para una app RAG. Las comprobaciones de Automated Reasoning validan respuestas contra reglas lógicas que defines.
Hay dos niveles. El nivel Standard amplía la detección, por ejemplo a contenido dañino escondido en comentarios de código o nombres de variables, y requiere inferencia entre regiones; el nivel Classic no. Decídelo a conciencia si la residencia de datos es estricta.
Construye el guardrail como código, versiónalo y dale su propio conjunto de prompts de ataque. El ejemplo de abajo bloquea ataques de prompt en la entrada, enmascara correos y teléfonos y comprueba la fundamentación y la relevancia de las respuestas.
aws bedrock create-guardrail \
--name support-agent-guardrail \
--blocked-input-messaging "Sorry, I can't help with that request." \
--blocked-outputs-messaging "Sorry, I can't answer that." \
--content-policy-config '{
"filtersConfig": [
{"type": "PROMPT_ATTACK", "inputStrength": "HIGH", "outputStrength": "NONE"},
{"type": "MISCONDUCT", "inputStrength": "HIGH", "outputStrength": "HIGH"}
]
}' \
--sensitive-information-policy-config '{
"piiEntitiesConfig": [
{"type": "EMAIL", "action": "ANONYMIZE"},
{"type": "PHONE", "action": "ANONYMIZE"}
]
}' \
--contextual-grounding-policy-config '{
"filtersConfig": [
{"type": "GROUNDING", "threshold": 0.8},
{"type": "RELEVANCE", "threshold": 0.7}
]
}'Consejo práctico
El filtro de ataques de prompt se aplica a la entrada; pon su intensidad de salida en NONE como en el ejemplo. Ajusta el umbral de fundamentación con tu propio conjunto de pruebas: demasiado alto bloquea buenas respuestas, demasiado bajo deja pasar las inventadas.
8. Evaluar, registrar cada invocación, vigilar el coste y comparar las nubes
AgentCore Evaluations está disponible de forma general desde el 31 de marzo de 2026. Evalúa agentes de forma continua con tráfico de producción y en flujos de prueba, con 13 evaluadores integrados de calidad de respuesta, seguridad, cumplimiento de tareas y uso de herramientas, además de ground truth como respuestas de referencia, aserciones de comportamiento y secuencias esperadas de herramientas. Úsalo como puerta de regresión en tu pipeline de CI/CD: un cambio en instrucciones, herramientas o modelo no debe bajar las puntuaciones de la última release aceptada.
Para auditoría y depuración, activa el registro de invocaciones del modelo. Recoge logs de invocación con la entrada y salida del modelo de todas las llamadas a Bedrock de una cuenta y región, en CloudWatch Logs, S3 o ambos. Trata estos logs como datos sensibles: cifrado, retención y acceso tan estrictos como para los documentos de origen. AgentCore Observability añade la vista a nivel de agente, con trazas de cada paso, sobre CloudWatch.
Los fallos que más veo: IAM con comodín en bedrock:*, agentes con salida a internet sin filtro, un guardrail que nunca se probó con prompts de ataque, logs de invocación legibles por todos y capacidad Reserved comprada antes de medir el tráfico. La misma configuración en Microsoft Azure está en /blog/azure-ai-foundry, y en Google Cloud en /blog/google-vertex-ai.
Conclusión
En AWS, la receta para producción es IAM de mínimo privilegio, PrivateLink y modo VPC para la privacidad, una base de conocimiento gestionada para tus datos, guardrails como código y AgentCore Evaluations como puerta que cada cambio debe pasar.
Proyectos reales relacionados
Pruébalo tú mismo
Fuentes y guías oficiales
- Amazon Bedrock AgentCore Developer Guide: Overview
- Amazon Bedrock User Guide: Agents Classic availability
- AWS What's New: AgentCore Evaluations is generally available (31 March 2026)
- AWS What's New: AgentCore harness is generally available (17 June 2026)
- Amazon Bedrock User Guide: Interface VPC endpoints (AWS PrivateLink)
- AgentCore Developer Guide: Configure AgentCore Runtime and tools for VPC
- Amazon Bedrock User Guide: Knowledge Bases
- Amazon Bedrock User Guide: Service tiers
- Amazon Bedrock User Guide: Provisioned Throughput
- Amazon Bedrock User Guide: Guardrails
- AWS CLI Command Reference: create-guardrail
- Amazon Bedrock User Guide: Model invocation logging
- AWS Well-Architected: Generative AI Lens
Más artículos
- 3.025 pull requests en diez meses: un proceso de entrega con IA, desde dentro
- La Ley de IA de la UE para medianas empresas: qué te aplica y desde cuándo
- FinOps para el gasto en IA: tokens, caché, enrutado y presupuestos que aguantan
- Hacer visible una red de restaurantes en las respuestas de la IA: un proyecto GEO paso a paso
- Cómo está hecha esta web: estática donde se puede, en streaming donde hace falta
- Costes de Kubernetes en EKS y GKE: el mismo método, otras palancas
- Una landing zone para empresas medianas, en Terraform o Bicep: las piezas que importan
- El manual de migración de sistemas heredados: oleadas, ejecución en paralelo y recuentos y checksums idénticos
- Seguridad de MCP a fondo: dejar entrar a los asistentes de IA en tu producto sin abrir las puertas
- Monitorizar resultados de negocio: paneles en verde, caja vacía
- Agentes de IA por teléfono: la arquitectura y los tropiezos que ninguna demo enseña
- Pruebas de restauración: un backup que nunca has restaurado es solo una esperanza
- Respuestas de IA en streaming en Azure Static Web Apps: la cabecera que lo retenía todo
- Construir un asistente de IA para WhatsApp de principio a fin: lo que hace falta más allá de la demo
- Sistemas air-gapped: software crítico sin conexión a internet
- IA en producción con Microsoft Foundry: una configuración de referencia privada para agentes
- /goal, /loop o rutinas: deja de vigilar a tu agente de programación
- Los nuevos planes de Claude: Max, Ultra y lo que significan para los equipos
- OpenAI Codex a finales de 2026: goal mode, dots y cómo blindarlo
- ¿GitHub Copilot, Claude Code o Codex? Cómo elegiría para una empresa
- Fundamentos de GEO: cómo aparecer en las respuestas de la IA
- IA en producción en Google Cloud: de Vertex AI a Gemini Enterprise Agent Platform
- LLM locales en una red air-gapped: IA para tus datos más sensibles
- Quiero ejecutar un LLM local: ¿qué servidor compro?
- MiniMax M3: ¿un modelo puntero que puedes ejecutar tú mismo?
- Investigación de prompts a gran escala con un modelo abierto
- SEO y GEO juntos: una auditoría práctica en 6 pasos
- Dimensionar bien Kubernetes: el método que llevó un clúster de 7 a 4 nodos
- IA privada para datos sensibles: un LLM local que supera la revisión de seguridad
- Del prototipo con IA a producción: las ocho capas que añado, en este orden
