Index-Snapshots in Amazon OpenSearch Service erstellen - 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.

Index-Snapshots in Amazon OpenSearch Service erstellen

Snapshots in Amazon OpenSearch Service sind Backups der Indizes und des Status eines Clusters. Der Status beinhaltet Cluster-Einstellungen, Knoteninformationen, Index-Einstellungen und die Shard-Zuweisung.

OpenSearch Service-Snapshots gibt es in den folgenden Formen:

  • Automatisierte Snapshots dienen nur zur Cluster-Wiederherstellung. Sie können sie verwenden, um Ihre Domain im Falle eines roten Cluster-Status oder Datenverlusts wiederherzustellen. Weitere Informationen finden Sie weiter unten unter Snapshots wiederherstellen. OpenSearch Der Service speichert automatische Snapshots ohne zusätzliche Kosten in einem vorkonfigurierten Amazon S3 S3-Bucket.

  • Manuelle Snapshots dienen zur Cluster-Wiederherstellung oder zum Verschieben von Daten von einem Cluster zu einem anderen. Sie müssen manuelle Snapshots initiieren. Diese Snapshots werden in Ihrem eigenen Amazon-S3-Bucket gespeichert und es fallen die S3-Standardgebühren an. Wenn Sie über einen Snapshot aus einem selbstverwalteten OpenSearch Cluster verfügen, können Sie diesen Snapshot verwenden, um zu einer OpenSearch Service-Domain zu migrieren. Weitere Informationen finden Sie unter Migration zu Amazon OpenSearch Service.

Alle OpenSearch Service-Domains erstellen automatische Snapshots, aber die Häufigkeit unterscheidet sich in folgenden Punkten:

  • Für Domains, die OpenSearch oder Elasticsearch 5.3 und höher laufen, OpenSearch erstellt Service stündlich automatisierte Snapshots und speichert bis zu 336 davon 14 Tage lang. Stündliche Snapshots sind aufgrund ihrer inkrementellen Natur weniger störend. Sie bieten auch einen neueren Wiederherstellungspunkt für den Fall von Problemen mit Domains.

  • Bei Domains, auf denen Elasticsearch 5.1 und früher ausgeführt wird, erstellt OpenSearch Service täglich automatische Snapshots zu der von Ihnen angegebenen Stunde, speichert bis zu 14 davon und speichert keine Snapshot-Daten länger als 30 Tage.

Wenn Ihr Cluster in den roten Status wechselt, schlagen alle automatisierten Snapshots fehl, während der Cluster-Status bestehen bleibt. Wenn Sie das Problem nicht innerhalb von zwei Wochen beheben, können die Daten in Ihrem Cluster dauerhaft verloren gehen. Fehlerbehandlungsschritte finden Sie unter Roter Cluster-Status.

Voraussetzungen

Um Snapshots manuell zu erstellen, müssen Sie mit IAM Amazon S3 arbeiten. Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen, bevor Sie versuchen, einen Snapshot zu erstellen:

Voraussetzung Beschreibung
S3-Bucket

Erstellen Sie einen S3-Bucket zum Speichern manueller Snapshots für Ihre OpenSearch Service-Domain. Weitere Anleitungen finden Sie unter Erstellen eines Buckets im Benutzerhandbuch für Amazon Simple Storage Service.

Merken Sie sich den Namen des Buckets, um ihn an den folgenden Stellen zu verwenden:

  • Die Resource Erklärung der IAM Richtlinie, die Ihrer IAM Rolle beigefügt ist

  • Der Python-Client, der zum Registrieren eines Snapshot-Repositorys verwendet wurde (wenn Sie diese Methode verwenden)

Wichtig

Wenden Sie keine S3 Glacier-Lebenszyklusregel auf diesen Bucket an. Manuelle Snapshots bieten keine Unterstützung für die Speicherklasse S3 Glacier.

IAMRolle

Erstellen Sie eine IAM Rolle, um Berechtigungen an den OpenSearch Dienst zu delegieren. Anweisungen finden Sie im IAMBenutzerhandbuch unter Erstellen einer IAM Rolle (Konsole). Das restliche Kapitel bezieht sich auf diese Rolle als TheSnapshotRole.

Hängen Sie eine IAM Richtlinie an

Hängen Sie die folgende Richtlinie an TheSnapshotRole an, um den Zugriff auf den S3-Bucket zuzulassen:

{ "Version": "2012-10-17", "Statement": [{ "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::s3-bucket-name" ] }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::s3-bucket-name/*" ] } ] }

Anweisungen zum Anhängen einer Richtlinie an eine Rolle finden Sie unter Hinzufügen von IAM Identitätsberechtigungen im IAMBenutzerhandbuch.

Bearbeiten der Vertrauensstellung

Bearbeiten Sie die Vertrauensstellung vonTheSnapshotRole, um OpenSearch Service in der Principal Anweisung anzugeben, wie im folgenden Beispiel gezeigt:

{ "Version": "2012-10-17", "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com" }, "Action": "sts:AssumeRole" }] }

Anweisungen zum Bearbeiten der Vertrauensbeziehung finden Sie unter Ändern einer Rollenvertrauensrichtlinie im IAMBenutzerhandbuch.

Berechtigungen

Um das Snapshot-Repository zu registrieren, müssen Sie in der Lage sein, zum OpenSearch Service TheSnapshotRole zu wechseln. Sie benötigen außerdem Zugriff auf die Aktion es:ESHttpPut. Um diese beiden Berechtigungen zu gewähren, fügen Sie der IAM Rolle, deren Anmeldeinformationen zum Signieren der Anfrage verwendet werden, die folgende Richtlinie hinzu:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/TheSnapshotRole" }, { "Effect": "Allow", "Action": "es:ESHttpPut", "Resource": "arn:aws:es:region:123456789012:domain/domain-name/*" } ] }

Wenn Ihr Benutzer oder Ihre Rolle nicht über die iam:PassRole erforderlichen Berechtigungen verfügtTheSnapshotRole, tritt möglicherweise der folgende Fehler auf, wenn Sie im nächsten Schritt versuchen, ein Repository zu registrieren:

$ python register-repo.py {"Message":"User: arn:aws:iam::123456789012:user/MyUserAccount is not authorized to perform: iam:PassRole on resource: arn:aws:iam::123456789012:role/TheSnapshotRole"}

Löschen von manuellen Snapshots

Führen Sie den folgenden Befehl aus, um einen manuellen Snapshot zu löschen:

DELETE _snapshot/repository-name/snapshot-name

Automatisieren von Snapshots mit Index-Statusmanagement

Sie können den snapshot Vorgang Index State Management (ISM) verwenden, um automatisch Snapshots von Indizes auszulösen, die auf Änderungen des Alters, der Größe oder der Anzahl der Dokumente basieren. ISMist am besten geeignet, wenn Sie einen Snapshot pro Index benötigen. Informationen zum Erstellen eines Snapshots einer Gruppe von Indizes finden Sie unterAutomatisieren von Snapshots mit Snapshot Management.

Um SM in OpenSearch Service verwenden zu können, müssen Sie Ihr eigenes Amazon S3 S3-Repository registrieren. Eine ISM Beispielrichtlinie, die den snapshot Vorgang verwendet, finden Sie unter Beispielrichtlinien.

Verwenden von Curator für Snapshots

Wenn ISM das für die Index- und Snapshot-Verwaltung nicht funktioniert, können Sie stattdessen Curator verwenden. Es bietet eine erweiterte Filterfunktionalität zur Vereinfachung der Verwaltungsaufgaben auf komplexen Clustern. Verwenden Sie pip zum Installieren von Curator:

pip install elasticsearch-curator

Sie können Curator als Befehlszeilenschnittstelle (CLI) oder Python API verwenden. Wenn Sie Python verwendenAPI, müssen Sie Version 7.13.4 oder früher des Legacy-Elasticsearch-py-Clients verwenden. Sie unterstützt den opensearch-py-Client nicht.

Wenn Sie den verwendenCLI, exportieren Sie Ihre Anmeldeinformationen über die Befehlszeile und konfigurieren Sie sie wie folgt: curator.yml

client: hosts: search-my-domain.us-west-1.es.amazonaws.com port: 443 use_ssl: True aws_region: us-west-1 aws_sign_request: True ssl_no_validate: False timeout: 60 logging: loglevel: INFO