Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Techniken zur Kostenoptimierung für Amazon OpenSearch Service
Im Folgenden sind einige der am häufigsten verwendeten Techniken zur Kostenoptimierung bei der Nutzung von Amazon OpenSearch Service aufgeführt — sowohl bei Managed Clusters als auch bei Serverless. Da jeder Workload einzigartig ist, sollten Sie diese Strategien anhand Ihrer spezifischen Nutzungsmuster bewerten und sie in einer Testumgebung validieren, bevor Sie sie in der Produktion anwenden.
Themen
Kostenoptimierung für von Amazon OpenSearch Service verwaltete Cluster
Abgeleitete Quelle — Überspringen Sie das Speichern des Felds _source
Bei Derived Source handelt es sich um eine Funktion zur Speicheroptimierung, die den Mehraufwand beim Speichern des _source Felds überflüssig macht:
-
OpenSearch speichert jedes aufgenommene Dokument zweimal: einmal im
_sourceFeld (Rohdokument) und einmal als indizierte Felder für die Suche. -
Das
_sourceFeld allein kann viel Speicherplatz beanspruchen — oft 30-50% des gesamten Indexspeichers. -
Mit Derived Source überspringen Sie das Speichern
_sourceund rekonstruieren es stattdessen bei Bedarf dynamisch aus indizierten Feldern (bei Such-, Get-, Mget-, Reindex- oder Aktualisierungsvorgängen). -
Dies ist Opt-In, das bei der Indexerstellung mithilfe der Einstellungen für den zusammengesetzten Index aktiviert wird.
-
In allen Regionen verfügbar, in denen OpenSearch 3.1 oder höher unterstützt wird.
Am besten geeignet für: Analyse- und Protokoll-Workloads, bei denen Sie das ursprüngliche Rohdokument nicht häufig abrufen müssen, aber dennoch Felder durchsuchen und aggregieren müssen.
Weitere Informationen finden Sie in der Open-Source-Dokumentation
OR1 / OR2 / OM2 instances — OpenSearch -optimierte Instance-Familien
OR1 und die neueren OR2 OM2 Instances verwenden Amazon S3 für die Replikatspeicherung über Segmentreplikation:
-
OR2: Bis zu 26% höherer Indizierungsdurchsatz als bei R7g-Instances OR1, 70% mehr.
-
OM2: Bis zu 15% höherer Indizierungsdurchsatz als bei OR1 M7g-Instances, 66% mehr.
-
Beide verwenden dieselbe Architektur: lokales EBS für den Primärspeicher und S3 für Stabilität.
-
Eliminiert die Kosten für Replikatspeicher — Replikate werden in S3 (Haltbarkeit von 11 bis 9 Minuten) statt in teuren EBS-Volumes gespeichert.
-
Bis zu 30% besseres Preis-Leistungs-Verhältnis im Vergleich zu Instances der vorherigen Generation.
-
Unterstützt Shallow Snapshot v2 — quasi sofortige Snapshots ohne Mehraufwand. I/O
Am besten geeignet für: Arbeitslasten für Betriebsanalysen und Protokollanalysen mit hohem Indizierungsaufwand.
Weitere Informationen finden Sie in den Themen Ankündigung OR2 und OM2 Neuigkeiten
Index-Rollups — Aggregieren Sie historische Zeitreihendaten
Index-Rollups fassen ältere Zeitreihendaten zusammen und komprimieren sie in gröberen Zeitintervallen, wodurch das Speichervolumen drastisch reduziert wird:
-
IoT-/Sensordaten: Bewahren Sie Daten pro Sekunde für die letzten Zeiträume im Hot-Storage auf; führen Sie stündliche oder tägliche Zusammenfassungen für ältere Daten zusammen.
-
Systemmetriken: Behalten Sie detaillierte Kennzahlen der letzten 30 Tage bei; fassen Sie ältere Daten in stündlichen oder täglichen Zusammenfassungen zusammen.
-
Protokolldaten: Behalten Sie alle Details für das aktive Fehlerbehebungsfenster bei (z. B. 1 Woche); behalten Sie die zusammengefassten Fehlermuster für ältere Zeiträume bei.
-
Kombinieren Sie es mit ISM-Richtlinien, um Rollup und Tier-Migration in einer einzigen Lebenszyklus-Richtlinie zu automatisieren.
-
Größere Einsparungen bei der Aggregation von Sekunden zu Stunden im Vergleich zu Sekunden zu Minuten.
Weitere Informationen finden Sie im Blogbeitrag Index Rollups
Index State Management — Automatisieren Sie den gesamten Datenlebenszyklus
ISM-Richtlinien automatisieren die Verschiebung von Indizes über Speicherstufen und Lebenszyklusaktionen hinweg:
-
Automatische Migration von Indizes: Hot to Cold UltraWarm to Delete, basierend auf Alter, Größe oder Anzahl der Dokumente.
-
Um das Datenvolumen zu reduzieren, lösen Sie Rollups vor Tierwechseln aus.
-
Legen Sie Rollover-Richtlinien fest (z. B. wenn ein Index 50 GB erreicht oder 30 Tage alt ist), um das Indexwachstum zu kontrollieren.
-
Automatisieren Sie die erzwungene Zusammenführung schreibgeschützter Indizes, um Speicherplatz aus gelöschten Dokumenten zurückzugewinnen.
-
Kombinieren Sie es mit Rollups, um maximale Einsparungen bei großen Zeitreihendatensätzen zu erzielen.
Reserved Instances — Entscheiden Sie sich für vorhersehbare Rabatte
Für stabile, vorhersehbare analytische Workloads bieten Reserved Instances erhebliche Rabatte gegenüber On-Demand-Preisen:
-
Laufzeit von 1 oder 3 Jahren mit den Zahlungsoptionen „Keine Vorauszahlung“, „Teilweise Vorauszahlung“ oder „Vollständige Vorauszahlung“.
-
Am besten für Hot-Tier-Datenknoten und dedizierte Master-Knoten, die kontinuierlich laufen.
-
Verwenden Sie den AWS Preisrechner, um die Einsparungen abzuschätzen, bevor Sie sich verpflichten.
-
Reserved Instances sind ein Abrechnungsrabatt, der für On-Demand-Instances gewährt wird — es sind keine Änderungen an der Infrastruktur erforderlich.
Instance-Typen und Anzahl der richtigen Größe
Wichtige Hinweise von Well-Architected OpenSearch Lens und Best Practices für die richtige Dimensionierung:
-
Verwenden Sie immer die neueste Generation von Instances (Graviton3-Instances bieten beispielsweise eine um bis zu 25% bessere Leistung als Graviton2-basierte Instances).
-
Verwenden Sie gp3-EBS-Volumes anstelle von gp2-Volumes — bessere Leistung bei geringeren Kosten ohne zusätzliche Kosten.
-
Passen Sie den Instance-Typ an die Arbeitslast an: speicheroptimiert für suchintensive Anwendungen, rechenoptimiert für indexintensive Anwendungen.
-
Evaluieren Sie dedizierte Cluster-Manager-Knoten: Wird nur für 3 oder mehr Datenknoten benötigt; vermeiden Sie eine zu große Anzahl an Master-Knoten.
-
Überwachen Sie die CloudWatch Messwerte, um zu viel Provisioning zu erkennen: Dauerhafte CPU-Werte unter 40%, JVM unter 50% und Speicherplatz unter 50% sind Anzeichen für Verschwendung.
-
Optimale Bereiche: CPU 60— 80%, JVM 65— 85%, Speicher 70— 85% für dauerhafte Workloads.
Weitere Informationen finden Sie im Blogbeitrag Right-Sizing Best Practices
Shard-Optimierung — Vermeiden Sie Over-Sharding
Over-Sharding ist ein versteckter Kostentreiber — zu viele kleine Shards verschwenden CPU, Arbeitsspeicher und JVM-Heap:
-
Empfohlene Shard-Größen: 10—50 GiB pro Shard, je nach Arbeitslast.
-
Nicht mehr als 25 Shards pro GiB Java-Heap, nicht mehr als 1.000 Shards pro Datenknoten.
-
Verwenden Sie ISM-Rollover-Richtlinien, um das Indexwachstum zu kontrollieren und eine uneingeschränkte Verbreitung von Shards zu verhindern.
-
Reduzieren Sie die Anzahl der Replikate, wo es die Haltbarkeit zulässt (OR1OR2 /-Instances machen Replikate vollständig überflüssig).
-
Verwenden Sie Force Merge für schreibgeschützte Indizes, um die Anzahl der Segmente zu reduzieren und Speicherplatz zurückzugewinnen.
Weitere Informationen finden Sie unter Wie viele Shards
Zero-ETL//Direkte Abfrage mit Amazon S3
Für Daten, die sehr selten abgefragt werden, aber zugänglich bleiben müssen, ermöglicht Direct Query (Zero-ETL mit S3) das direkte Abfragen von S3-Daten, ohne sie zu übernehmen: OpenSearch
-
Keine Aufnahmekosten — Daten bleiben in S3.
-
Keine Hot-Tier-Speicherkosten für Archivdaten.
-
Pay-per-query Modell berechnen.
-
Unterstützt OpenSearch Dashboards zur Visualisierung.
-
Eine Latenz von Sekunden oder Minuten ist akzeptabel — nicht für Echtzeit-Anwendungsfälle.
Probenahme und Komprimierung bei der Aufnahme
Senken Sie die Kosten, bevor die Daten überhaupt Folgendes erreichen: OpenSearch
-
Probenahme: Erfassen Sie nur einen repräsentativen Teil der Protokollstreams mit hohem Volumen (z. B. 10% der Debug-Logs).
-
Indexkomprimierung: Aktivieren Sie den Codec mit der besten Komprimierung, um den Speicherbedarf zu reduzieren.
-
Feldfilterung: Löschen Sie Felder mit hoher Kardinalität und niedrigem Wert vor der Indizierung (z. B. rohe Stack-Traces für alte Logs).
-
Aufbewahrungsrichtlinien: Definieren Sie maximale Aufbewahrungsfenster entsprechend den Compliance-Anforderungen — speichern Sie Daten niemals unbegrenzt.
Vermeiden Sie erweiterte Supportkosten — Bleiben Sie bei Engine-Versionen auf dem Laufenden
Amazon OpenSearch Service berechnet eine Pauschalgebühr pro Normalized Instance-Stunde für Engine-Versionen im Extended Support:
-
Wenn Sie bei älteren, nicht unterstützten Versionen bleiben, fallen zusätzlich zu den Instance-Kosten zusätzliche Gebühren an.
-
Führen Sie ein Upgrade auf die aktuell unterstützten Versionen durch, um Gebühren für erweiterten Support zu vermeiden.
Tags und CloudWatch Überwachung der Kostenzuweisung
Proaktive Kostenkontrolle verhindert Verschwendung:
-
Wenden Sie Tags zur Kostenzuweisung auf OpenSearch Domänen an, um eine detaillierte Kostenverfolgung pro Team oder Arbeitslast zu ermöglichen.
-
Richten Sie CloudWatch Alarme für Speicherauslastung, JVM-Druck und CPU ein, um Überprovisionierung frühzeitig zu catch.
-
Verwenden Sie den AWS Cost Explorer, um Domänen mit durchweg geringer Auslastung zu identifizieren.
-
Evaluate Auto-Tune — passt automatisch die JVM-Heap-Größe und andere Einstellungen an, um die Leistung zu verbessern und Ressourcenverschwendung zu reduzieren.
Kostenoptimierung für Amazon OpenSearch Service Serverless
Festplattenoptimierte Vektorsuche (Vektorsammlungen)
Die festplattenoptimierte Vektorsuche ist eine der wirksamsten Techniken zur Kostensenkung bei Vektor-Workloads. Sie führt die Vektorsuche zu einem Bruchteil der Kosten des In-Memory-Modus durch, indem nur komprimierte Vektoren im RAM verbleiben und Vektoren mit voller Genauigkeit auf der Festplatte gespeichert werden.
Funktionsweise
-
Im Standardmodus (
in_memory) wird der vollständige HNSW-Graph in den Arbeitsspeicher geladen — was im großen Maßstab unerschwinglich teuer wird. -
Im
on_diskModus werden nur komprimierte (quantisierte) Vektoren für die Kandidatengenerierung im Speicher aufbewahrt. Vektoren mit voller Genauigkeit werden nur für die letzte Rescoring-Phase (zweiphasige Suche) von der Festplatte abgerufen. -
Dadurch werden die RAM-Anforderungen drastisch reduziert und gleichzeitig die hohe Suchqualität beibehalten.
-
Der
on_diskStandardmodus verwendet eine 32-fache binäre Quantisierung, wodurch der Speicherbedarf im Vergleich zum In-Memory-Modus um 97% reduziert wird. -
Unterstützt die folgenden Komprimierungsstufen: 2x (FP16), 4x (Byte), 8x, 16x, 32x (binär).
-
P90-Latenz im Bereich von 100 bis 200 ms — geeignet für Workloads, die keine Reaktionszeiten im einstelligen Millisekundenbereich erfordern.
Benchmarks für Kosteneinsparungen:
| Datensatz | Erinnere dich an @100 | P90-Latenz | Kostensenkung |
|---|---|---|---|
| Kohärenz TREC-RAG | 0,94 | 104 ms | 83% |
| Tabs-1M | 0,96 | 7 ms | 67% |
| Marco-1 M | 0.99 | 7 ms | 67% |
Am besten geeignet für: RAG-Pipelines, semantische Suche, Dokumentenabruf und alle Vektor-Workloads, bei denen eine P90-Latenz von 100—200 ms akzeptabel ist und Kostensenkung oberste Priorität hat.
Anmerkung
Um diese Änderung auf bestehende indizierte Daten anzuwenden, müssen Sie eine Neuindizierung durchführen. Sie können ein externes Pipeline-Tool verwenden, um beispielsweise Daten in einen neuen Index neu zu indizieren.
Weitere Informationen finden Sie im Blogbeitrag Disk-Optimized Vector Search, im Blogbeitrag
Automatische Vektoroptimierung (Vektorsammlungen)
Auto-Optimize bewertet automatisch Vektorindex-Konfigurationen und empfiehlt den besten Kompromiss zwischen Suchqualität, Latenz und Speicherkosten — ohne dass Vektorkenntnisse erforderlich sind:
-
Liefert Optimierungsempfehlungen in weniger als einer Stunde.
-
Integriert in Vektor-Ingestion-Pipelines.
-
Kann mit GPU-beschleunigter Indexierung für Vektordatenbanken im Milliardenbereich kombiniert werden.
Weitere Informationen finden Sie im Blogbeitrag Auto-Optimize.
GPU-beschleunigte Vektorindizierung (Vektorsammlungen)
Durch die GPU-Beschleunigung wird die HNSW-Vektorindizierung auf serverlose Systeme verlagert GPUs, wodurch der Zeit- und OCU-Aufwand für die Erstellung großer Vektorindizes drastisch reduziert werden:
-
6,4- bis 13,8-mal schnellere Indexerstellungszeiten im Vergleich zur reinen CPU-Indizierung.
-
Bis zu 75% niedrigere OCU-Kosten für die Indizierung bei schreibintensiven Vektor-Workloads.
-
GPUs werden dynamisch angeschlossen — Sie zahlen nur, OCUs wenn die GPU-Beschleunigung aktiv ist.
-
Ermöglicht die Erstellung milliardenschwerer Vektordatenbanken in weniger als einer Stunde.
-
Wird separat als Vector Acceleration berechnet. OCUs
Am besten geeignet für: Anfängliche Vektoraufnahme in großem Umfang oder häufige Modellertüchtigungsszenarien, bei denen die Neuerstellung von Indizes kostspielig ist.
Weitere Informationen finden Sie im Blogbeitrag GPU Acceleration.
Legen Sie die maximalen OCU-Grenzwerte fest (alle Sammlungstypen)
Amazon OpenSearch Service Serverless skaliert automatisch OCUs je nach Bedarf. Ohne eine Obergrenze können die Kosten unerwartet in die Höhe schnellen. Legen Sie ein maximales OCU-Limit auf Kontoebene oder pro Sammlungsgruppe fest, um eine unkontrollierte Skalierung zu verhindern. Das System skaliert bei Spitzenlasten bis zu diesem Grenzwert, überschreitet ihn aber nicht.
Zulässige Werte:
-
Kontoebene: Jeder Wert bis zu 1.700 OCUs (nicht auf ein Vielfaches von 16 beschränkt).
-
Sammelgruppen: 1, 2, 4, 8, 16 und Vielfache von 16 bis zu 1.696. OCUs
Überwachen Sie die CloudWatch Metriken (OCUUtilization), um Ihre maximale OCU-Einstellung im Laufe der Zeit richtig einzustellen.
Anmerkung
Wenn die Auslastung die maximale OCU-Obergrenze erreicht, kann sich die Leistung erheblich verschlechtern, obwohl die Kosten eingedämmt werden. Das Erreichen der Obergrenze löst nicht die eigentliche Ursache für den OCU-Anstieg. Bei Vektorsammlungen sind die Hauptursache in der Regel speicherinterne Vektoren, die direkt behoben werden sollten, indem die Vektorindizierung optimiert, die Indexgröße reduziert oder Kompromisse zwischen Abruf und Genauigkeit optimiert werden.
Tipp
Beginnen Sie mit einer konservativen maximalen OCU und erhöhen Sie diese nur, wenn eine anhaltende Auslastung nahe der Obergrenze CloudWatch auftritt. Wenn Sie die Obergrenze immer wieder erreichen, sollten Sie die Ursache untersuchen — insbesondere die Verwendung von Vektoren im Arbeitsspeicher für Vektorsammlungen —, anstatt das Limit einfach anzuheben.
Weitere Informationen finden Sie unter Verwaltung von Kapazitätsgrenzen für Amazon OpenSearch Serverless.
Optimieren Sie die Aufbewahrungsdauer (Zeitreihenerfassungen)
Datenlebenszyklus-Richtlinien löschen automatisch Daten aus Zeitreihenerfassungen nach einem bestimmten Aufbewahrungszeitraum und verhindern so ein unbegrenztes Speicherwachstum. Nur Zeitreihenerfassungen unterstützen Datenlebenszyklus-Richtlinien — Such- und Vektorsammlungen nicht.
Die Anzahl der OCUs für Zeitreihenerfassungen hängt direkt davon ab, wie viele aktuelle Daten lokal gespeichert werden müssen. Bei Zeitreihenerfassungen wird nur der neueste Teil der Daten im lokalen OCU-Speicher gespeichert. Ältere Daten werden nach S3 ausgelagert, und die Anzahl der Daten wird entsprechend skaliert: OCUs
OCUs erforderlich = maximal (Minimum OCUs, OCUs erforderlich, um Daten innerhalb Ihres Aufbewahrungsfensters zu speichern)
Konfiguration von Richtlinien für den Datenlebenszyklus:
-
Legen Sie Aufbewahrungszeiträume von 24 Stunden bis 3.650 Tagen pro Index oder Indexmuster fest.
-
Amazon OpenSearch Service Serverless löscht Daten automatisch nach bestem Wissen und Gewissen (in der Regel innerhalb von 48 Stunden oder 10% der Aufbewahrungsfrist).
-
Regeln können auf Sammlungsebene, Indexmusterebene oder Ebene einzelner Indizes angewendet werden — spezifischere Regeln haben Vorrang.
Beispiel für die Größenbestimmung:
-
1 TiB/day Aufnahme mit einer Aufbewahrung von 30 Tagen = ungefähr 1 TiB an heißen Daten = 20 OCUs für die Indizierung + 20 für die Suche. OCUs
-
Reduzierung auf eine Aufbewahrung von 7 Tagen = ungefähr 233 GiB an heißen Daten = ungefähr 4 OCUs für die Indizierung + 4 OCUs für die Suche.
Eine kürzere Aufbewahrung bedeutet, dass weniger heiße Daten im lokalen Speicher gespeichert werden, weniger OCUs benötigt werden und die Rechenkosten sinken. Passen Sie die Aufbewahrungsfristen an die tatsächlichen Geschäfts- und Compliance-Anforderungen an — bewahren Sie Daten standardmäßig nicht unbegrenzt auf.
Weitere Informationen finden Sie unter Verwenden von Datenlebenszyklusrichtlinien mit Amazon OpenSearch Serverless.
Vermeiden Sie die Speicherung unnötiger Daten (alle Erfassungsarten)
Durch die direkte Reduzierung des aufgenommenen Datenvolumens werden sowohl die Rechen- (OCUs) als auch die Speicherkosten gesenkt:
-
Felder bei der Erfassung filtern: Verwenden Sie Pipelines, um Felder mit geringem Wert zu löschen, bevor sie die Sammlung erreichen.
-
Vermeiden Sie die Aufnahme doppelter oder redundanter Daten: Deduplizieren Sie auf Pipeline-Ebene.
-
Verwenden Sie geeignete Indexzuordnungen: Deaktivieren Sie die Indizierung von Feldern, die gespeichert, aber nie durchsucht wurden ().
"index": false -
Für Suchsammlungen: Vermeiden Sie es, große binäre Blobs oder Rohtext zu speichern, der den Speicherplatz ohne Suchwert in die Höhe treibt.
Sammlungsgruppen für Workloads mit mehreren Mandanten (alle Sammlungstypen)
Sammlungsgruppen ermöglichen es mehreren Sammlungen mit unterschiedlichen KMS-Schlüsseln, OCU-Ressourcen innerhalb derselben Sicherheitsgrenze gemeinsam zu nutzen, wodurch die Kosten für Architekturen mit mehreren Mandanten drastisch gesenkt werden. Gilt für Kunden, die mehrere KMS-Schlüssel pro Mandant oder pro Sammlung verwenden:
-
Bisher war für jeden einzelnen KMS-Schlüssel ein eigener Schlüssel erforderlich, sodass OCUs die Isolierung pro Mandant unerschwinglich teuer war.
-
Bei Sammelgruppen können Mandanten mit separaten Verschlüsselungsschlüsseln die OCU-Kapazität gemeinsam nutzen.
-
Kosteneinsparungen von bis zu 90% bei einer großen Anzahl kleinerer Mandanten-Workloads.
-
Unterstützt sowohl den Mindestwert OCUs (garantierter Basiswert, keine Kaltstarts) als auch den Höchstwert OCUs (Kostenobergrenze).
-
Sammlungen mit unterschiedlichen Netzwerkzugriffstypen (öffentlich und VPC) können in derselben Gruppe koexistieren.
-
CloudWatch Metriken bieten gruppenspezifische Einblicke in den Ressourcenverbrauch und die Latenz.
Ideal für: SaaS-Anbieter, Multi-Tenant-Plattformen oder Workloads mit vielen kleinen Sammlungen, für die jeweils ein eigener KMS-Schlüssel erforderlich ist.
Weitere Informationen finden Sie im Blogbeitrag Collection Groups