Importazione di un cluster OpenSearch esterno

Puoi trasferire i cluster esistenti dalle tue installazioni OpenSearch esterne a Oracle Cloud Infrastructure. Ciò consente di sfruttare le funzionalità del servizio gestito fornite da Search con OpenSearch.

In questo argomento viene descritto il processo per trasferire i cluster OpenSearch esistenti in Oracle Cloud Infrastructure e vengono inclusi i task riportati di seguito.

  1. Creare un'istantanea del cluster.
  2. Caricare lo snapshot nello storage degli oggetti.
  3. Creare il cluster di destinazione in Cerca con OpenSearch.
  4. Configurare un criterio dinamico con le autorizzazioni necessarie.
  5. Registrare il repository.
  6. Ripristinare lo snapshot.

Requisiti indispensabili

Prima di procedere con i passi descritti in questo argomento, è necessaria una tenancy in cui è possibile lavorare. L'account utente utilizzato per eseguire il login alla tenancy richiede un accesso sufficiente per configurare le autorizzazioni del servizio e dell'utente per i servizi e le risorse Oracle Cloud Infrastructure. Se hai bisogno di ulteriori informazioni su come iniziare a utilizzare Oracle Cloud Infrastructure, consulta le seguenti risorse:

Per completare queste procedure, hai bisogno dell'accesso per creare un bucket di storage degli oggetti e caricare un file nel bucket. Se è necessario configurare queste autorizzazioni per un utente specifico, vedere i criteri di esempio in Consenti agli amministratori dello storage degli oggetti di gestire bucket e oggetti e Consenti agli utenti di scrivere oggetti nei bucket dello storage degli oggetti.

È inoltre necessario configurare le autorizzazioni di servizio e utente necessarie per creare i cluster OpenSearch.

L'esempio di criteri riportato di seguito include le autorizzazioni necessarie.

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>

Le autorizzazioni del servizio incluse in questo esempio sono necessarie come specificato. È possibile configurare le autorizzazioni utente, specificate nell'ultima riga di questo esempio, con maggiore granularità, per trovare esempi di istruzioni dei criteri che ne dimostrino la presenza in Criteri di esempio.

Crea un'istantanea del cluster

Generare uno snapshot del cluster dall'installazione OpenSearch esterna. Per una panoramica degli snapshot del cluster e su come generarli, vedere OpenSearch - Eseguire e ripristinare gli snapshot.

Carica snapshot nel bucket di storage degli oggetti

Dopo aver generato lo snapshot, caricare il file dello snapshot in un bucket di storage degli oggetti nella tenancy. Per un'esercitazione che descrive come creare un bucket e caricare i file nel bucket, vedere Inserimento dei dati nello storage degli oggetti.

Prendere nota delle seguenti informazioni per il bucket in cui è stato caricato lo snapshot. Queste informazioni sono disponibili nella pagina Dettagli bucket della console.

  • Spazio di nomi
  • Nome compartimento
  • Nome bucket
  • Nome repository
  • Nome del file snapshot

Prendere inoltre nota dell'OCID compartimento.

Per ottenere l'OCID del compartimento:

  1. Nella pagina Dettagli bucket fare clic sul collegamento per il compartimento in Informazioni cluster.
  2. Fare clic su Copia per OCID in Informazioni sul compartimento.

Crea cluster di destinazione

Prima di poter importare lo snapshot dall'installazione OpenSearch esterna in Oracle Cloud Infrastructure, è necessario creare un cluster OpenSearch in Cerca con OpenSearch. Questo cluster sarà il cluster di destinazione in cui viene importato lo snapshot.

Per una procedura dettagliata che descrive come creare il cluster, inclusi i prerequisiti necessari, vedere Creazione di un cluster OpenSearch.

Importante

Quando si crea il cluster, assicurarsi di configurare il cluster con la stessa configurazione nodo del cluster di origine per il quale si sta importando lo snapshot.

Prendere nota delle seguenti informazioni per il cluster:

  • OCID
  • Nome compartimento

È possibile trovare queste informazioni nella console nella pagina Dettagli cluster. Vedere Recupero dei dettagli di un cluster OpenSearch. Prendere inoltre nota dell'OCID compartimento.

Per ottenere l'OCID del compartimento:

  1. Nella pagina Dettagli cluster fare clic sul collegamento per il compartimento in Informazioni cluster>.
  2. Fare clic su Copia per OCID in Informazioni sul compartimento.

Criterio IAM

È necessario configurare le autorizzazioni per fornire l'accesso cluster OpenSearch al bucket di storage degli oggetti nella tenancy.

L'esempio di criteri riportato di seguito include le autorizzazioni necessarie.

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> è l'OCID per OCI Search con la tenancy OpenSearch. È possibile trovare questo valore nella pagina Dettagli cluster per il cluster nel campo OCID tenancy Opensearch della sezione Informazioni aggiuntive.

<customer_tenancy_OCID> è l'OCID della tenancy in cui è stato creato il cluster OpenSearch.

<customer_compartment_OCID> è l'OCID per il compartimento in cui si trova il cluster OpenSearch.

Registra il repository

Registrare il repository, come mostrato nell'esempio riportato di seguito.

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
   }
}

Nella tabella seguente vengono descritti i parametri da specificare quando si registra il repository.

Parametro Descrizione

nome repository

Il nome assegnato al repository per lo snapshot.

endpoint

Endpoint per il bucket di storage degli oggetti.

Ad esempio, l'endpoint dello storage degli oggetti dell'area orientale degli Stati Uniti (Ashburn) è https://objectstorage.us-ashburn-1.oraclecloud.com.

spazio di nomi

Spazio di nomi dello storage degli oggetti per il bucket.

authType

Specificare di utilizzare il principal risorsa che consente a Search con OpenSearch di lavorare per conto dell'utente.

bucket_compartment_id

OCID del compartimento in cui si trova il bucket.

forceBucketCreation

Specifica di creare il bucket di storage degli oggetti se non esiste già. Il valore predefinito è false.

Ripristina snapshot

Prima di ripristinare uno snapshot, è possibile recuperare tutti gli snapshot esistenti per un cluster. In primo luogo, recuperare tutti i repository registrati con il cluster, come mostrato nell'esempio seguente:

GET _snapshot/_all?pretty

Recuperare quindi tutti gli snapshot nel repository, come mostrato nell'esempio riportato di seguito.

GET _snapshot/<repository_name>?pretty

Ora, ripristinare l'istantanea, come mostrato nell'esempio seguente:

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
}

È possibile specificare uno o più indici da includere, <index_name_to_include> e uno o più indici da escludere, -<index_name_to_exclude>.

Per ulteriori informazioni su questa operazione API, vedere Ripristina snapshot.