Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Cross Cluster Replication en AWS OpenSearch Service entre regiones con paquetes personalizados

By Stephanie KaaiOct 21, 20243 min read

Esta página también está disponible en English, Deutsch, Français, Italiano, 日本語 y Português.

La CCR de OpenSearch entre regiones con paquetes personalizados exige redefinir la configuración al llamar a la API del plugin de replicación.

Problema

El problema aparece cuando usas un paquete personalizado en la configuración de tu índice y lo replicas a un dominio en otra región. Para asociar un paquete a un dominio, primero hay que subirlo a un bucket de S3 en la misma región del clúster. Después puedes importarlo y asociarlo al dominio. Al hacerlo, AWS asigna automáticamente una ruta de referencia específica de esa región. Si intentas crear una conexión cross cluster y replicar, vas a obtener un error 502, porque esa ruta de referencia no existe en el dominio follower.

Solución

Al crear el índice leader, tienes que poner el flag updateable en true. Luego, al iniciar el proceso de replicación, debes redefinir la configuración con la ruta de referencia del follower.

POC

Requisitos previos

  • Dominio leader
  • Dominio follower
  • Conexión entre el leader y el follower
  • Paquetes personalizados en buckets de S3 en cada región

Además, AWS detalla algunos requisitos adicionales para los dominios leader y follower [1].

Como ya se mencionó, para asociar un paquete a un dominio, primero debes subirlo a un bucket de S3 en la región de ese dominio y luego importarlo dentro de OpenSearch desde la opción packages en la barra lateral.

Importar paquete

Este es un dominio leader básico en US-east-1. Entre los requisitos de AWS están tener habilitado el control de acceso granular (FGAC) y una política de seguridad que permita las acciones es* al dominio follower.

En packages puedes ver que asocié un paquete wordlist con la ruta de referencia analyzers/F111929843, asignada por AWS.

Dominio leader

Y este es el dominio follower básico. La configuración es idéntica a la del leader, salvo por la política de seguridad revisada. En packages también asocié el archivo wordlist (después de subirlo a la ruta de S3 de esa región), y la ruta de referencia que asignó AWS es analyzers/F194925348, distinta a la del dominio leader.

Para habilitar la CCR, hay que crear una solicitud de conexión de datos remota desde el dominio follower. Esa conexión luego se acepta en el dominio leader.

Una vez que tengas los dos dominios con sus paquetes asociados y la conexión de datos lista, ya puedes replicar.

Este es un ejemplo de cómo configurar un índice en el leader:

La configuración de tu índice se vería más o menos así: presta especial atención al filter path y al parámetro updateable.

Crear índice en el leader

Ahora, al iniciar la replicación, vuelves a incluir la configuración y esta vez agregas la ruta de referencia del follower.

Iniciar replicación al follower

Para probar la replicación, cargué datos en el leader de la siguiente forma.

Cargar datos al índice

Aquí hay una búsqueda de datos en el follower. La consulta funcionó, lo que confirma que la replicación está activa.

Consultar datos en el follower

Resultados de la consulta en el follower

En resumen, si quieres hacer CCR en AWS OpenSearch entre regiones con paquetes personalizados, tienes que redefinir tu configuración al llamar a la API del plugin de replicación.

Referencia

[1]https://docs.aws.amazon.com/opensearch-service/latest/developerguide/replication.html

Escríbenos a DoiT. Nos especializamos en consultoría y diseño de arquitectura cloud avanzada para ayudar a las organizaciones a sacarle provecho a la nube e impulsar el crecimiento de su negocio.