Verwaltung des Indexstatus in Amazon OpenSearch Service - OpenSearch Amazon-Dienst

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.

Verwaltung des Indexstatus in Amazon OpenSearch Service

Mit Index State Management (ISM) in Amazon OpenSearch Service können Sie benutzerdefinierte Verwaltungsrichtlinien definieren, mit denen Routineaufgaben automatisiert und auf Indizes und Indexmuster angewendet werden. Sie müssen keine externen Prozesse mehr einrichten und verwalten, um Ihre Indexvorgänge auszuführen.

Eine Richtlinie umfasst einen Standardzustand und eine Liste der Zustände, die der Index annehmen kann. Für jeden Zustand können Sie eine Liste der Aktionen definieren, die durchgeführt werden sollen, und welche Bedingungen den Zustandswechsel auslösen. Ein typischer Anwendungsfall besteht darin, alte Indizes regelmäßig nach Ablauf eines bestimmten Zeitraums zu löschen. Beispielsweise können Sie eine Richtlinie definieren, die den Index nach 30 Tagen in einen read_only-Status verschiebt und ihn dann nach 90 Tagen endgültig löscht.

NNachdem Sie eine Richtlinie an einen Index angefügt haben, erstellt ISM einen Auftrag, der alle 5 bis 8 Minuten (bzw. 30 bis 48 Minuten bei Clustern vor Version 1.3) ausgeführt wird, um Richtlinienaktionen durchzuführen, Bedingungen zu prüfen und den Index in verschiedene Zustände zu überführen. Die Basiszeit für die Ausführung dieses Auftrags beträgt alle 5 Minuten, außerdem wird ein zufälliger 0–60 %-Jitter hinzugefügt, um sicherzustellen, dass Ihnen nicht ein gleichzeitiger Anstieg der Aktivität von allen Ihren Indizes angezeigt wird. ISM führt keine Aufträge aus, wenn der Clusterstatus rot ist.

ISM erfordert OpenSearch Elasticsearch 6.8 oder höher.

Anmerkung

Diese Dokumentation bietet einen kurzen Überblick über ISM und mehrere Beispielrichtlinien. Außerdem wird erklärt, wie sich ISM für Amazon OpenSearch Service-Domains von ISM auf selbstverwalteten OpenSearch Clustern unterscheidet. Eine vollständige Dokumentation von ISM, einschließlich einer umfassenden Parameterreferenz, Beschreibungen der einzelnen Einstellungen und einer API-Referenz, finden Sie in der OpenSearch Dokumentation unter Index State Management.

Wichtig

Sie können keine Indexvorlagen mehr verwenden, um ISM-Richtlinien auf neu erstellte Indizes anzuwenden. Sie können neu erstellte Indizes weiterhin automatisch mit dem ISM-Vorlagenfeld verwalten. Mit diesem Update wird eine grundlegende Änderung eingeführt, die sich auf bestehende CloudFormation Vorlagen auswirkt, die diese Einstellung verwenden.

Erstellen einer ISM-Richtlinie

So beginnen Sie mit Indexstatusmanagement
  1. Öffnen Sie die Amazon OpenSearch Service-Konsole unter https://console.aws.amazon.com/aos/home.

  2. Wählen Sie die Domain aus, für die Sie eine ISM-Richtlinie erstellen möchten.

  3. Navigieren Sie im Dashboard der Domain zur OpenSearch Dashboard-URL und melden Sie sich mit Ihrem Master-Benutzernamen und Passwort an. Die URL weist das folgende Format auf:

    domain-endpoint/_dashboards/
  4. Öffnen Sie den linken Navigationsbereich in OpenSearch Dashboards und wählen Sie Indexverwaltung und dann Richtlinie erstellen aus.

  5. Sie können den visuellen Editor oder JSON-Editor verwenden, um Richtlinien zu erstellen. Wir empfehlen die Verwendung des visuellen Editors, da er eine strukturiertere Methode zur Definition von Richtlinien bietet. Hilfe beim Erstellen von Richtlinien finden Sie unten in den Beispielrichtlinien.

  6. Nachdem Sie eine Richtlinie erstellt haben, fügen Sie sie einer oder mehreren Indizes an:

    POST _plugins/_ism/add/my-index { "policy_id": "my-policy-id" }
    Anmerkung

    Wenn auf Ihrer Domain eine Legacy-Version von Elasticsearch ausgeführt wird, verwenden Sie _opendistroanstelle von _plugins.

    Wählen Sie alternativ den Index in den OpenSearch Dashboards aus und wählen Sie Richtlinie anwenden aus.

Beispielrichtlinien

Die folgenden Beispielrichtlinien veranschaulichen, wie allgemeine ISM-Anwendungsfälle automatisiert werden.

Hot- zu Warm- zu Cold Storage

Diese Beispielrichtlinie verschiebt einen Index vom Hot-Storage in und UltraWarmschließlich in kalter Speicher. Dann löscht es den Index.

Der Index befindet sich zunächst im hot-Zustand. Nach zehn Tagen versetzt ISM es
 in den warm-Zustand. 80 Tage später, nachdem der Index 90 Tage alt ist, versetzt ISM den Index in den
 cold-Zustand. Nach einem Jahr sendet der Service eine Benachrichtigung an einen Amazon-Chime-Raum, dass der Index gelöscht wird und löscht ihn dann endgültig.

Beachten Sie, dass Cold-Indizes die cold_delete-Operation erfordern, nicht die normale delete-Operation. Beachten Sie auch, dass in Ihren Daten ein explizites timestamp_field erforderlich ist, um Cold-Indizes mit ISM zu verwalten.

{ "policy": { "description": "Demonstrate a hot-warm-cold-delete workflow.", "default_state": "hot", "schema_version": 1, "states": [{ "name": "hot", "actions": [], "transitions": [{ "state_name": "warm", "conditions": { "min_index_age": "10d" } }] }, { "name": "warm", "actions": [{ "warm_migration": {}, "retry": { "count": 5, "delay": "1h" } }], "transitions": [{ "state_name": "cold", "conditions": { "min_index_age": "90d" } }] }, { "name": "cold", "actions": [{ "cold_migration": { "timestamp_field": "<your timestamp field>" } } ], "transitions": [{ "state_name": "delete", "conditions": { "min_index_age": "365d" } }] }, { "name": "delete", "actions": [{ "notification": { "destination": { "chime": { "url": "<URL>" } }, "message_template": { "source": "The index {{ctx.index}} is being deleted." } } }, { "cold_delete": {} }] } ] } }

Reduzieren der Replikatanzahl

Diese Beispielrichtlinie reduziert die Replikatanzahl nach 7 Tagen auf 0, um Speicherplatz zu sparen, und löscht den Index nach 21 Tagen. Bei dieser Richtlinie wird davon ausgegangen, dass Ihr Index nicht kritisch ist und keine Schreibanforderungen mehr empfängt. Wenn keine Replikate vorhanden sind, birgt dies ein gewisses Risiko für Datenverluste.

{ "policy": { "description": "Changes replica count and deletes.", "schema_version": 1, "default_state": "current", "states": [{ "name": "current", "actions": [], "transitions": [{ "state_name": "old", "conditions": { "min_index_age": "7d" } }] }, { "name": "old", "actions": [{ "replica_count": { "number_of_replicas": 0 } }], "transitions": [{ "state_name": "delete", "conditions": { "min_index_age": "21d" } }] }, { "name": "delete", "actions": [{ "delete": {} }], "transitions": [] } ] } }

Erstellen eines Index-Snapshots

Diese Beispielrichtlinie verwendet die snapshot-Operation, um eine Momentaufnahme eines Indexes zu erstellen, sobald er mindestens ein Dokument enthält. repository ist der Name des manuellen Snapshot-Repositorys, das Sie in Amazon S3 registriert haben. snapshot ist der Name des Snapshots. Informationen zu Snapshot-Voraussetzungen und Schritten zum Registrieren eines Repositorys finden Sie unter Index-Snapshots in Amazon OpenSearch Service erstellen.

{ "policy": { "description": "Takes an index snapshot.", "schema_version": 1, "default_state": "empty", "states": [{ "name": "empty", "actions": [], "transitions": [{ "state_name": "occupied", "conditions": { "min_doc_count": 1 } }] }, { "name": "occupied", "actions": [{ "snapshot": { "repository": "<my-repository>", "snapshot": "<my-snapshot>" } }], "transitions": [] } ] } }

ISM-Vorlagen

Sie können ein ism_template-Feld in einer Richtlinie einrichten, sodass beim Erstellen eines Index, der dem Vorlagenmuster entspricht, die Richtlinie automatisch an diesen Index angehängt wird. In diesem Beispiel wird jeder von Ihnen erstellte Index mit einem Namen, der mit „log“ beginnt, automatisch mit der ISM-Richtlinie my-policy-id abgeglichen:

PUT _plugins/_ism/policies/my-policy-id { "policy": { "description": "Example policy.", "default_state": "...", "states": [...], "ism_template": { "index_patterns": ["log*"], "priority": 100 } } }

Ein ausführlicheres Beispiel finden Sie unter Beispielrichtlinie mit ISM-Vorlage für automatisches Rollover.

Unterschiede

Im Vergleich OpenSearch zu Elasticsearch weist ISM for Amazon OpenSearch Service mehrere Unterschiede auf.

ISM-Operationen

  • OpenSearch Service unterstützt drei einzigartige ISM-Operationen: warm_migrationcold_migration, undcold_delete:

    • Wenn Ihre Domain UltraWarmaktiviert ist, wird der Index durch die warm_migration Aktion in den Warmspeicher verschoben.

    • Wenn in Ihrer Domain Cold Storage aktiviert ist, überträgt die cold_migrationAktion den Index in den Cold Storage und die cold_delete-Aktion löscht den Index aus dem Cold Storage.

    Auch wenn die -Aktion nicht innerhalb des festgelegten Timeout-Zeitraums abgeschlossen wird, wird die Migration zu Warm-Indizes dennoch fortgesetzt. Wenn Sie eine error_notification für eine der oben genannten Aktionen festlegen, werden Sie benachrichtigt, dass die Aktion fehlgeschlagen ist, wenn sie nicht innerhalb des Timeout-Zeitraums abgeschlossen wurde, aber die Benachrichtigung dient nur zu Ihrer eigenen Information. Der eigentliche Vorgang hat kein inhärentes Timeout und wird so lange ausgeführt, bis er schließlich erfolgreich ist oder fehlschlägt.

  • Wenn Ihre Domain OpenSearch oder Elasticsearch 7.4 oder höher ausgeführt wird, unterstützt OpenSearch Service ISM open und close Operations.

  • Wenn Ihre Domain OpenSearch oder Elasticsearch 7.7 oder höher ausgeführt wird, unterstützt OpenSearch Service den snapshot ISM-Vorgang.

ISM-Vorgänge für Cold Storage

Für Cold-Indizes müssen Sie einen ?type=_cold-Parameter angeben, wenn Sie die folgenden ISM-APIs verwenden:

Diese APIs für Cold-Indizes weisen die folgenden zusätzlichen Unterschiede auf:

  • Platzhalteroperatoren werden nur dann unterstützt, wenn Sie sie am Ende verwenden. Beispiel: _plugins/_ism/<add, remove, change_policy, retry, explain>/logstash-* wird unterstützt, _plugins/_ism/<add, remove, change_policy, retry, explain>/iad-*-prod jedoch nicht.

  • Mehrzeilige Indexnamen und -muster werden nicht unterstützt. Beispiel: _plugins/_ism/<add, remove, change_policy, retry, explain>/app-logs wird unterstützt, _plugins/_ism/<add, remove, change_policy, retry, explain>/app-logs,sample-data jedoch nicht.

ISM-Einstellungen

OpenSearch und Elasticsearch ermöglicht es Ihnen, alle verfügbaren ISM-Einstellungen mithilfe der _cluster/settings API zu ändern. Bei Amazon OpenSearch Service können Sie nur die folgenden ISM-Einstellungen ändern:

  • Einstellungen auf Clusterebene:

    • plugins.index_state_management.enabled

    • plugins.index_state_management.history.enabled

  • Einstellungen auf Index-Ebene:

    • plugins.index_state_management.rollover_alias