Importación de un cluster de OpenSearch externo

Puede traer clusters existentes de las instalaciones externas de OpenSearch a Oracle Cloud Infrastructure. Esto le permite aprovechar las capacidades de servicio gestionado que proporciona Search con OpenSearch.

En este tema se describe el proceso para llevar los clusters OpenSearch existentes a Oracle Cloud Infrastructure e incluye las siguientes tareas:

  1. Tome una instantánea del cluster.
  2. Cargue la instantánea en Object Storage.
  3. Cree el cluster de destino en Search con OpenSearch.
  4. Configure una política dinámica con los permisos necesarios.
  5. Registre el repositorio.
  6. Restaure la instantánea.

Requisitos

Antes de continuar con los pasos descritos en este tema, necesita un arrendamiento en el que pueda trabajar. La cuenta de usuario que utilice para conectarse al arrendamiento necesita acceso suficiente para configurar los permisos de servicio y usuario para los servicios y recursos de Oracle Cloud Infrastructure. Si necesita más información sobre cómo empezar a utilizar Oracle Cloud Infrastructure, consulte los siguientes recursos:

Para completar estos procedimientos, necesita acceso para crear un cubo de Object Storage y cargar un archivo en el cubo. Si necesita configurar estos permisos para un usuario específico, consulte políticas de ejemplo en Permitir a los administradores de Object Storage gestionar cubos y objetos y Permitir a los usuarios escribir objetos en cubos de Object Storage.

También debe configurar los permisos de servicio y usuario necesarios para crear clusters OpenSearch.

El siguiente ejemplo de política incluye los permisos necesarios:

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>

Los permisos de servicio incluidos en este ejemplo son necesarios según lo especificado. Puede configurar los permisos de usuario, especificados en la última línea de este ejemplo, con mayor granularidad, buscar ejemplos de sentencias de políticas que lo demuestren en Políticas de ejemplo.

Realización de una Instantánea del Cluster

Genere una instantánea del cluster a partir de la instalación externa OpenSearch. Consulte OpenSearch - Tomar y restaurar instantáneas para obtener una visión general de las instantáneas del cluster y cómo generarlas.

Cargar instantánea en cubo de Object Storage

Una vez generada la instantánea, cargue el archivo de instantánea en un cubo de Object Storage de su arrendamiento. Para ver un tutorial que le guíe por cómo crear un cubo y cargar archivos en el cubo, consulte Colocación de datos en Object Storage.

Anote la siguiente información del cubo en el que ha cargado la instantánea. Esta información se puede encontrar en la página Detalles de cubo de la consola.

  • Espacio de nombres
  • Nombre de compartimento
  • Nombre del cubo
  • Nombre de repositorio
  • Nombre del archivo de instantánea

Anote también el OCID del compartimento.

Para obtener el OCID del compartimento:

  1. En la página Detalles de cubo, haga clic en el enlace de Compartimento en Información de cluster.
  2. Haga clic en Copiar para OCID en Información de compartimento.

Crear cluster de destino

Para poder importar la instantánea de la instalación externa de OpenSearch en Oracle Cloud Infrastructure, debe crear un cluster OpenSearch en Search con OpenSearch. Este cluster será el cluster de destino al que se importa la instantánea.

Consulte Creación de un cluster OpenSearch para obtener un procedimiento paso a paso que describe cómo crear el cluster, incluidos los requisitos previos necesarios.

Importante

Al crear el cluster, asegúrese de configurar el cluster con la misma configuración de nodo que el cluster de origen para el que está importando la instantánea.

Tome nota de la siguiente información para el cluster:

  • OCID
  • Nombre de compartimento

Puede encontrar esta información en la consola en la página Detalles de cluster. Consulte Obtención de detalles de un cluster OpenSearch. Anote también el OCID del compartimento.

Para obtener el OCID del compartimento:

  1. En la página Detalles de cluster, haga clic en el enlace de Compartimento en Información de cluster>.
  2. Haga clic en Copiar para OCID en Información de compartimento.

Politica de IAM

Debe configurar permisos para proporcionar el acceso de cluster OpenSearch al cubo de Object Storage de su arrendamiento.

El siguiente ejemplo de política incluye los permisos necesarios:

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> es el OCID de la búsqueda de OCI con arrendamiento OpenSearch. Puede encontrar este valor en la página Detalles de cluster del cluster en el campo OCID de arrendamiento de Opensearch en la sección Información adicional.

<customer_tenancy_OCID> es el OCID de su arrendamiento donde ha creado el cluster OpenSearch.

<customer_compartment_OCID> es el OCID del compartimento en el que se encuentra el cluster OpenSearch.

Registrar el repositorio

Registre el repositorio, como se muestra en el siguiente ejemplo:

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

En la siguiente tabla, se describen los parámetros que se deben especificar al registrar el repositorio.

Parámetro Descripción

nombre de repositorio

Nombre que asigna al repositorio para la instantánea.

punto final

Punto final del cubo de Object Storage.

Por ejemplo, el punto final del almacenamiento de objetos de la región este de EE. UU. (Ashburn) es https://objectstorage.us-ashburn-1.oraclecloud.com.

espacio de nombre

Espacio de nombres de Object Storage para el cubo.

authType

Especifique que se utilice la entidad de recurso que permite que Search con OpenSearch funcione en su nombre.

bucket_compartment_id

OCID del compartimento donde está ubicado el cubo.

forceBucketCreation

Especifica la creación del cubo de Object Storage si aún no existe. El valor por defecto es falso.

Restaurar Instantánea

Antes de restaurar una instantánea, puede recuperar todas las instantáneas existentes para un cluster. En primer lugar, recupere todos los repositorios registrados con el cluster, como se muestra en el siguiente ejemplo:

GET _snapshot/_all?pretty

A continuación, recupere todas las instantáneas del repositorio, como se muestra en el siguiente ejemplo:

GET _snapshot/<repository_name>?pretty

Ahora, restaure la instantánea, como se muestra en el siguiente ejemplo:

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
}

Puede especificar uno o más índices para incluir, <index_name_to_include> y uno o más índices para excluir, -<index_name_to_exclude>.

Para obtener más información sobre esta operación de API, consulte Restaurar instantáneas.