Importation d'une grappe OpenSearch externe
Vous pouvez transférer des grappes existantes de vos installations OpenSearch externes vers Oracle Cloud Infrastructure. Cela vous permet de tirer parti des capacités du service géré fournies par Search avec OpenSearch.
Cette rubrique décrit le processus permettant d'apporter vos grappes OpenSearch existantes à Oracle Cloud Infrastructure et inclut les tâches suivantes :
- Prenez un instantané de la grappe.
- Charger un instantané dans le stockage d'objets.
- Créez la grappe de destination dans Rechercher avec OpenSearch.
- Configurez une politique dynamique avec les autorisations requises.
- Enregistrez le référentiel.
- Restaurez l'instantané.
Préalables
Avant de procéder aux étapes décrites dans cette rubrique, vous avez besoin d'une location dans laquelle vous pouvez travailler. Le compte d'utilisateur que vous utilisez pour vous connecter à la location nécessite un accès suffisant pour configurer le service et les autorisations d'utilisateur pour les services et les ressources Oracle Cloud Infrastructure. Si vous avez besoin d'informations supplémentaires sur le démarrage avec Oracle Cloud Infrastructure, consultez les ressources suivantes :
Pour effectuer ces procédures, vous devez avoir accès pour créer un seau de stockage d'objets et charger un fichier dans le seau. Si vous devez configurer ces autorisations pour un utilisateur spécifique, voir les exemples de politiques sous Permettre aux administrateurs du stockage d'objets de gérer les seaux et les objets et Permettre aux utilisateurs d'écrire des objets dans les seaux du stockage d'objets.
Vous devez également configurer le service et les autorisations d'utilisateur nécessaires pour créer des grappes OpenSearch.
L'exemple de politique suivant inclut les autorisations requises :
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>Les autorisations de service incluses dans cet exemple sont requises comme spécifié. Vous pouvez configurer les autorisations d'utilisateur, spécifiées dans la dernière ligne de cet exemple, avec plus de granularité, rechercher des exemples d'énoncé de politique le démontrant dans Exemples de politiques.
Prendre un instantané de la grappe
Générez un instantané de votre grappe à partir de votre installation OpenSearch externe. Voir OpenSearch - Prendre et restaurer des instantanés pour un aperçu des instantanés de grappe et comment les générer.
Charger l'instantané dans le seau de stockage d'objets
Une fois l'instantané généré, chargez le fichier d'instantané dans un seau de stockage d'objets de votre location. Pour un tutoriel qui vous explique comment créer un seau et charger des fichiers dans le seau, voir Ajout de données dans le stockage d'objets.
Notez les informations suivantes pour le seau dans lequel vous avez chargé l'instantané. Vous pouvez trouver ces informations dans la page Détails du seau de la console.
- Espace de noms
- Nom du compartiment
- Nom du seau
- Nom du référentiel
- Nom du fichier d'instantané
Notez également l'OCID du compartiment.
Pour obtenir l'OCID du compartiment :
- Dans la page Détails du seau, cliquez sur le lien Compartiment dans Informations sur la grappe.
- Cliquez sur Copier pour OCID dans Informations sur le compartiment.
Créer une grappe de destination
Pour que l'instantané de votre installation OpenSearch externe puisse être importé dans Oracle Cloud Infrastructure, vous devez créer une grappe OpenSearch dans la fonction de recherche avec OpenSearch. Cette grappe sera la grappe de destination dans laquelle l'instantané est importé.
Voir Création d'une grappe OpenSearch pour une procédure étape par étape décrivant comment créer la grappe, y compris les préalables requis.
Lorsque vous créez la grappe, assurez-vous de la configurer avec la même configuration de noeud que la grappe source pour laquelle vous importez l'instantané.
Notez les informations suivantes pour la grappe :
- OCID
- Nom du compartiment
Vous pouvez trouver ces informations dans la console dans la page Détails de la grappe, voir Obtention des détails d'une grappe OpenSearch. Notez également l'OCID du compartiment.
Pour obtenir l'OCID du compartiment :
- Dans la page Détails de la grappe, cliquez sur le lien Compartiment dans Informations sur la grappe>.
- Cliquez sur Copier pour OCID dans Informations sur le compartiment.
Politique du service IAM
Vous devez configurer des autorisations pour fournir à la grappe OpenSearch l'accès au seau de stockage d'objets de votre location.
L'exemple de politique suivant inclut les autorisations requises :
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> est l'OCID de la recherche OCI avec la location OpenSearch. Vous pouvez trouver cette valeur dans la page Détails de la grappe de votre grappe dans le champ OCID de la location Opensearch sous la section Informations supplémentaires.
<customer_tenancy_OCID> est l'OCID de votre location où vous avez créé la grappe OpenSearch.
<customer_compartment_OCID> est l'OCID du compartiment où se trouve la grappe OpenSearch.
Enregistrer le référentiel
Enregistrez le référentiel, comme illustré dans l'exemple suivant :
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
}
}
Le tableau suivant décrit les paramètres à spécifier lors de l'enregistrement du référentiel.
| Paramètre | Description |
|---|---|
nom du référentiel |
Nom que vous affectez au référentiel pour l'instantané. |
Point d'extrémité |
Point d'extrémité pour le seau de stockage d'objets. Par exemple, le point d'extrémité du service de stockage d'objets pour la région Est des États-Unis (Ashburn) est https://objectstorage.us-ashburn-1.oraclecloud.com. |
espace de noms |
Espace de noms du stockage d'objets pour le seau. |
authType |
Spécifiez d'utiliser le principal de ressource qui permet à Search with OpenSearch de travailler en votre nom. |
bucket_compartment_id |
OCID du compartiment dans lequel se trouve le seau. |
forceBucketCreation |
Indique de créer le seau de stockage d'objets s'il n'existe pas déjà. La valeur par défaut est Faux. |
Restaurer un instantané
Avant de restaurer un instantané, vous pouvez extraire tous les instantanés existants d'une grappe. Tout d'abord, extrayez tous les référentiels enregistrés dans le cluster, comme illustré dans l'exemple suivant :
GET _snapshot/_all?pretty
Extrayez ensuite tous les instantanés du référentiel, comme illustré dans l'exemple suivant :
GET _snapshot/<repository_name>?pretty
Restaurez l'instantané, comme illustré dans l'exemple suivant :
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
}
Vous pouvez spécifier un ou plusieurs index à inclure, <index_name_to_include> et un ou plusieurs index à exclure, -<index_name_to_exclude>.
Pour plus d'informations sur cette opération d'API, voir Restaurer les instantanés.