Qué es
Amazon OpenSearch Service ejecuta OpenSearch (la bifurcación de código abierto de Elasticsearch) y versiones antiguas de Elasticsearch, junto con OpenSearch Dashboards para visualizar. Sirve para tres cosas: búsqueda de texto completo con relevancia, análisis casi en tiempo real de registros y eventos, y búsqueda vectorial para aplicaciones de IA (inteligencia artificial) generativa (RAG). Puedes usar dominios (clústeres que dimensionas) u OpenSearch Serverless (colecciones que escalan solas).
Conceptos clave
- Dominio: clúster gestionado con nodos de datos, nodos maestros dedicados (para estabilidad) y, opcionalmente, varias zonas de disponibilidad.
- Índices y shards: los documentos JSON (JavaScript Object Notation: formato de datos en texto) se guardan en índices divididos en shards primarios y réplicas repartidos entre nodos.
- Niveles de almacenamiento: hot (discos de los nodos, rápido), UltraWarm (datos de solo lectura respaldados en S3 (Simple Storage Service), mucho más barato) y cold (desacoplado del cómputo, se adjunta cuando hay que consultarlo). Las políticas ISM (Index State Management: políticas que mueven índices entre niveles) mueven los índices entre niveles según su antigüedad.
- Multi-AZ con espera (standby): tres zonas, una de ellas en espera, para conmutar sin pérdida de capacidad.
- OpenSearch Serverless: colecciones de tipo búsqueda, series temporales o búsqueda vectorial; la capacidad se mide en OCU (OpenSearch Compute Unit: unidad de capacidad de OpenSearch Serverless) y escala sola. La generación NextGen puede bajar a cero OCU cuando no hay actividad.
- Búsqueda vectorial (k-NN): guarda embeddings y encuentra los vecinos más cercanos; es uno de los almacenes de vectores de Bedrock Knowledge Bases.
- Ingesta: OpenSearch Ingestion (canalizaciones gestionadas), Amazon Data Firehose, integraciones zero-ETL con DynamoDB y S3, o suscripciones de CloudWatch Logs.
- Seguridad detallada (fine-grained access control): permisos por índice, documento y campo, con usuarios internos, IAM (Identity and Access Management) o SAML (Security Assertion Markup Language: estándar de inicio de sesión federado).
Casos de uso típicos
- Buscador de un comercio electrónico con relevancia, facetas y autocompletado.
- Análisis centralizado de registros de aplicaciones y de seguridad con paneles.
- Observabilidad: trazas, métricas y registros en un mismo sitio.
- Almacén de vectores para RAG y búsqueda semántica.
- Búsqueda de texto sobre datos de DynamoDB sin montar ETL (Extract, Transform, Load: extraer, transformar y cargar datos).
Cuándo NO usarlo
- Como base de datos principal y transaccional: RDS (Relational Database Service), Aurora o DynamoDB.
- Consultas SQL (Structured Query Language: lenguaje de consultas de bases de datos relacionales) puntuales sobre registros en S3 sin mantener un clúster: Athena.
- Almacén de datos analítico con SQL y JOIN complejos: Redshift.
- Búsqueda empresarial en documentos con conectores y respuestas listas sin gestionar índices: Kendra.
Comparativa con servicios parecidos
| Necesidad | Servicio adecuado |
|---|---|
| Texto completo, relevancia y paneles en tiempo casi real | OpenSearch Service |
| SQL sin servidor sobre ficheros en S3 | Athena |
| Almacén de datos para BI (Business Intelligence: análisis de datos para el negocio) con SQL | Redshift |
| Búsqueda empresarial gestionada con conectores | Kendra |
| Registros y consultas sin otro servicio | CloudWatch Logs Insights |
Modelo de precios
En los dominios se paga por hora de cada nodo según su tipo (con instancias reservadas), el almacenamiento EBS (Elastic Block Store), UltraWarm y cold por GB, y la transferencia de datos. En Serverless se pagan las OCU de indexación y de búsqueda por hora y el almacenamiento en S3 por GB. OpenSearch Ingestion cobra por unidad de canalización.
Seguridad y alta disponibilidad
- Dominio dentro de una VPC (Virtual Private Cloud) (acceso privado) o público con políticas de acceso.
- Cifrado en reposo con KMS (Key Management Service), cifrado entre nodos y HTTPS (HTTP Secure: HTTP cifrado con TLS) obligatorio.
- Fine-grained access control y autenticación con IAM, Cognito o SAML para Dashboards.
- Varias zonas con réplicas o Multi-AZ con espera; instantáneas automáticas en S3.
- Serverless es de alta disponibilidad por defecto.
Trampas de examen
- "Búsqueda de texto completo" o "búsqueda con relevancia": OpenSearch.
- "Paneles casi en tiempo real sobre registros": OpenSearch con Dashboards (ingesta con Firehose u OpenSearch Ingestion).
- "Consultas SQL ocasionales sobre registros en S3": Athena, no un clúster.
- "Guardar meses de registros poco consultados de forma barata": UltraWarm o cold.
- "Almacén de vectores para RAG": OpenSearch Serverless (búsqueda vectorial).
- "Buscar en los datos de DynamoDB": integración zero-ETL con OpenSearch.
Preguntas de práctica
Preguntas originales escritas para estos apuntes. No son preguntas reales de examen.
Fuentes
- What is Amazon OpenSearch Service?, documentación de AWS (consultada el 26/09/2026).
- What is Amazon OpenSearch Serverless?, documentación de AWS (consultada el 26/09/2026).
- UltraWarm storage for Amazon OpenSearch Service, documentación de AWS (consultada el 26/09/2026).
- Fine-grained access control in Amazon OpenSearch Service, documentación de AWS (consultada el 26/09/2026).
- k-Nearest Neighbor (k-NN) search in Amazon OpenSearch Service, documentación de AWS (consultada el 26/09/2026).