Esta página ha sido traducida por una máquina.

OpenSearch Copias de seguridad de cluster mediante la API de instantánea

OpenSearch permite utilizar la API de instantánea OpenSearch para crear una copia de seguridad del cluster.

Este método es diferente de las copias de seguridad gestionadas que OpenSearch genera automáticamente para el cluster. Para obtener más información sobre las copias de seguridad de cluster gestionadas por OpenSearch, consulte OpenSearch Automated Cluster Backups.

El uso de la API de instantánea OpenSearch proporciona más flexibilidad al crear o restaurar copias de seguridad en el cluster OpenSearch, para que pueda personalizar el comportamiento. Algunos ejemplos de personalizaciones que puede realizar:

  • Cambie el nombre de los índices en el escenario en el que haya una colisión de nombre de índice entre la instantánea y el cluster de destino en el que está restaurando la instantánea.

  • Especifique determinados índices para incluirlos o excluirlos.

  • Especifique alias de índice para incluir o excluir.

Las instantáneas se almacenan en un cubo de Object Storage que especifique en su arrendamiento. La factura incluirá los costos de almacenamiento de las instantáneas del cluster. Consulte los precios del almacenamiento en la nube para obtener más información.

En este tema se describen los requisitos y el proceso para utilizar la API de instantánea OpenSearch con los clusters, e incluyen las siguientes tareas:

  1. Cree el cubo de Object Storage que se utilizará como repositorio para la instantánea del cluster.
  2. Configure una política dinámica con los permisos necesarios.
  3. Registre su cubo de Object Storage como repositorio.
  4. Realice la instantánea.
  5. Restaurar la instantánea.

Creación de un cubo de Object Storage para almacenar archivos de instantánea

El repositorio para instantáneas es un cubo de Object Storage de su arrendamiento. Si no tiene un cubo para registrar como repositorio, debe crear un cubo. Para ver un tutorial que le guía por cómo crear un cubo, consulte Colocación de datos en Object Storage.

Tome nota de la siguiente información para el cubo que registrará como repositorio. Puede encontrar esta información en Detalles de cubo.

  • Espacio de nombres
  • Nombre del cubo
  • OCID de compartimento

Para obtener el OCID de compartimento:

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

Puede omitir este paso y hacer que OpenSearch cree el cubo cuando se registre el repositorio especificando true para el atributo forceBucketCreation, de la siguiente forma:
forceBucketCreation: true

Si utiliza este enfoque, debe asegurarse de otorgar suficiente acceso en la política de IAM para que OpenSearch cree un cubo.

Política de IAM

Debe configurar permisos para proporcionar al cluster OpenSearch acceso al cubo de su arrendamiento para almacenar los archivos de instantánea.

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

La política anterior solo permite registrar el cubo especificado como repositorio de instantáneas.

<OpenSearch_Tenancy_ID> es el OCID de OCI Search con el arrendamiento OpenSearch. Puede encontrar este valor en la página Detalles de cluster para el 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 en el que ha creado el cluster OpenSearch.

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

Si especifica forceBucketCreation : true en la operación de registro, debe asegurarse de que la política especificada incluye acceso de creación de cubo en su arrendamiento; de lo contrario, la operación para registrar el repositorio fallará.

Registro del Repositorio

Para poder tomar la instantánea, debe registrar 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 de Object Storage 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 a Search con OpenSearch trabajar en su nombre.

bucket_compartment_id

OCID del compartimento donde se encuentra el cubo.

forceBucketCreation

Especifica crear el cubo de Object Storage si aún no existe. El valor predeterminado es false.

Realizar instantánea

Una vez registrado el repositorio, puede realizar una instantánea, como se muestra en el siguiente ejemplo:

POST _snapshot/<repository_name>/<snapshot_name>?wait_for_completion=true

El ejemplo anterior incluye todos los índices y el estado del cluster. En el siguiente ejemplo se muestra cómo incluir índices específicos y otros valores:

POST _snapshot/<repository_name>/<snapshot_name>?wait_for_completion=true
{
"indices": "<index_name>,-<index_name>",
  "ignore_unavailable": true,
  "include_global_state": false
}

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 Realización de instantáneas.

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 Restauración de instantáneas.

¿Le ha resultado útil este artículo?