Externes OpenSearch-Cluster importieren
Sie können vorhandene Cluster aus Ihren externen OpenSearch-Installationen in Oracle Cloud Infrastructure verwenden. Auf diese Weise können Sie die Managed Service-Funktionen nutzen, die von Search mit OpenSearch bereitgestellt werden.
In diesem Thema wird der Prozess beschrieben, mit dem Ihre vorhandenen OpenSearch-Cluster in Oracle Cloud Infrastructure gebracht werden. Er umfasst die folgenden Aufgaben:
- Snapshot des Clusters erstellen.
- Snapshot in Object Storage hochladen.
- Erstellen Sie das Zielcluster in Search mit OpenSearch.
- Konfigurieren Sie eine dynamische Policy mit den erforderlichen Berechtigungen.
- Registrieren Sie das Repository.
- Stellen Sie den Snapshot wieder her.
Voraussetzungen
Bevor Sie mit den in diesem Thema beschriebenen Schritten fortfahren, benötigen Sie einen Mandanten, in dem Sie arbeiten können. Der Benutzeraccount, mit dem Sie sich beim Mandanten anmelden, erfordert ausreichenden Zugriff, um Service- und Benutzerberechtigungen für Oracle Cloud Infrastructure-Services und -Ressourcen zu konfigurieren. Weitere Informationen zu den ersten Schritten mit Oracle Cloud Infrastructure finden Sie in den folgenden Ressourcen:
Um diese Verfahren abzuschließen, benötigen Sie Zugriff zum Erstellen eines Object Storage-Buckets und zum Hochladen einer Datei in den Bucket. Wenn Sie diese Berechtigungen für einen bestimmten Benutzer konfigurieren müssen, lesen Sie die Beispiel-Policys unter Verwalten von Buckets und Objekten durch Object Storage-Administratoren zulassen und Schreiben von Objekten in Object Storage-Buckets durch Benutzer zulassen.
Außerdem müssen Sie den Service und die Benutzerberechtigungen konfigurieren, die zum Erstellen von OpenSearch-Clustern erforderlich sind.
Das folgende Policy-Beispiel enthält die erforderlichen Berechtigungen:
Allow service opensearch to manage vnics in compartment <YOUR_COMPARTMENT>
Allow service opensearch to manage vcns in compartment <YOUR_COMPARTMENT>
Allow service opensearch to use subnets in compartment <YOUR_COMPARTMENT>
Allow service opensearch to use network-security-groups in compartment <YOUR_COMPARTMENT>
Allow <YOUR_USER> to manage opensearch-family in compartment <YOUR_COMPARTMENT>
Die in diesem Beispiel enthaltenen Serviceberechtigungen sind wie angegeben erforderlich. Sie können die Benutzerberechtigungen, die in der letzten Zeile in diesem Beispiel angegeben werden, mit mehr Granularität konfigurieren. Beispiele für Policy-Anweisungen finden Sie unter Beispiel-Policys.
Snapshot des Clusters erstellen
Generieren Sie einen Snapshot des Clusters aus der externen OpenSearch-Installation. Einen Überblick über Cluster-Snapshots und deren Generierung finden Sie unter OpenSearch - Snapshots erstellen und wiederherstellen.
Snapshot in Objektspeicher-Bucket hochladen
Nachdem der Snapshot generiert wurde, laden Sie die Snapshot-Datei in einen Objektspeicher-Bucket in Ihrem Mandanten hoch. Ein Tutorial, in dem Sie erfahren, wie Sie einen Bucket erstellen und Dateien in den Bucket hochladen, finden Sie unter Daten in Object Storage einfügen.
Notieren Sie sich die folgenden Informationen für den Bucket, in den Sie den Snapshot hochgeladen haben. Diese Informationen finden Sie auf der Seite Bucket-Details in der Konsole.
- Namespace
- Compartment-Name
- Bucket-Name
- Repository-Name
- Name der Snapshot-Datei
Notieren Sie sich auch die Compartment-OCID.
So rufen Sie die Compartment-OCID ab:
- Klicken Sie auf der Seite Bucket-Details unter Clusterinformationen auf den Link für Compartment.
- Klicken Sie unter Compartment-Informationen auf Kopieren für OCID.
Zielcluster erstellen
Bevor der Snapshot aus der externen OpenSearch-Installation in Oracle Cloud Infrastructure importiert werden kann, müssen Sie ein OpenSearch-Cluster in "Suchen mit OpenSearch" erstellen. Dieses Cluster ist das Zielcluster, in das der Snapshot importiert wird.
Eine schrittweise Anleitung zum Erstellen des Clusters, einschließlich der erforderlichen Voraussetzungen, finden Sie unter Cluster OpenSearch erstellen.
Wenn Sie das Cluster erstellen, müssen Sie sicherstellen, dass Sie das Cluster mit derselben Knotenkonfiguration wie das Quellcluster konfigurieren, für das Sie den Snapshot importieren.
Notieren Sie sich die folgenden Informationen für das Cluster:
- OCID
- Compartment-Name
Diese Informationen finden Sie in der Konsole auf der Seite Clusterdetails. Informationen hierzu finden Sie unter Details eines OpenSearch-Clusters abrufen. Notieren Sie sich auch die Compartment-OCID.
So rufen Sie die Compartment-OCID ab:
- Klicken Sie auf der Seite Clusterdetails unter Clusterinformationen> auf den Link für Compartment.
- Klicken Sie unter Compartment-Informationen auf Kopieren für OCID.
IAM-Policy
Sie müssen Berechtigungen konfigurieren, um dem Cluster OpenSearch Zugriff auf den Objektspeicher-Bucket in Ihrem Mandanten zu erteilen.
Das folgende Policy-Beispiel enthält die erforderlichen Berechtigungen:
DEFINE tenancy opensearch-tenancy as <OpenSearch_Tenancy_ID>
ADMIT resource opensearch opensearchsnapshots of tenancy opensearch-tenancy to manage object-family in compartment <snapshot_bucket_compartment> where ALL {request.principal.clusterid='<cluster_OCID>', request.principal.ownertenant='<customer_tenancy_OCID>', request.principal.ownercompartment='<customer_compartment_OCID>', target.bucket.name='<snapshot_bucket_name>'}
<OpenSearch_Tenancy_ID> ist die OCID für die OCI-Suche mit dem Mandanten OpenSearch. Sie finden diesen Wert auf der Seite Clusterdetails für das Cluster im Feld Opensearch-Mandanten-OCID unter dem Abschnitt Zusätzliche Informationen.
<customer_tenancy_OCID> ist die OCID für Ihren Mandanten, in dem Sie das Cluster OpenSearch erstellt haben.
<customer_compartment_OCID> ist die OCID für das Compartment, in dem sich das Cluster OpenSearch befindet.
Repository registrieren
Registrieren Sie das Repository, wie im folgenden Beispiel gezeigt:
PUT _snapshot/<repository_name>
{
"type": "oci",
"settings": {
"client": "default",
"endpoint": "<objectstorage_endpoint>",
"bucket": "<bucket_name>",
"namespace": "<namespace>",
"authType": "RESOURCE_PRINCIPAL",
"bucket_compartment_id": "<bucket_compartment_OCID>",
"forceBucketCreation": true
}
}
In der folgenden Tabelle werden die Parameter beschrieben, die beim Registrieren des Repositorys angegeben werden müssen.
Parameter | Beschreibung |
---|---|
Repository-Bezeichnung |
Der Name, den Sie dem Repository für den Snapshot zuweisen. |
endpoint |
Der Endpunkt für den Objektspeicher-Bucket. Beispiel: Der Object Storage-Endpunkt der Region "US East (Ashburn)" ist https://objectstorage.us-ashburn-1.oraclecloud.com. |
Namespace |
Der Object Storage-Namespace für den Bucket. |
authType |
Geben Sie an, dass der Resource Principal verwendet werden soll, mit dem die Suche mit OpenSearch in Ihrem Namen ausgeführt werden kann. |
bucket_compartment_id |
Die OCID des Compartments, in dem der Bucket gespeichert ist. |
forceBucketCreation |
Gibt an, dass der Objektspeicher-Bucket erstellt wird, wenn er noch nicht vorhanden ist. Der Standardwert ist "false". |
Snapshot wiederherstellen
Bevor Sie einen Snapshot wiederherstellen, können Sie alle vorhandenen Snapshots für ein Cluster abrufen. Rufen Sie zunächst alle im Cluster registrierten Repositorys ab, wie im folgenden Beispiel dargestellt:
GET _snapshot/_all?pretty
Rufen Sie anschließend alle Snapshots im Repository ab, wie im folgenden Beispiel dargestellt:
GET _snapshot/<repository_name>?pretty
Stellen Sie nun den Snapshot wieder her, wie im folgenden Beispiel gezeigt:
POST _snapshot/<repository_name>/<snapshot_name>/_restore
{
"indices": "<index_name_to_include>,-<index_name_to_exclude>",
"ignore_unavailable": true,
"include_global_state": false,
"rename_pattern": "(.+)",
"rename_replacement": "restored_$1",
"include_aliases": true
}
Sie können einen oder mehrere Indizes angeben, die eingeschlossen werden sollen, <index_name_to_include>
und mindestens einen auszuschließenden Index, -<index_name_to_exclude>
.
Weitere Informationen zu diesem API-Vorgang finden Sie unter Snapshots wiederherstellen.