Vai al contenuto principale

OpenSearch AWS kNN Search Observability

Ingegneria OpenSearch per ricerca gestita su AWS e log analytics

OpenSearch è il fork Apache-2.0 di Elasticsearch 7.10, supportato da AWS e da un'ampia community open-source. Effettuiamo il provisioning e la gestione di cluster AWS OpenSearch Service, migrare i carichi di lavoro in produzione da Elasticsearch 7.10 e versioni successive, costruiamo pipeline di log analytics e SIEM con OpenSearch Dashboards, e forniamo ricerca semantica vettoriale kNN per team di prodotto USA e UE che necessitano di licenze open-source, integrazione nativa AWS e configurazione di sicurezza audit-ready.

Richiedi una proposta Scopri i casi

Ingegneria OpenSearch per analisi dei log, ricerca e osservabilità

OpenSearch è il fork Apache-2.0 di Elasticsearch 7.10, supportato da AWS e da un'ampia community open-source. Effettuiamo il provisioning e la gestione di cluster AWS OpenSearch Service, migrare i carichi di lavoro in produzione da Elasticsearch 7.10 e versioni successive, costruiamo pipeline di log analytics e SIEM con OpenSearch Dashboards, e forniamo ricerca semantica vettoriale kNN per team di prodotto USA e UE che necessitano di licenze open-source, integrazione nativa AWS e configurazione di sicurezza audit-ready.

Sfide

Sfide di settore che affrontiamo

Over-provisioning di shard e indici

I team spesso copiano i conteggi degli shard di Elasticsearch senza adattarli ai volumi di dati di OpenSearch, creando migliaia di shard piccoli che consumano heap JVM e rallentano le operazioni di stato del cluster. Dimensioniamo correttamente gli indici nel range raccomandato di 20-50 GB per shard e consolidiamo gli alias di rollover per mantenere il conteggio degli shard gestibile con la crescita dei dati.

Instabilità del cluster e pressione sull'heap JVM

Cache field-data di grandi dimensioni, aggregazioni senza limite e squilibri sui nodi hot causano ripetute pause GC della JVM ed evictions dei nodi sui cluster OpenSearch. Eseguiamo audit dell'utilizzo dei field-data, sostituiamo eager field-data con doc-values dove possibile, distribuiamo gli indici hot sui nodi con shard allocation awareness e configuriamo circuit breaker appropriati alla classe di istanza.

Compatibilità nella migrazione da Elasticsearch a OpenSearch

Il fork Apache-2.0 si è separato a Elasticsearch 7.10: le funzionalità proprietarie di Elastic (Elastic APM, EQL nelle versioni successive, API specifiche di Kibana) non hanno equivalenti diretti. Le librerie client che usano il protocollo transport anziché REST richiedono anch'esse aggiornamenti. Eseguiamo un audit della superficie API esatta usata dall'applicazione, la mappiamo agli equivalenti OpenSearch o OpenSearch Dashboards e conduciamo validazione parallela prima del cutover.

Query costose e performance delle aggregazioni

La paginazione profonda, le query con prefisso wildcard e le aggregazioni nested ad alta cardinalità sono sproporzionatamente costose su OpenSearch. Profiliamo le query lente tramite la Profile API, sostituiamo lo scroll illimitato con search_after per la paginazione, applichiamo shard_preference per instradare le aggregazioni ripetute verso nodi con cache calda e introduciamo aggregazioni composite dove la cardinalità lo consente.

Sicurezza e configurazione del controllo accessi granulare

Il plugin di sicurezza OpenSearch supporta tenant, ruoli, mascheramento dei campi e sicurezza a livello di documento, ma una configurazione errata lascia accesso eccessivo o interrompe l'applicazione. Progettiamo gerarchie di ruoli allineate alle personas dell'applicazione, testiamo ogni ruolo con un service account dedicato prima del go-live e documentiamo il modello dei permessi per le revisioni di audit.

Scalabilità della ricerca vettoriale per carichi di lavoro kNN

Gli indici k-NN in OpenSearch caricano i grafi FAISS o NMSLIB nell'heap JVM, che compete direttamente con la cache delle query sullo stesso nodo. I deployment kNN superficiali esauriscono l'heap su istanze di dimensioni modeste. Separiamo gli indici kNN su nodi dati dedicati con tipi di istanza ottimizzati per la memoria, ottimizziamo ef_search e ef_construction per ogni target di recall/latenza e combiniamo kNN con BM25 in una pipeline di scoring ibrida per la ricerca semantica in produzione.

Soluzioni

Soluzioni che realizziamo

Cluster gestiti AWS OpenSearch Service

Provisioning end-to-end di domini AWS OpenSearch Service: posizionamento in VPC, dimensionamento delle istanze, nodi master dedicati, tier di storage UltraWarm e cold, snapshot automatici su S3 e alerting CloudWatch. Gestiamo le operazioni day-two — aggiornamenti rolling, ribilanciamento degli shard, governance dei template di indice — così il vostro team non deve farsi carico dell'on-call per il layer di ricerca.

Migrazione da Elasticsearch a OpenSearch

Migrazione strutturata da Elasticsearch 7.10 e versioni successive a OpenSearch: audit della superficie API, aggiornamento delle librerie client (opensearch-py, opensearch-js), revisione dei template di indice e mapping, validazione con shadow-indexing parallelo e cutover blue/green. Preserviamo le policy ILM esistenti come equivalenti ISM e documentiamo ogni differenza comportamentale rilevata durante la finestra di migrazione.

Pipeline di log analytics e SIEM

Ingestione centralizzata dei log tramite OpenSearch Ingestion (Data Prepper) o Fluent Bit, strutturata in indici time-series con gestione del ciclo di vita ISM. Le visualizzazioni OpenSearch Dashboards, i monitor di rilevamento delle anomalie e le notifiche di alert verso PagerDuty o Mattermost forniscono ai team di sicurezza e operativi un layer di osservabilità completo basato interamente su componenti open-source.

Ricerca vettoriale kNN e semantica

Ricerca kNN in produzione con il plugin k-NN di OpenSearch con motori FAISS o NMSLIB: progettazione della pipeline di embedding (Sentence Transformers, Amazon Titan, modelli personalizzati), configurazione dell'indice per target di recall/latenza, e scoring ibrido BM25 + kNN per una rilevanza superiore rispetto al recupero puramente lessicale o puramente vettoriale. Distribuito per product discovery, similarità di documenti e retrieval augmentation per RAG.

Ciclo di vita degli indici e ottimizzazione dei costi

Policy ISM che spostano automaticamente gli indici attraverso i tier hot, warm, UltraWarm e cold, attivate per età, dimensione o frequenza di query. Force-merge e compressione sugli indici chiusi. Alias di rollover che mantengono prevedibili le dimensioni dei singoli indici. Eseguiamo audit dei cluster esistenti per gli shard sprecati e forniamo un piano di ridimensionamento con la riduzione dei costi prevista prima di applicare qualsiasi modifica.

Configurazione di sicurezza granulare e audit

Configurazione del plugin di sicurezza per mascheramento a livello di campo, filtri di sicurezza a livello di documento, OpenSearch Dashboards multi-tenant e binding dei ruoli per service account. Log di audit instradati verso un indice dedicato, accessibile ai team di conformità senza concedere l'accesso cluster-admin. Certificati TLS gestiti tramite AWS Certificate Manager o Let's Encrypt con rotazione automatica.

Stack

Stack tecnologico

OpenSearch, OpenSearch Dashboards, AWS OpenSearch Service (cluster gestiti), progettazione di indici e shard, ISM (Index State Management), ricerca vettoriale k-NN (motori FAISS/NMSLIB), OpenSearch Ingestion (Data Prepper), plugin di alerting, plugin di sicurezza (RBAC granulare, sicurezza a livello di campo e documento), snapshot su S3, replica cross-cluster, Logstash, Fluent Bit.

Conformità

Conformità e normative

Infrastruttura di ricerca audit-ready · Controllo accessi granulare a livello di campo/documento · TLS nodo-nodo + cifratura a riposo · Policy ISM di retention per la governance dei dati

UE

  • GDPR — il plugin di sicurezza OpenSearch applica il controllo degli accessi a livello di campo e di documento affinché i dati personali memorizzati negli indici siano visibili solo ai ruoli autorizzati; progettiamo mapping degli indici per isolare i dati personali e configuriamo policy ISM di retention che rispettano gli obblighi di minimizzazione dei dati.
  • EU AI Act — gli indici di ricerca vettoriale costruiti con OpenSearch kNN forniscono una lineage tracciabile degli embedding: ogni documento conserva il riferimento alla fonte e il timestamp di ingestione, supportando i requisiti di provenienza per i sistemi di recupero assistito da AI.
  • NIS2 — l'ingestione centralizzata dei log tramite OpenSearch Ingestion e Data Prepper alimenta una pipeline SIEM in OpenSearch Dashboards; i monitor di rilevamento delle anomalie e gli indici di audit-log forniscono ai team di sicurezza la visibilità continua che NIS2 richiede.
  • eIDAS — il TLS nodo-nodo applicato dal plugin di sicurezza OpenSearch, combinato con l'autenticazione tramite certificato client sugli endpoint VPC di AWS OpenSearch Service, soddisfa i requisiti di integrità del layer di trasporto applicabili all'infrastruttura di servizi elettronici.

USA

  • SOC 2 — configurazione cluster audit-ready: RBAC granulare, audit logging immutabile su un indice dedicato, cronologia degli snapshot S3 e finestre di retention applicate da ISM forniscono ai team di conformità evidenze per i controlli di accesso e disponibilità.
  • Cifratura — cifratura a riposo con chiavi gestite da AWS KMS sui domini AWS OpenSearch Service, più TLS nodo-nodo; nessun dato in chiaro su disco o in transito tra i nodi del cluster.
  • Configurazione idonea HIPAA — AWS OpenSearch Service è elencato come idoneo HIPAA; configuriamo le impostazioni richieste per il Business Associate Agreement, il controllo degli accessi granulare, l'audit logging e l'isolamento VPC — il lavoro di configurazione è nel nostro scope, non una certificazione di conformità.
  • Governance dei dati — le policy ISM automatizzano il ciclo di vita degli indici (transizioni hot/warm/cold/delete), applicano le finestre di retention e attivano l'archiviazione degli snapshot S3; gli alias degli indici consentono rollover senza downtime senza intervento manuale.

Perché YuSMP

Perché i team scelgono YuSMP per l'ingegneria OpenSearch

Licenza open-source senza vendor lock-in

OpenSearch è distribuito con licenza Apache-2.0 — nessuna restrizione SSPL di Elastic, nessun rischio di audit sulla licenza con la crescita del cluster. Costruiamo su AWS OpenSearch Service gestito dove ciò riduce il carico operativo, ma la tecnologia sottostante è completamente open-source e portabile, proteggendo il vostro investimento nella progettazione degli indici, nei mapping e nelle integrazioni applicative.

Competenza nella migrazione da Elasticsearch 7.10

Il confine del fork 7.10 introduce differenze API e comportamentali specifiche che è facile trascurare in un semplice reindex. I nostri ingegneri hanno eseguito migrazioni in molteplici ambienti client e mantengono una matrice di compatibilità documentata che copre librerie client, impostazioni degli indici, comportamento delle aggregazioni ed equivalenti Dashboards per le visualizzazioni Kibana.

Ricerca e osservabilità in un'unica piattaforma

OpenSearch gestisce sia la ricerca applicativa che il log/SIEM analytics sulla stessa infrastruttura cluster. I team che altrimenti gestirebbero stack Elasticsearch e ELK separati possono consolidare su AWS OpenSearch Service, riducendo i costi infrastrutturali e la complessità operativa guadagnando al contempo RBAC granulare su entrambi i carichi di lavoro.

Domande frequenti

FAQ sull'ingegneria OpenSearch

OpenSearch o Elasticsearch — quale dovremmo usare?

OpenSearch (Apache-2.0) è la scelta giusta quando si lavora su AWS, si vuole evitare la licenza SSPL di Elastic per i deployment self-managed, o si ha bisogno di una stretta integrazione con i servizi AWS (S3, CloudWatch, IAM). Elasticsearch (licenza Elastic o SSPL) è preferibile quando il vostro team utilizza già Elastic Cloud, Elastic APM o funzionalità Kibana senza equivalente in OpenSearch. Le REST API sono compatibili per la maggior parte delle operazioni di query e indicizzazione fino alla baseline 7.10, quindi la migrazione a livello applicativo è solitamente agevole per quel sottoinsieme.

Quanto è complessa la migrazione da Elasticsearch 7.10 o versioni successive a OpenSearch?

La baseline 7.10 significa che le API core di ricerca, aggregazione e kNN sono compatibili, ma le funzionalità proprietarie di Elastic aggiunte dopo il 7.10 — raffinamenti EQL, alcune API specifiche di Kibana, il formato wire di Elastic APM — non hanno un equivalente diretto in OpenSearch. Iniziamo ogni migrazione con un audit della superficie API rispetto al codice dell'applicazione e ai template di indice attuali, identifichiamo i gap e mappiamo ciascuno a un'alternativa OpenSearch prima di scrivere una riga di script di migrazione. La maggior parte delle applicazioni basate su REST migra senza problemi in uno-tre settimane di lavoro ingegneristico.

Cosa gestisce AWS OpenSearch Service rispetto a ciò che gestiamo noi?

AWS gestisce il provisioning hardware, il patching del sistema operativo, gli aggiornamenti di versione OpenSearch (con la vostra approvazione), i snapshot automatici su S3, la replica multi-AZ e le metriche base di CloudWatch. Voi — e noi per vostro conto — gestite la progettazione degli indici, il dimensionamento degli shard, i template di mapping, le policy ISM, la configurazione del plugin di sicurezza, il controllo degli accessi granulare, le dashboard personalizzate e l'ottimizzazione delle query a livello applicativo. Scegliere AWS OpenSearch Service elimina il carico operativo sui server ma non rimuove la necessità di competenze di ingegneria della ricerca.

Come funziona la ricerca vettoriale kNN in OpenSearch?

Il plugin k-NN di OpenSearch aggiunge un tipo di campo knn_vector supportato da grafi FAISS o NMSLIB per il nearest-neighbour approssimativo, memorizzati nella memoria off-heap della JVM. Al momento della query, una query knn restituisce i k vettori di documento più simili all'embedding della query. In produzione combiniamo kNN con BM25 usando una query ibrida e una pipeline di normalizzazione, che supera costantemente entrambi gli approcci singoli per il recupero semantico di documenti. Il dimensionamento delle istanze deve tenere conto della memoria per i grafi kNN accanto all'allocazione standard della cache delle query.

OpenSearch può sostituire uno strumento SIEM dedicato per il log analytics?

Per molti team, sì. OpenSearch Ingestion (Data Prepper) ingerisce log da Fluent Bit, Logstash o fonti HTTP dirette, applica estrazione e arricchimento dei campi e scrive su indici time-series. OpenSearch Dashboards fornisce visualizzazione, rilevamento delle anomalie e alerting comparabili allo stack ELK. Il plugin di security analytics aggiunge regole di rilevamento delle minacce in formato Sigma. Per gli ambienti regolamentati offre il monitoraggio continuo richiesto da NIS2 a una frazione del costo delle piattaforme SIEM commerciali, senza licenze per evento.

Come funziona il controllo degli accessi granulare nel plugin di sicurezza OpenSearch?

Il plugin di sicurezza stratifica più meccanismi di controllo degli accessi: permessi a livello di cluster, permessi a livello di indice, mascheramento a livello di campo (hash o anonimizzazione di campi specifici) e sicurezza a livello di documento (clausole di filtro applicate automaticamente per ruolo). La multi-tenancy in OpenSearch Dashboards isola le visualizzazioni e i pattern di indice tra i team. Configuriamo ruoli di service account dedicati per ogni applicazione, separiamo i principal di lettura e scrittura, e instradiamo gli eventi di audit verso un indice che il personale operativo o di conformità può interrogare senza accesso cluster-admin.

Come si riducono i costi del cluster OpenSearch senza penalizzare le prestazioni delle query?

I costi su AWS OpenSearch Service sono dominati dal numero di istanze e dallo storage EBS. Le leve principali sono: dimensionamento corretto del numero di shard a 20-50 GB per shard (un eccesso di shard spreca heap del master node), abilitazione di UltraWarm per gli indici interrogati raramente (supportato da S3, circa il 90% più economico di EBS), spostamento dei dati cold al tier cold o cancellazione tramite ISM dopo la finestra di retention, e utilizzo di force-merge sugli indici storici in sola lettura per ridurre il conteggio dei segmenti. Forniamo un audit dei costi con policy ISM specifiche e raccomandazioni sulle istanze prima di applicare qualsiasi modifica alla produzione.

Costruite cluster AWS OpenSearch audit-ready con ingegneri senior della ricerca

Risposta entro 1 giorno lavorativo. NDA su richiesta.

Richiedi una proposta

Richiedi una proposta

Condividete alcuni dettagli e un consulente senior risponderà entro un giorno lavorativo.

Preferite parlare direttamente? ☎ Call +374 44 871 811 ✉ sales@yusmpgroup.com