

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.

# Tutorial: Migration zu Amazon Service OpenSearch
<a name="migration"></a>

Index-Snapshots sind eine beliebte Methode, um von einem selbstverwalteten OpenSearch oder älteren Elasticsearch-Cluster zu Amazon Service zu migrieren. OpenSearch Im Großen und Ganzen besteht der Prozess aus den folgenden Schritten:

1. Erstellen Sie einen Snapshot des vorhandenen Clusters, und laden Sie den Snapshot in einen Amazon S3-Bucket hoch.

1. Erstellen Sie eine Service-Domain OpenSearch .

1. Erteilen Sie dem OpenSearch Service Berechtigungen für den Zugriff auf den Bucket und stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen für die Arbeit mit Snapshots verfügen.

1. Stellen Sie den Snapshot in der OpenSearch Service-Domain wieder her.

In dieser Anleitung finden Sie detailliertere Schritte und gegebenenfalls alternative Optionen.

## Snapshot erstellen und hochladen
<a name="migration-take-snapshot"></a>

Sie können zwar das [Repository-S3-Plugin](https://docs.opensearch.org/latest/opensearch/snapshot-restore/#amazon-s3) verwenden, um Snapshots direkt in S3 zu erstellen, aber Sie müssen das Plugin auf jedem Knoten installieren, Anpassungen vornehmen `opensearch.yml` (oder `elasticsearch.yml` wenn Sie einen Elasticsearch-Cluster verwenden), jeden Knoten neu starten, Ihre AWS Anmeldeinformationen hinzufügen und schließlich den Snapshot erstellen. Das Plugin ist eine großartige Option für den laufenden Einsatz oder für die Migration größerer Cluster.

Bei kleineren Clustern besteht ein einmaliger Ansatz darin, einen [gemeinsamen Dateisystem-Snapshot zu erstellen](https://docs.opensearch.org/latest/opensearch/snapshot-restore/#shared-file-system) und ihn dann zu verwenden, um ihn auf S3 hochzuladen. AWS CLI Wenn Sie bereits einen Snapshot haben, fahren Sie mit Schritt 4 fort.

****So erstellen Sie einen Snapshot und laden ihn auf Amazon S3 hoch****

1. Fügen Sie die `path.repo`-Einstellung zu `opensearch.yml` (oder `Elasticsearch.yml`) auf allen Knoten hinzu, und starten Sie dann jeden Knoten neu.

   ```
   path.repo: ["/my/shared/directory/snapshots"]
   ```

1. Sie müssen ein [Snapshot-Repository](https://opensearch.org/docs/latest/opensearch/snapshot-restore/#register-repository) registrieren, bevor Sie einen Schnappschuss erstellen können. Ein Repository ist nur ein Speicherort: ein freigegebenes Dateisystem, Amazon S3, Hadoop Distributed File System (HDFS) usw. In diesem Fall verwenden wir ein freigegebenes Dateisystem („fs“):

   ```
   PUT _snapshot/my-snapshot-repo-name
   {
     "type": "fs",
     "settings": {
       "location": "/my/shared/directory/snapshots"
     }
   }
   ```

1. Erstellen Sie den Snapshot:

   ```
   PUT _snapshot/my-snapshot-repo-name/my-snapshot-name
   {
     "indices": "migration-index1,migration-index2,other-indices-*",
     "include_global_state": false
   }
   ```

1. Installieren Sie die [AWS CLI](https://aws.amazon.com/cli/), und führen Sie `aws configure` aus, um Ihre Anmeldeinformationen hinzuzufügen.

1. Navigieren Sie zum Snapshot-Verzeichnis. Führen Sie dann die folgenden Befehle aus, um einen neuen S3-Bucket zu erstellen, und laden Sie den Inhalt des Snapshot-Verzeichnisses in diesen Bucket hoch:

   ```
   aws s3 mb s3://amzn-s3-demo-bucket --region us-west-2
   aws s3 sync . s3://amzn-s3-demo-bucket --sse AES256
   ```

   Abhängig von der Größe des Snapshots und der Geschwindigkeit Ihrer Internetverbindung kann dieser Vorgang eine Weile dauern.

## Domain erstellen
<a name="migration-create-domain"></a>

Die Konsole ist zwar der einfachste Weg, eine Domain zu erstellen, aber in diesem Fall haben Sie das Terminal bereits geöffnet und AWS CLI installiert. Ändern Sie den folgenden Befehl, um eine Domain zu erstellen, die Ihren Anforderungen entspricht:

```
aws opensearch create-domain \
  --domain-name migration-domain \
  --engine-version OpenSearch_1.0 \
  --cluster-config InstanceType=c5.large.search,InstanceCount=2 \
  --ebs-options EBSEnabled=true,VolumeType=gp2,VolumeSize=100 \
  --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-user-password}' \
  --access-policies '{"Version": "2012-10-17",		 	 	 "Statement":[{"Effect":"Allow","Principal": {"AWS": "arn:aws:iam::aws-region:user/UserName"},"Action":["es:ESHttp*"],"Resource":"arn:aws:es:aws-region:111122223333:domain/migration-domain/*"}]}' \
  --region aws-region
```

Mit dem Befehl wird eine für das Internet zugängliche Domain mit zwei Datenknoten erstellt, die jeweils 100 GiB Speicher aufweisen. Er ermöglicht auch eine [differenzierte Zugriffskontrolle](fgac.md) mit HTTP-Standardauthentifizierung und allen Verschlüsselungseinstellungen. Verwenden Sie die OpenSearch Servicekonsole, wenn Sie eine erweiterte Sicherheitskonfiguration benötigen, z. B. eine VPC.

Bevor Sie den Befehl ausführen, ändern Sie den Domain-Namen, die Anmeldeinformationen des Master-Benutzers und die Kontonummer. Geben Sie dieselbe Version an AWS-Region , die Sie für den S3-Bucket verwendet haben, und eine OpenSearch/Elasticsearch Version, die mit Ihrem Snapshot kompatibel ist.

**Wichtig**  
Snapshots sind nur vorwärtskompatibel und auch nur mit einer Hauptversion. Sie können beispielsweise keinen Snapshot aus einem Snapshot OpenSearch wiederherstellen. *x-Cluster* auf einem Elasticsearch 7. *x* Cluster, nur ein OpenSearch 1. *x* oder 2. *x-Cluster*. Kleinere Versionen sind ebenfalls von Bedeutung. Sie können keinen Snapshot aus einem selbstverwalteten 5.3.3-Cluster auf einer OpenSearch 5.3.2-Servicedomäne wiederherstellen. Wir empfehlen, die neueste Version von OpenSearch oder Elasticsearch zu wählen, die Ihr Snapshot unterstützt. Eine Tabelle mit kompatiblen Versionen finden Sie unter [Verwenden eines Snapshots zum Migrieren von Daten](snapshot-based-migration.md). 

## Erteilen Sie Berechtigungen für den Zugriff auf den S3-Bucket
<a name="migration-permissions"></a>

[Erstellen Sie in der AWS Identity and Access Management (IAM-) Konsole eine Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) mit den folgenden Berechtigungen und der folgenden [Vertrauensbeziehung](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy). Wählen Sie beim Erstellen der Rolle **S3** als **AWS -Service** aus. Nennen Sie die Rolle `OpenSearchSnapshotRole`, damit sie leicht zu finden ist. 

**Berechtigungen**

------
#### [ 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/*"
      ]
    }
  ]
}
```

------

**Vertrauensstellung**

------
#### [ JSON ]

****  

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

------

Geben Sie dann Ihrer persönlichen IAM-Rolle die Berechtigungen, `OpenSearchSnapshotRole` zu übernehmen. Erstellen Sie die folgende Richtlinie und [fügen Sie sie](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) Ihrer Identität hinzu:

**Berechtigungen**

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [{
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::123456789012:role/OpenSearchSnapshotRole"
    }
  ]
}
```

------

### Ordnen Sie die Snapshot-Rolle in OpenSearch Dashboards zu (wenn Sie eine differenzierte Zugriffskontrolle verwenden)
<a name="migration-snapshot-role"></a>

Wenn Sie [distanzierte Zugriffskontrolle](fgac.md#fgac-mapping) aktiviert haben, selbst wenn Sie HTTP-Basisauthentifizierung für alle anderen Zwecke verwenden, müssen Sie die`manage_snapshots`-Rolle zu Ihrer IAM-Rolle verwenden, damit Sie mit Snapshots arbeiten können.

**Um Ihrer Identität Berechtigungen für die Arbeit mit Snapshots zu erteilen**

1. Melden Sie sich mit den Masterbenutzeranmeldedaten, die Sie bei der Erstellung der Service-Domain angegeben haben, bei Dashboards an. OpenSearch Sie finden die Dashboard-URL in der OpenSearch Servicekonsole. Er hat die Form `https://domain-endpoint/_dashboards/`.

1. Wählen Sie im Hauptmenü **Sicherheit**, **Rollen**, und wählen Sie die Rolle **manage\$1snapshots**.

1. Wählen Sie **Zugeordnete Benutzer**, **Mapping verwalten**. 

1. Fügen Sie den Domain-ARN Ihrer persönlichen IAM-Rolle in das entsprechende Feld ein. Der ARN nimmt eines der folgenden Formate an:

   ```
   arn:aws:iam::123456789123:user/user-name
   ```

   ```
   arn:aws:iam::123456789123:role/role-name
   ```

1. Wählen Sie **Map** (Zuordnen) aus und bestätigen Sie, dass die Rolle unter **Mapped users** (Zugeordnete Benutzer) angezeigt wird.

## Stellen Sie den Snapshot wieder her
<a name="migration-restore"></a>

Derzeit haben Sie zwei Möglichkeiten, auf Ihre OpenSearch Service-Domain zuzugreifen: HTTP-Basisauthentifizierung mit Ihren Master-Benutzeranmeldedaten oder AWS Authentifizierung mit Ihren IAM-Anmeldeinformationen. Da Snapshots Amazon S3 verwenden, das kein Konzept für den Master-Benutzer hat, müssen Sie Ihre IAM-Anmeldeinformationen verwenden, um das Snapshot-Repository in Ihrer OpenSearch Service-Domain zu registrieren.

**Die meisten Programmiersprachen verfügen über Bibliotheken, die Sie beim Signieren von Anfragen unterstützen. Der einfachere Ansatz besteht jedoch darin, ein Tool wie [Postman](https://www.postman.com/downloads/) zu verwenden und Ihre IAM-Anmeldeinformationen im Abschnitt Autorisierung einzugeben.**

![\[Postman interface showing Authorization settings for AWS API request with Signature type.\]](http://docs.aws.amazon.com/de_de/opensearch-service/latest/developerguide/images/migration2.png)


**So stellen Sie den Snapshot wieder her**

1. Unabhängig davon, wie Sie Ihre Anfragen signieren, besteht der erste Schritt darin, das Repository zu registrieren:

   ```
   PUT _snapshot/my-snapshot-repo-name
   {
     "type": "s3",
     "settings": {
       "bucket": "amzn-s3-demo-bucket",
       "region": "us-west-2",
       "role_arn": "arn:aws:iam::123456789012:role/OpenSearchSnapshotRole"
     }
   }
   ```

1. Führen Sie dann die Snapshots im Repository auf, und suchen Sie die Snapshots, die Sie wiederherstellen möchten. An diesem Punkt können Sie Postman weiter verwenden oder zu einem Werkzeug wie [curl](https://curl.haxx.se/) wechseln.

   **Kurzschrift**

   ```
   GET _snapshot/my-snapshot-repo-name/_all
   ```

   **curl**

   ```
   curl -XGET -u 'master-user:master-user-password' https://domain-endpoint/_snapshot/my-snapshot-repo-name/_all
   ```

1. Stellen Sie den Snapshot wieder her.

   **Kurzschrift**

   ```
   POST _snapshot/my-snapshot-repo-name/my-snapshot-name/_restore
   {
     "indices": "migration-index1,migration-index2,other-indices-*",
     "include_global_state": false
   }
   ```

   **curl**

   ```
   curl -XPOST -u 'master-user:master-user-password' https://domain-endpoint/_snapshot/my-snapshot-repo-name/my-snapshot-name/_restore \
     -H 'Content-Type: application/json' \
     -d '{"indices":"migration-index1,migration-index2,other-indices-*","include_global_state":false}'
   ```

1. Überprüfen Sie abschließend, ob Ihre Indizes wie erwartet wiederhergestellt wurden.

   **Kurzschrift**

   ```
   GET _cat/indices?v
   ```

   **curl**

   ```
   curl -XGET -u 'master-user:master-user-password' https://domain-endpoint/_cat/indices?v
   ```

Zu diesem Zeitpunkt ist die Migration abgeschlossen. Sie können Ihre Clients so konfigurieren, dass sie den neuen OpenSearch Service-Endpunkt verwenden, [die Größe der Domain](sizing-domains.md) an Ihre Arbeitslast anpassen, die Anzahl der Shards für Ihre Indizes überprüfen, zu einem [IAM-Masterbenutzer](fgac.md#fgac-concepts) wechseln oder mit der Erstellung von Visualisierungen in Dashboards beginnen. OpenSearch 