Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Comment puis-je restaurer les données d'un domaine OpenSearch Service dans un autre compte AWS ?
Je souhaite restaurer les données d'un domaine Amazon OpenSearch Service dans un autre compte.
Brève description
Pour restaurer les données d'un domaine OpenSearch Service dans un autre compte, vous devez configurer l'accès intercompte pour les domaines suivants :
- Le domaine source à partir duquel vous souhaitez restaurer les données (compte A)
- Votre domaine de destination OpenSearch Service (compte B)
Vous devez également configurer des autorisations pour votre domaine afin d'accéder au compartiment Amazon Simple Storage Service (Amazon S3) qui stocke vos données.
Remarque : Il n'est pas nécessaire de créer un compartiment Amazon S3 dans la destination (compte B). OpenSearch Service utilise un seul compartiment Amazon S3 pour restaurer les données sur l’ensemble de vos comptes.
Résolution
Remarque : OpenSearch Service utilise le domaine source du compte A pour les instantanés de cluster.
Tout d'abord, créez un compartiment Amazon S3 dans le compte A de la même région AWS que le domaine de destination d'OpenSearch Service. Procédez ensuite comme suit pour configurer l'accès intercompte. Vous devez suivre les étapes pour le compte A et le compte B.
Configurer l'accès au compartiment S3 sur les deux comptes
Procédez comme suit :
-
Créez un rôle AWS Identity and Access Management (IAM) qui autorise OpenSearch Service à accéder au compartiment S3. Puis, sélectionnez Amazon Elastic Compute Cloud (Amazon EC2) comme service.
-
Créez la stratégie IAM suivante qui accorde l'autorisation d'accès au compartiment S3, puis associez la politique au rôle IAM :
{ "Version": "2012-10-17", "Statement": [{ "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::AccountA_S3_Bucket_Name" ] }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "iam:PassRole" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::AccountA_S3_Bucket_Name/*" ] }] }
Remarque : Remplacez arn:aws:s3:::AccountA_S3_Bucket_Name par l'ARN de votre compartiment.
-
Mettez à jour la politique de compartiment du compte A à l'aide de l’instruction suivante pour accorder un accès intercompte au rôle IAM dans le compte B :
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Permission for AccountB role", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-B-id:role/AccountB-role" }, "Action": [ "s3:GetLifecycleConfiguration", "s3:ListBucket", "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::AccountA-bucket", "arn:aws:s3:::AccountA-bucket/*" ] } ] }
-
Mettez à jour la politique de confiance du rôle pour inclure la relation de confiance suivante :
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com" }, "Action": "sts:AssumeRole" }] }
Remarque : Notez l'ARN du rôle à utiliser ultérieurement.
-
Pour accorder à OpenSearch Service l'accès en écriture à votre compartiment S3, effectuez l'une des actions suivantes :
Pour regrouper toutes vos autorisations sous un seul rôle IAM, incluez l'autorisation iam:PassRole dans votre politique IAM existante.
-ou-
Pour fractionner les autorisations, créez une nouvelle politique IAM avec l'autorisation iam:PassRole.
Remarque : Vous devez associer la politique IAM au rôle IAM que vous utilisez pour signer la requête HTTP.
L'exemple de politique suivant contient les autorisations IAM requises :{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::Account:snapshot role" }, { "Effect": "Allow", "Action": "es:ESHttpPut", "Resource": "arn:aws:es:us-east-1:Account:domain/srestore/*" }] }
Remarque : Remplacez arn:aws:iam::Account:snapshot-role par votre rôle IAM. Remplacez également arn:aws:es:us-east-1:Account:domain/restore/* par le domaine OpenSearch Service dans le compte A ou le compte B.
-
Si vous avez activé le contrôle d'accès affiné pour votre domaine, vous devez mapper le rôle IAM à OpenSearch Dashboards. Le rôle IAM utilise un contrôle d'accès précis pour fournir un accès à l'API de lecture ou d'écriture.
-
(Facultatif) Si vous avez utilisé le client Python du compte A pour enregistrer le compartiment auprès d'OpenSearch Service, puis lancez une instance EC2 dans le compte A. Puis, associez votre rôle IAM.
Remarque : Assurez-vous que votre groupe de sécurité peut accéder au domaine OpenSearch Service.
Enregistrer le compartiment S3 en tant que référentiel d’instantanés dans les deux comptes
Important : Pour le compte B, vous devez utiliser les informations d'authentification utilisateur IAM du compte B et sélectionner OpenSearch Service comme destination.
Pour enregistrer le compartiment, utilisez l'application Postman pour effectuer une requête PUT HTTP. Pour installer l'application, consultez la page Télécharger Postman sur le site Web de Postman.
Procédez comme suit :
- Dans PUT, saisissez une URL qui inclut le point de terminaison du domaine OpenSearch Service et le nom du compartiment S3, par exemple your-domain-endpoint.amazonaws.com/_snapshot/your-snapshot-repository-name.
- Choisissez l'onglet Autorisation.
- Sous Postman, dans Type, sélectionnez AWS Signature. Dans AccessKey et SecretKey, saisissez les clés d’accès de l'utilisateur IAM.
- Dans Région AWS, saisissez votre région.
- Dans Nom du service, saisissez es.
- Sélectionnez Enregistrer.
- Choisissez l'onglet En-têtes.
- Dans Type de clé, sélectionnez Content-Type.
- Dans Valeur de clé, sélectionnez Application/JSON.
- Sélectionnez Enregistrer.
- Choisissez l'onglet Corps.
- Enregistrez le compartiment S3 en tant que référentiel d’instantanés :
{ "type": "s3", "settings": { "bucket": "snapshot", "region": "us-east-1", "role_arn": "arn:aws:iam::Account:role/cross" } }
Remarque : Remplacez instantané par le nom de votre compartiment S3, us-east-1 par votre région et arn:aws:iam::Account:role/cross par le rôle IAM du compte A ou du compte B. Pour envoyer la requête, sélectionnez Envoyer.
Une fois l'inscription terminée, vous recevez le message code de statut : 200 OK.
Vérifier que votre référentiel d’instantanés est correctement configuré
Dans le compte A, effectuez les étapes suivantes :
- Ouvrez OpenSearch Dashboards, puis vérifiez les données disponibles dans le compartiment.
- Exécutez la commande suivante pour créer un nouvel instantané :
Remarque : Remplacez my-snapshot-repo-name par le nom de votre compartiment S3 et nom d’instantané par le nom de votre instantané.PUT /_snapshot/my-snapshot-repo-name/snapshot_name
L'exemple de sortie suivant vérifie l'enregistrement complet d'un compartiment S3 dans le domaine OpenSearch Service dans le compte A :GET _cat/snapshots/my-snapshot-repo-name SUCCESS 1585190280 02:38:00 1585190284 02:38:04 3.9s 4 4 0 4
Dans le compte B, effectuez les étapes suivantes :
-
Ouvrez OpenSearch Dashboards.
-
Exécutez la commande suivante pour afficher les instantanés du compte A disponibles dans le compartiment S3 :
GET _cat/snapshots/my-snapshot-repo-name
Remarque : Remplacez my-snapshot-repo-name par votre référentiel d’instantanés.
L'exemple de sortie suivant confirme que vous avez configuré l'accès entre comptes dans le compte B :today SUCCESS 1585190280 02:38:00 1585190284 02:38:04 3.9s 4 4 0 4
-
Pour restaurer les données, exécutez la commande suivante :
POST /_snapshot/my-snapshot-repo-name/snapshotID/_restore
Remarque : Remplacez my-snapshot-repo-name par votre référentiel d’instantanés et snapshotID par le nom de votre instantané.
-
Pour restaurer des index spécifiques, exécutez la commande suivante :
POST /_snapshot/my-snapshot-repo-name/snapshot ID/_restore { "indices": "index name1,index name2" }
Remarque : Remplacez my-snapshot-repo-name par votre référentiel d’instantanés et snapshotID par le nom de votre instantané. Remplacez également nom d’index1 et nom d’index2 par vos index.
-
Pour vérifier les index restaurés, exécutez la commande suivante :
GET _cat/indices?v
Informations connexes
Comment migrer des données d’un domaine OpenSearch Service vers un autre ?
Migration des index Amazon OpenSearch Service à l'aide de la réindexation à distance

Contenus pertinents
- Réponse acceptéedemandé il y a 7 moislg...
- demandé il y a 8 moislg...
- demandé il y a un anlg...
- demandé il y a 8 moislg...
- demandé il y a un anlg...
- AWS OFFICIELA mis à jour il y a 8 mois
- AWS OFFICIELA mis à jour il y a 4 ans