Import d'un cluster OpenSearch externe
Vous pouvez transférer des clusters existants de vos installations OpenSearch externes vers Oracle Cloud Infrastructure. Vous pouvez ainsi tirer parti des fonctionnalités de service géré fournies par Search avec OpenSearch.
Cette rubrique décrit le processus d'intégration de vos clusters OpenSearch existants dans Oracle Cloud Infrastructure et inclut les tâches suivantes :
- Prendre un instantané du cluster.
- Téléchargement d'un cliché vers Object Storage.
- Créez le cluster de destination dans la recherche avec OpenSearch.
- Configurez une stratégie dynamique avec les droits d'accès requis.
- Inscrivez le référentiel.
- Restaurez le cliché.
Prérequis
Avant de poursuivre les étapes décrites dans cette rubrique, vous avez besoin d'une location dans laquelle vous pouvez travailler. Le compte utilisateur que vous utilisez pour vous connecter à la location requiert un accès suffisant pour configurer les droits d'accès des services et des utilisateurs pour les ressources Oracle Cloud Infrastructure. Pour plus d'informations sur la prise en main d'Oracle Cloud Infrastructure, reportez-vous aux ressources suivantes :
Pour effectuer ces procédures, vous devez avoir accès à la création d'un bucket Object Storage et au téléchargement d'un fichier vers ce bucket. Si vous devez configurer ces droits d'accès pour un utilisateur spécifique, reportez-vous à des exemples de stratégie dans Autoriser les administrateurs Object Storage à gérer des buckets et des objets et Autoriser les utilisateurs à écrire des objets dans des buckets Object Storage.
Vous devez également configurer le service et les droits d'accès utilisateur requis pour créer des clusters OpenSearch.
L'exemple de stratégie suivant inclut les droits d'accès requis :
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 droits d'accès au service inclus dans cet exemple sont requis comme indiqué. Vous pouvez configurer les droits d'accès utilisateur, indiqués à la dernière ligne de cet exemple, avec plus de granularité, rechercher des exemples d'instruction de stratégie illustrant cela dans les exemples de stratégie.
Prise d'un instantané du cluster
Générez un instantané de votre cluster à partir de votre installation OpenSearch externe. Reportez-vous à la page OpenSearch - Prise et restauration d'instantanés pour obtenir un aperçu des instantanés de cluster et de leur génération.
Télécharger un cliché vers le bucket Object Storage
Une fois le cliché généré, téléchargez-le vers un bucket Object Storage de votre location. Pour un tutoriel vous expliquant comment créer un bucket et télécharger des fichiers vers ce bucket, reportez-vous à Mise en commun de données vers Object Storage.
Notez les informations suivantes pour le bucket vers lequel vous avez téléchargé le cliché. Ces informations sont disponibles sur la page Détails du bucket dans la console.
- Espace de noms
- Nom du compartiment
- Nom de bucket
- Nom de référentiel
- Nom de fichier de cliché
Notez également l'OCID de compartiment.
Pour obtenir l'OCID de compartiment, procédez comme suit :
- Sur la page Détails du bucket, cliquez sur le lien de compartiment dans Informations sur le cluster.
- Cliquez sur Copier pour OCID dans Informations sur le compartiment.
Créer un cluster de destination
Pour que le cliché de votre installation OpenSearch externe puisse être importé dans Oracle Cloud Infrastructure, vous devez créer un cluster OpenSearch dans Search avec OpenSearch. Ce cluster est le cluster de destination dans lequel l'instantané est importé.
Reportez-vous à Création d'un cluster OpenSearch pour une procédure pas à pas décrivant la création du cluster, y compris les prérequis requis.
Lorsque vous créez le cluster, veillez à configurer le cluster avec la même configuration de noeud que le cluster source pour lequel vous importez le cliché.
Notez les informations suivantes pour le cluster :
- OCID
- Nom du compartiment
Ces informations sont disponibles dans la console sur la page Détails du cluster. Reportez-vous à Obtention des détails d'un cluster OpenSearch. Notez également l'OCID de compartiment.
Pour obtenir l'OCID de compartiment, procédez comme suit :
- Sur la page Détails du cluster, cliquez sur le lien de compartiment dans Informations sur le cluster>.
- Cliquez sur Copier pour OCID dans Informations sur le compartiment.
Stratégie IAM
Vous devez configurer des droits d'accès afin de fournir au cluster OpenSearch l'accès au bucket Object Storage de votre location.
L'exemple de stratégie suivant inclut les droits d'accès requis :
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 sur la page Détails du cluster de votre cluster dans le champ OCID de location Opensearch sous la section Informations supplémentaires.
<customer_tenancy_OCID> est l'OCID de la location dans laquelle vous avez créé le cluster OpenSearch.
<customer_compartment_OCID> est l'OCID du compartiment dans lequel se trouve le cluster OpenSearch.
Inscrire le référentiel
Enregistrez le référentiel, comme indiqué 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 de référentiel |
Nom que vous affectez au référentiel pour le cliché. |
adresse |
Adresse du bucket Object Storage. Par exemple, l'adresse Object Storage de la région Est des Etats-Unis (Ashburn) est https://objectstorage.us-ashburn-1.oraclecloud.com. |
espace de noms |
Espace de noms Object Storage pour le bucket. |
authType |
Indiquez si vous souhaitez utiliser le principal de ressource qui permet à Search with OpenSearch de travailler en votre nom. |
bucket_compartment_id |
OCID du compartiment où se trouve le bucket. |
forceBucketCreation |
Indique de créer le bucket Object Storage s'il n'existe pas déjà. La configuration par défaut est False. |
Restaurer le cliché
Avant de restaurer un instantané, vous pouvez extraire tous les instantanés existants pour un cluster. Tout d'abord, récupérez tous les référentiels enregistrés auprès du cluster, comme indiqué dans l'exemple suivant :
GET _snapshot/_all?pretty
Extrayez ensuite tous les instantanés du référentiel, comme indiqué dans l'exemple suivant :
GET _snapshot/<repository_name>?pretty
Restaurez l'instantané, comme indiqué 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 indiquer des index à inclure, <index_name_to_include>
et des index à exclure, -<index_name_to_exclude>
.
Pour plus d'informations sur cette opération d'API, reportez-vous à Restauration de clichés.