Kühlhaus für 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.

Kühlhaus für Amazon OpenSearch Service

Mit Cold Storage können Sie jede Menge selten aufgerufener oder historischer Daten auf Ihrer Amazon OpenSearch Service-Domain speichern und bei Bedarf analysieren, und das zu geringeren Kosten als bei anderen Speicherstufen. Cold-Speicherung ist geeignet, wenn Sie regelmäßige Untersuchungen oder forensische Analysen an Ihren älteren Daten durchführen müssen. Praktische Beispiele für Daten, die für Cold-Speicher geeignet sind, sind selten aufgerufene Protokolle, Daten, die aufbewahrt werden müssen, um Compliance-Anforderungen zu erfüllen, oder Protokolle mit historischem Wert.

Ähnlich wie UltraWarmSpeicher wird Cold Storage von Amazon S3 unterstützt. Wenn Sie kalte Daten abfragen müssen, können Sie sie selektiv an bestehende UltraWarm Knoten anhängen. Sie können die Migration und den Lebenszyklus Ihrer Cold-Daten manuell oder mit Index-Statusmanagement-Verwaltungsrichtlinien verwalten.

Voraussetzungen

Cold-Speicherung hat die folgenden Voraussetzungen:

  • Für Cold Storage ist Elasticsearch Version 7.9 oder höher erforderlich OpenSearch .

  • Um Cold Storage auf einer OpenSearch Service-Domain zu aktivieren, müssen Sie die Aktivierung auch UltraWarm auf derselben Domain durchführen.

  • Um einen Cold-Speicher verwenden zu können, müssen Domänen über dedizierte Hauptknoten verfügen.

  • Wenn Ihre Domäne einen T2- oder T3-Instance-Typ für Ihre Datenknoten verwendet, können Sie keinen Cold-Speicher verwenden.

  • Wenn Ihr Index approximate k-NN ("index.knn": true) verwendet, können Sie ihn nicht in einen kühlen Speicher verschieben.

  • Wenn die Domain eine differenzierte Zugriffskontrolle verwendet, müssen Benutzer ohne Administratorrechte der cold_manager Rolle in OpenSearch Dashboards zugeordnet werden, um Cold-Indizes verwalten zu können.

Anmerkung

Die cold_manager Rolle ist in einigen bereits vorhandenen Dienstdomänen möglicherweise nicht vorhanden. OpenSearch Wenn die Rolle in Dashboards nicht angezeigt wird, müssen Sie sie manuell erstellen.

So konfigurieren Sie Berechtigungen

Wenn Sie Cold Storage in einer bereits vorhandenen OpenSearch Dienstdomäne aktivieren, ist die cold_manager Rolle möglicherweise nicht für die Domäne definiert. Wenn die Domäne eine differenzierte Zugriffskontrolle verwendet, müssen Benutzer ohne Administratorrechte dieser Rolle zugeordnet werden, um Cold-Indizes verwalten zu können. Führen Sie die folgenden Schritte aus, um die cold_manager-Rolle manuell zu erstellen:

  1. Gehen Sie in OpenSearch Dashboards zu Sicherheit und wählen Sie Berechtigungen aus.

  2. Wählen Sie Aktionsgruppe erstellen und konfigurieren Sie die folgenden Gruppen:

    Group name (Gruppenname) Berechtigungen
    cold_cluster
    • cluster:monitor/nodes/stats

    • cluster:admin/ultrawarm*

    • cluster:admin/cold/*

    cold_index
    • indices:monitor/stats

    • indices:data/read/minmax

    • indices:admin/ultrawarm/migration/get

    • indices:admin/ultrawarm/migration/cancel

  3. Wählen Sie Rollen und Rolle erstellen.

  4. Benennen Sie die Rolle cold_manager.

  5. Wählen Sie für Cluster-Berechtigungen die cold_cluster-Gruppe, die Sie erstellt haben.

  6. Geben Sie für Index * ein.

  7. Wählen Sie für Index-Berechtigungen die cold_index-Gruppe, die Sie erstellt haben.

  8. Wählen Sie Erstellen.

  9. Nachdem Sie die Rolle erstellt haben, ordnen Sie sie einer beliebigen Benutzer- oder Backend-Rolle zu, die kalte Indizes verwaltet.

Cold-Speicheranforderungen und Leistungsüberlegungen

Da Cold Storage Amazon S3 verwendet, entsteht kein Overhead von Hot Storage wie Repliken, reserviertem Linux-Speicherplatz und reserviertem OpenSearch Service-Speicherplatz. Cold-Speicher hat keine spezifischen Instance-Typen, da ihm keine Rechenkapazität zugeordnet ist. Sie können beliebig viele Daten im Cold-Speicher speichern. Überwachen Sie die ColdStorageSpaceUtilization Metrik in Amazon CloudWatch , um zu sehen, wie viel Kühlraum Sie verwenden.

Preise für Cold-Speicherung

Ähnlich wie bei der UltraWarm Lagerung zahlen Sie bei Cold Storage nur für die Datenspeicherung. Es fallen keine Rechenkosten für Cold-Daten an und Sie werden nicht in Rechnung gestellt, wenn keine Daten im Cold-Speicher vorhanden sind.

Beim Verschieben von Daten zwischen Cold- und Warm-Speicher fallen keine Transfergebühren an. Während Indizes zwischen Warm- und Cold-Speicher migriert werden, zahlen Sie weiterhin nur für eine Kopie des Indexes. Nach Abschluss der Migration wird der Index entsprechend der Speicherstufe in Rechnung gestellt, auf die er migriert wurde. Weitere Informationen zu den Preisen für Kühlhäuser finden Sie unter Amazon OpenSearch Service-Preise.

Aktivieren von Cold-Speicherung

Die Konsole ist die einfachste Möglichkeit, eine Domäne zu erstellen, die Cold-Speicher verwendet. Wählen Sie beim Erstellen der Domäne Aktivieren von Cold-Speicherung. Derselbe Prozess funktioniert auf vorhandenen Domänen, sofern sie die Voraussetzungen erfüllen. Selbst nachdem der Domänenstatus von Processing (Verarbeitung) zu Active (Aktiv) geändert wurde, steht Cold-Speicher möglicherweise mehrere Stunden lang nicht zur Verfügung.

Sie können auch die AWS CLI oder Konfigurations-API verwenden, um die Cold-Speicherung zu aktivieren.

Beispiel für einen CLI-Befehl

Der folgende AWS CLI Befehl erstellt eine Domain mit drei Datenknoten, drei dedizierten Master-Knoten, aktiviertem Kühlspeicher und aktivierter detaillierter Zugriffskontrolle:

aws opensearch create-domain \ --domain-name my-domain \ --engine-version Opensearch_1.0 \ --cluster-config ColdStorageOptions={Enabled=true},WarmEnabled=true,WarmCount=4,WarmType=ultrawarm1.medium.search,InstanceType=r6g.large.search,DedicatedMasterEnabled=true,DedicatedMasterType=r6g.large.search,DedicatedMasterCount=3,InstanceCount=3 \ --ebs-options EBSEnabled=true,VolumeType=gp2,VolumeSize=11 \ --node-to-node-encryption-options Enabled=true \ --encryption-at-rest-options Enabled=true \ --domain-endpoint-options EnforceHTTPS=true,TLSSecurityPolicy=Policy-Min-TLS-1-2-2019-07 \ --advanced-security-options Enabled=true,InternalUserDatabaseEnabled=true,MasterUserOptions='{MasterUserName=master-user,MasterUserPassword=master-password}' \ --region us-east-2

Weitere Informationen finden Sie in der AWS CLI -Befehlsreferenz.

Beispiel für eine Konfigurations-API-Anforderung

Die folgende Anfrage an die Konfigurations-API erstellt eine Domäne mit drei Datenknoten, drei dedizierten Hauptknoten, aktiviertem Cold-Speicher und aktivierter feingranularer Zugriffskontrolle:

POST https://es.us-east-2.amazonaws.com/2021-01-01/opensearch/domain { "ClusterConfig": { "InstanceCount": 3, "InstanceType": "r6g.large.search", "DedicatedMasterEnabled": true, "DedicatedMasterType": "r6g.large.search", "DedicatedMasterCount": 3, "ZoneAwarenessEnabled": true, "ZoneAwarenessConfig": { "AvailabilityZoneCount": 3 }, "WarmEnabled": true, "WarmCount": 4, "WarmType": "ultrawarm1.medium.search", "ColdStorageOptions": { "Enabled": true } }, "EBSOptions": { "EBSEnabled": true, "VolumeType": "gp2", "VolumeSize": 11 }, "EncryptionAtRestOptions": { "Enabled": true }, "NodeToNodeEncryptionOptions": { "Enabled": true }, "DomainEndpointOptions": { "EnforceHTTPS": true, "TLSSecurityPolicy": "Policy-Min-TLS-1-2-2019-07" }, "AdvancedSecurityOptions": { "Enabled": true, "InternalUserDatabaseEnabled": true, "MasterUserOptions": { "MasterUserName": "master-user", "MasterUserPassword": "master-password" } }, "EngineVersion": "Opensearch_1.0", "DomainName": "my-domain" }

Ausführliche Informationen finden Sie in der Amazon OpenSearch Service API-Referenz.

Verwaltung von Cold-Indizes in Dashboards OpenSearch

Sie können heiße, warme und kalte Indizes mit der vorhandenen Dashboard-Oberfläche in Ihrer Service-Domain verwalten. OpenSearch Mit Dashboards können Sie Indizes zwischen Warm- und Cold-Speicher migrieren und den Indexmigrationsstatus überwachen, ohne die CLI oder die Konfigurations-API zu verwenden. Weitere Informationen finden Sie unter Indizes in Dashboards verwalten. OpenSearch

Migration von Indizes auf Cold-Speicher

Wenn Sie Indizes in den Cold-Speicher migrieren, geben Sie einen Zeitbereich für die Daten an, um die Suche zu erleichtern. Sie können ein Zeitstempelfeld basierend auf den Daten in Ihrem Index auswählen, manuell einen Start- und Endzeitstempel angeben oder gar keinen angeben.

Parameter Unterstützter Wert Beschreibung
timestamp_field Das Datum/Uhrzeitfeld aus dem Index-Mapping.

Die Minimal- und Maximalwerte des bereitgestellten Feldes werden berechnet und als start_time- und end_time-Metadaten für den Cold-Index gespeichert.

start_time und end_time

Eines der folgenden Formate:

  • strict_date_optional_time. Zum Beispiel yyyy-MM-dd'T'HH:mm:ss.SSSZ oder yyyy-MM-dd

  • Epochenzeit in Millisekunden

Die angegebenen Werte werden berechnet und als start_time- und end_time-Metadaten für den Cold-Index gespeichert.

Wenn Sie keinen Zeitstempel angeben möchten, fügen Sie stattdessen ?ignore=timestamp zur Anfrage hinzu.

Die folgende Anforderung migriert einen Warm-Index in den Cold-Speicher und stellt Start- und Endzeiten für die Daten in diesem Index bereit:

POST _ultrawarm/migration/my-index/_cold { "start_time": "2020-03-09", "end_time": "2020-03-09T23:00:00Z" }

Überprüfen Sie dann den Status der Migration:

GET _ultrawarm/migration/my-index/_status { "migration_status": { "index": "my-index", "state": "RUNNING_METADATA_RELOCATION", "migration_type": "WARM_TO_COLD" } }

OpenSearch Der Service migriert jeweils einen Index in einen Cold Storage. Sie können bis zu 100 Migrationen in der Warteschlange haben. Jede Anfrage, die das Limit überschreitet, wird abgelehnt. Um die aktuelle Anzahl von Migrationen in der Warteschlange zu überprüfen, überwachen Sie die WarmToColdMigrationQueueSize-Metrik. Der Migrationsprozess weist die folgenden Zustände auf:

ACCEPTED_COLD_MIGRATION - Migration request is accepted and queued. RUNNING_METADATA_MIGRATION - The migration request was selected for execution and metadata is migrating to cold storage. FAILED_METADATA_MIGRATION - The attempt to add index metadata has failed and all retries are exhausted. PENDING_INDEX_DETACH - Index metadata migration to cold storage is completed. Preparing to detach the warm index state from the local cluster. RUNNING_INDEX_DETACH - Local warm index state from the cluster is being removed. Upon success, the migration request will be completed. FAILED_INDEX_DETACH - The index detach process failed and all retries are exhausted.

Automatisierung von Migrationen zum Cold-Speicher

Sie können Index-Stausmanagement verwenden, um den Migrationsprozess zu automatisieren, nachdem ein Index ein bestimmtes Alter erreicht hat oder andere Bedingungen erfüllt. Sehen Sie sich die Beispielrichtlinie an, die zeigt, wie Indizes automatisch von Hot UltraWarm zu Cold Storage migriert werden.

Anmerkung

Ein explizites timestamp_field ist erforderlich, um Indizes mithilfe einer Index-Statusmanagement-Richtlinie in den Cold-Speicher zu verlagern.

Abbruch von Migrationen zum Cold-Speicher

Wenn eine Migration zum Cold-Speicher in der Warteschlange oder in einem fehlgeschlagenen Zustand ist, können Sie die Migration mit der folgenden Anforderung abbrechen:

POST _ultrawarm/migration/_cancel/my-index { "acknowledged" : true }

Wenn Ihre Domäne differenzierte Zugriffskontrolle verwendet, benötigen Sie die indices:admin/ultrawarm/migration/cancel-Berechtigung, um diese Anfrage zu stellen.

Kalte Indizes auflisten

Vor der Abfrage können Sie die Indizes im Cold Storage auflisten, um zu entscheiden, zu welchen Indizes Sie UltraWarm für weitere Analysen migrieren möchten. Die folgende Anfrage listet alle Cold-Indizes, sortiert nach Indexnamen, auf:

GET _cold/indices/_search

Beispielantwort

{ "pagination_id" : "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "total_results" : 3, "indices" : [ { "index" : "my-index-1", "index_cold_uuid" : "hjEoh26mRRCFxRIMdgvLmg", "size" : 10339, "creation_date" : "2021-06-28T20:23:31.206Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" }, { "index" : "my-index-2", "index_cold_uuid" : "0vIS2n-oROmOWDFmwFIgdw", "size" : 6068, "creation_date" : "2021-07-15T19:41:18.046Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" }, { "index" : "my-index-3", "index_cold_uuid" : "EaeXOBodTLiDYcivKsXVLQ", "size" : 32403, "creation_date" : "2021-07-08T00:12:01.523Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" } ] }

Filtern

Sie können Cold-Indizes basierend auf einem Präfix-basierten Indexmuster und Zeitbereich-Offsets filtern.

Die folgende Anforderung listet Indizes auf, die mit dem Präfixmuster von event-* übereinstimmen:

GET _cold/indices/_search { "filters":{ "index_pattern": "event-*" } }

Beispielantwort

{ "pagination_id" : "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "total_results" : 1, "indices" : [ { "index" : "events-index", "index_cold_uuid" : "4eFiab7rRfSvp3slrIsIKA", "size" : 32263273, "creation_date" : "2021-08-18T18:25:31.845Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" } ] }

Die folgende Anforderung gibt Indizes mit start_time- und end_time-Metadaten-Feldern zwischen 2019-03-01 und 2020-03-01 zurück:

GET _cold/indices/_search { "filters": { "time_range": { "start_time": "2019-03-01", "end_time": "2020-03-01" } } }

Beispielantwort

{ "pagination_id" : "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "total_results" : 1, "indices" : [ { "index" : "my-index", "index_cold_uuid" : "4eFiab7rRfSvp3slrIsIKA", "size" : 32263273, "creation_date" : "2021-08-18T18:25:31.845Z", "start_time" : "2019-05-09T00:00Z", "end_time" : "2019-09-09T23:00Z" } ] }

Sortieren

Sie können Cold-Indizes nach Metadatenfeldern wie Indexname oder Größe sortieren. Die folgende Abfrage listet alle Indizes nach Größe sortiert in absteigender Reihenfolge auf:

GET _cold/indices/_search { "sort_key": "size:desc" }

Beispielantwort

{ "pagination_id" : "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "total_results" : 5, "indices" : [ { "index" : "my-index-6", "index_cold_uuid" : "4eFiab7rRfSvp3slrIsIKA", "size" : 32263273, "creation_date" : "2021-08-18T18:25:31.845Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" }, { "index" : "my-index-9", "index_cold_uuid" : "mbD3ZRVDRI6ONqgEOsJyUA", "size" : 57922, "creation_date" : "2021-07-07T23:41:35.640Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" }, { "index" : "my-index-5", "index_cold_uuid" : "EaeXOBodTLiDYcivKsXVLQ", "size" : 32403, "creation_date" : "2021-07-08T00:12:01.523Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" } ] }

Andere gültige Sortierschlüssel sind start_time:asc/desc, end_time:asc/desc und index_name:asc/desc.

Paginierung

Sie können eine Liste mit kalten Indizes paginieren. Konfigurieren Sie die Anzahl der Indizes, die pro Seite zurückgegeben werden sollen, mit dem page_size-Parameter (der Standardwert ist 10). Jede _search-Anfrage auf Ihre Cold-Indizes gibt eine pagination_id zurück, die Sie für nachfolgende Aufrufe verwenden können.

Die folgende Anforderung paginiert die Ergebnisse einer _search-Anfrage Ihrer Cold-Indizes und zeigt die nächsten 100 Ergebnisse an:

GET _cold/indices/_search?page_size=100 { "pagination_id": "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY" }

Migrieren von Cold-Indizes zum Warm-Speicher

Nachdem Sie die Liste der Kaltindizes anhand der Filterkriterien aus dem vorherigen Abschnitt eingegrenzt haben, migrieren Sie sie wieder dorthin, UltraWarm wo Sie die Daten abfragen und zum Erstellen von Visualisierungen verwenden können.

Die folgende Anfrage migriert zwei Cold-Indizes zurück in den Warm-Speicher:

POST _cold/migration/_warm { "indices": "my-index1,my-index2" } { "acknowledged" : true }

Um den Status der Migration zu überprüfen und die Migrations-ID abzurufen, senden Sie die folgende Anforderung:

GET _cold/migration/_status

Beispielantwort

{ "cold_to_warm_migration_status" : [ { "migration_id" : "tyLjXCA-S76zPQbPVHkOKA", "indices" : [ "my-index1,my-index2" ], "state" : "RUNNING_INDEX_CREATION" } ] }

Um indexspezifische Migrationsinformationen abzurufen, geben Sie den Indexnamen ein:

GET _cold/migration/my-index/_status

Anstatt einen Index anzugeben, können Sie die Indizes nach ihrem aktuellen Migrationsstatus auflisten. Gültige Werte sind _failed, _accepted und _all.

Der folgende Befehl ruft den Status aller Indizes in einer einzelnen Migrationsanforderung ab:

GET _cold/migration/_status?migration_id=my-migration-id

Rufen Sie die Migrations-ID mit der Statusanforderung ab. Für detaillierte Migrationsinformationen fügen Sie &verbose=true hinzu.

Sie können Indizes aus dem kalten in den warmen Speicher in Batches von 10 oder weniger migrieren, wobei maximal 100 Indizes gleichzeitig migriert werden können. Jede Anfrage, die das Limit überschreitet, wird abgelehnt. Um die aktuelle Anzahl von Migrationen zu überprüfen, überwachen Sie die ColdToWarmMigrationQueueSize-Metrik. Der Migrationsprozess weist die folgenden Zustände auf:

ACCEPTED_MIGRATION_REQUEST - Migration request is accepted and queued. RUNNING_INDEX_CREATION - Migration request is picked up for processing and will create warm indexes in the cluster. PENDING_COLD_METADATA_CLEANUP - Warm index is created and the migration service will attempt to clean up cold metadata. RUNNING_COLD_METADATA_CLEANUP - Cleaning up cold metadata from the indexes migrated to warm storage. FAILED_COLD_METADATA_CLEANUP - Failed to clean up metadata in the cold tier. FAILED_INDEX_CREATION - Failed to create an index in the warm tier.

Wiederherstellen von Cold-Indizes aus Snapshots

Wenn Sie einen gelöschten kalten Index wiederherstellen müssen, können Sie ihn wieder auf die warme Ebene zurücksetzen, indem Sie den Anweisungen unter folgen Warme Indizes aus Snapshots wiederherstellen und den Index dann wieder auf die kalte Ebene migrieren. Sie können einen gelöschten Cold-Index nicht direkt wieder auf die Cold-Ebene zurücksetzen. OpenSearch Der Service behält kalte Indizes 14 Tage lang, nachdem sie gelöscht wurden.

Abbruch von Migrationen von Cold- zu Warm-Speicher

Wenn eine Indexmigration von Cold- zu Warm-Speicher in die Warteschlange gestellt wird oder sich in einem fehlgeschlagenen Zustand befindet, können Sie sie mit der folgenden Anforderung abbrechen:

POST _cold/migration/my-index/_cancel { "acknowledged" : true }

Um die Migration für einen Batch von Indizes abzubrechen (maximal 10 gleichzeitig), geben Sie die Migrations-ID an:

POST _cold/migration/_cancel?migration_id=my-migration-id { "acknowledged" : true }

Rufen Sie die Migrations-ID mit der Statusanforderung ab.

Cold-Index-Metadaten aktualisieren

Sie können die start_time- und end_time-Felder für einen Cold-Index aktualisieren:

PATCH _cold/my-index { "start_time": "2020-01-01", "end_time": "2020-02-01" }

Sie können nicht die timestamp_field eines Indexes im Cold-Speicher aktualiseiren.

Anmerkung

OpenSearch Dashboards unterstützt die PATCH-Methode nicht. Verwenden Sie curl, Postman oder eine andere Methode, um Cold-Metadaten zu aktualisieren.

Kalte Indizes löschen

Wenn Sie keine ISM-Richtlinie verwenden, können Sie Cold-Indizes manuell löschen. Die folgende Anforderung löscht einen Cold-Index:

DELETE _cold/my-index { "acknowledged" : true }

Deaktivieren von Cold-Speicherung

Die OpenSearch Servicekonsole ist die einfachste Möglichkeit, Cold Storage zu deaktivieren. Wählen Sie die Domäne aus und wählen Sie Aktionen, Clusterkonfiguration bearbeiten und deaktivieren Sie dann Cold-Speicher aktivieren.

Um die AWS CLI oder die Konfigurations-API zu verwendenColdStorageOptions, setzen Sie unter"Enabled"="false".

Bevor Sie den Cold-Speicher deaktivieren, müssen Sie entweder alle Cold-Indizes löschen oder sie wieder in den Warm-Speicher migrieren. Andernfalls schlägt die Deaktivierungsaktion fehl.