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 und 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, um manuelle Snapshots für Ihre OpenSearch Service-Domain zu speichern. Anweisungen finden Sie unter Erstellen eines Allzweck-Buckets im Amazon Simple Storage Service-Benutzerhandbuch.

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

  • Die Resource-Anweisung 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.

IAM-Rolle

Erstellen Sie eine IAM-Rolle, um Berechtigungen an den Service zu OpenSearch delegieren. Detaillierte Anleitungen finden Sie unter Erstellen einer IAM-Rolle (Konsole) im IAM-Benutzerhandbuch. Das restliche Kapitel bezieht sich auf diese Rolle als TheSnapshotRole.

Anfügen einer IAM-Richtlinie

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

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

Anweisungen zum Anhängen einer Richtlinie an eine Rolle finden Sie unter Hinzufügen von IAM-Identitätsberechtigungen (Konsole) im IAM-Benutzerhandbuch.

Bearbeiten der Vertrauensstellung

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

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

Anweisungen zum Bearbeiten der Vertrauensbeziehung finden Sie unter Aktualisieren einer Rollenvertrauensrichtlinie im IAM-Benutzerhandbuch.

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 erteilen, fügen Sie die folgende Richtlinie an die IAM-Rolle an, deren Anmeldeinformationen zum Signieren der Anforderung verwendet werden:

JSON
{ "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. ISM eignet sich am besten, 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. Ein Beispiel für eine Richtlinie, die den Vorgang snapshot verwendet, finden Sie unter Beispielrichtlinien.

Verwenden von Curator für Snapshots

Wenn ISM 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 (Command Line Interface, CLI) oder Python-API verwenden. Wenn Sie die Python-API verwenden, 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 die CLI verwenden, exportieren Sie Ihre Anmeldeinformationen über die Befehlszeile und konfigurieren Sie curator.yml wie folgt:

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