Replicación entre clústeres para Amazon Service OpenSearch - OpenSearch Servicio Amazon

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Replicación entre clústeres para Amazon Service OpenSearch

Con la replicación entre clústeres en Amazon OpenSearch Service, puede replicar índices de usuarios, asignaciones y metadatos de un dominio de OpenSearch servicio a otro. Utilizar la replicación entre clústeres contribuye a garantizar la posibilidad de recuperación de desastres en caso de interrupción, y permite replicar datos entre centros de datos lejanos geográficamente para reducir la latencia. Usted paga los cargos de transferencia AWS de datos estándar por los datos transferidos entre dominios.

La replicación entre clústeres sigue un modelo de replicación activa-pasiva en el que el índice local o seguidor extrae datos del índice remoto o principal. El índice líder hace referencia al origen de los datos o al índice desde el que desea replicar los datos. El índice seguidor hace referencia al destino de los datos o al índice en donde desea replicar los datos.

La replicación entre clústeres está disponible en los dominios que ejecutan Elasticsearch 7.10 o 1.1 o OpenSearch versiones posteriores.

nota

Esta documentación describe cómo configurar la replicación entre clústeres desde la perspectiva de Amazon OpenSearch Service. Esto incluye su uso AWS Management Console para configurar conexiones entre clústeres, lo que no es posible en un clúster OpenSearch autogestionado. Para obtener la documentación completa, que incluye una referencia de configuración y una referencia completa de la API, consulte la replicación entre clústeres en la documentación. OpenSearch

Limitaciones

La replicación entre clústeres tiene las siguientes limitaciones:

  • No puedes replicar datos entre dominios de Amazon OpenSearch Service y clústeres autogestionados OpenSearch o de Elasticsearch.

  • No puede replicar un índice de un dominio seguidor a otro dominio seguidor. Si desea replicar un índice en varios dominios seguidores, solo puede replicarlo desde el dominio líder único.

  • Se puede conectar un dominio, mediante una combinación de conexiones de entrada y salida, a un máximo de 20 dominios más.

  • Al configurar inicialmente una conexión entre clústeres, el dominio principal debe tener la misma versión o una versión superior a la del dominio seguidor.

  • No se puede utilizar AWS CloudFormation para conectar dominios.

  • No se puede utilizar la replicación entre clústeres en instancias M3 o bursátiles (T2 y T3).

  • No se pueden replicar datos entre índices UltraWarm ni inutilizar índices. Ambos índices deben estar almacenados en caliente.

  • Al eliminar un índice del dominio principal, no se elimina automáticamente el índice correspondiente en el dominio seguidor.

Requisitos previos

Antes de configurar la replicación entre clústeres, asegúrese de que los dominios cumplan los siguientes requisitos:

Requisitos de los permisos

Para iniciar la replicación, debe incluir el permiso es:ESCrossClusterGet en el dominio remoto (líder). Recomendamos la siguiente política de IAM en el dominio remoto. Esta política también permite realizar otras operaciones, como indexar documentos y efectuar búsquedas estándar:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "*" ] }, "Action": [ "es:ESHttp*" ], "Resource": "arn:aws:es:region:account:domain/leader-domain/*" }, { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "es:ESCrossClusterGet", "Resource": "arn:aws:es:region:account:domain/leader-domain" } ] }

Asegúrese de que el permiso es:ESCrossClusterGet se aplica para /leader-domain y no /leader-domain/*.

Para que los usuarios que no son administradores puedan realizar actividades de replicación, también se les deben asignar los permisos adecuados. La mayoría de los permisos corresponden a operaciones de API REST específicas. Por ejemplo, el permiso indices:admin/plugins/replication/index/_resume permite reanudar la replicación de un índice. Para obtener una lista completa de permisos, consulte los permisos de replicación en la OpenSearch documentación.

nota

Los comandos para iniciar la replicación y crear una regla de replicación son casos especiales. Como invocan procesos en segundo plano en los dominios líder y seguidor, debe aprobar la solicitud con una leader_cluster_role follower_cluster_role autorización. OpenSearch El servicio utiliza estas funciones en todas las tareas de replicación de back-end. Para obtener información sobre la asignación y el uso de estas funciones, consulte Asignar las funciones del clúster de líderes y seguidores en la OpenSearch documentación.

Configuración de una conexión entre clústeres

Para replicar índices de un dominio a otro, se debe configurar una conexión entre clústeres entre los dominios. La forma más sencilla de conectar dominios es a través de la pestaña Connections (Conexiones) del panel del dominio. También puede usar la API de configuración o la AWS CLI. Dado que la replicación entre clústeres sigue un modelo de “extracción”, las conexiones se inician desde el dominio seguidor.

nota

Si se han conectado anteriormente dos dominios para realizar búsquedas entre clústeres, no se puede usar la misma conexión para la replicación. La conexión está marcada como SEARCH_ONLY en la consola. Para realizar la replicación entre dos dominios conectados previamente, se debe eliminar la conexión y volver a crearla. Una vez que se haya hecho esto, la conexión queda disponible tanto para la búsqueda entre clústeres como para la replicación entre clústeres.

Para configurar una conexión
  1. En la consola de Amazon OpenSearch Service, selecciona el dominio seguidor, ve a la pestaña Conexiones y selecciona Solicitar.

  2. En Alias de conexión, ingrese un nombre para la conexión.

  3. Elige entre conectarte a un dominio de tu Cuenta de AWS región o a otra cuenta o región.

    • Para conectarte a un dominio de tu Cuenta de AWS región, selecciona el dominio y selecciona Solicitar.

    • Para conectarse a un dominio de otro dominio Cuenta de AWS o región, especifique el ARN del dominio remoto y elija Solicitar.

OpenSearch El servicio valida la solicitud de conexión. Si los dominios son incompatibles, se produce un error en la conexión. Si la validación se realiza correctamente, se envía al dominio de destino para su aprobación. Cuando el dominio de destino aprueba la solicitud, puede iniciar la replicación.

La replicación entre clústeres admite replicación bidireccional. Esto significa que puede crear una conexión saliente del dominio A al dominio B y otra conexión saliente del dominio B al dominio A. A continuación, puede configurar la replicación para que el dominio A siga un índice en el dominio B y el dominio B siga un índice en el dominio A.

Inicio de la replicación

Después de establecer una conexión entre clústeres, puede empezar a replicar datos. En primer lugar, cree un índice en el dominio líder que se va a replicar:

PUT leader-01

Para replicar ese índice, envíe este comando al dominio seguidor:

PUT _plugins/_replication/follower-01/_start { "leader_alias": "connection-alias", "leader_index": "leader-01", "use_roles":{ "leader_cluster_role": "all_access", "follower_cluster_role": "all_access" } }

Puede encontrar el alias de conexión en la pestaña Conexiones del panel de control del dominio.

Para simplificar, en este ejemplo se supone que un administrador emite la solicitud y utiliza all_access para los elementos leader_cluster_role y follower_cluster_role. No obstante, en entornos de producción, se recomienda crear usuarios de replicación en los índices líder y seguidor, y asignarlos como corresponda. Los nombres de usuario deben ser idénticos. Para obtener información sobre estas funciones y cómo asignarlas, consulte Asignar las funciones del clúster de líderes y seguidores en la OpenSearch documentación.

Confirmación de replicación

Para confirmar que se está produciendo la replicación, obtenga su estado:

GET _plugins/_replication/follower-01/_status { "status" : "SYNCING", "reason" : "User initiated", "leader_alias" : "connection-alias", "leader_index" : "leader-01", "follower_index" : "follower-01", "syncing_details" : { "leader_checkpoint" : -5, "follower_checkpoint" : -5, "seq_no" : 0 } }

Los valores de los puntos de control líder y seguidor comienzan como enteros negativos y reflejan el número de particiones que se tienen (-1 para una partición, -5 para cinco particiones, etc.). Los valores se incrementan en enteros positivos con cada cambio que se realiza. Si los valores son los mismos, eso significa que los índices están totalmente sincronizados. Puede utilizar estos valores de punto de control para medir la latencia de replicación en todos los dominios.

Para validar aún más la replicación, agregue un documento al índice líder:

PUT leader-01/_doc/1 { "Doctor Sleep":"Stephen King" }

Y confirme que aparece en el índice seguidor:

GET follower-01/_search { ... "max_score" : 1.0, "hits" : [ { "_index" : "follower-01", "_type" : "_doc", "_id" : "1", "_score" : 1.0, "_source" : { "Doctor Sleep" : "Stephen King" } } ] } }

Pausa y reanudación de la replicación

Puede pausar temporalmente la replicación si necesita corregir problemas o reducir la carga en el dominio líder. Envíe esta solicitud al dominio seguidor. Asegúrese de incluir un cuerpo de la solicitud vacío:

POST _plugins/_replication/follower-01/_pause {}

Después, obtenga el estado para asegurarse de que la replicación esté en pausa:

GET _plugins/_replication/follower-01/_status { "status" : "PAUSED", "reason" : "User initiated", "leader_alias" : "connection-alias", "leader_index" : "leader-01", "follower_index" : "follower-01" }

Cuando termine de realizar los cambios, reanude la replicación. Envíe esta solicitud al dominio seguidor. Asegúrese de incluir un cuerpo de la solicitud vacío:

POST _plugins/_replication/follower-01/_resume {}

No puede reanudar la replicación después de haber estado en pausa durante más de 12 horas. Debe detener la replicación, eliminar el índice de seguidores y reiniciar la replicación del líder.

Detención de la replicación

Cuando se detiene la replicación por completo, el índice seguidor deja de seguir al líder y se convierte en un índice estándar. No se puede reiniciar la replicación después de detenerla.

Detenga la replicación desde el dominio seguidor. Asegúrese de incluir un cuerpo de la solicitud vacío:

POST _plugins/_replication/follower-01/_stop {}

Seguimiento automático

Puede definir un conjunto de reglas de replicación en un único dominio líder que replique automáticamente los índices que coincidan con un patrón especificado. Cuando un índice del dominio líder coincide con uno de los patrones (por ejemplo,books*), se crea un índice de seguidores coincidente en el dominio de seguidores. OpenSearch El servicio replica todos los índices existentes que coincidan con el patrón, así como los nuevos índices que cree. No replica los índices que ya existan en el dominio seguidor.

Para replicar todos los índices (a excepción de los índices creados por el sistema y los que ya existan en el dominio seguidor), utilice un patrón comodín (*).

Creación de una regla de replicación

Cree una regla de replicación en el dominio seguidor y especifique el nombre de la conexión entre clústeres:

POST _plugins/_replication/_autofollow { "leader_alias" : "connection-alias", "name": "rule-name", "pattern": "books*", "use_roles":{ "leader_cluster_role": "all_access", "follower_cluster_role": "all_access" } }

Puede encontrar el alias de conexión en la pestaña Conexiones del panel de control del dominio.

Para simplificar, en este ejemplo se supone que un administrador emite la solicitud, que utiliza all_access como reglas de los dominios líder y seguidor. No obstante, en entornos de producción se recomienda crear usuarios de replicación en los índices líder y seguidor, y asignarlos como corresponda. Los nombres de usuario deben ser idénticos. Para obtener información sobre estas funciones y cómo asignarlas, consulte Asignar las funciones del clúster de líderes y seguidores en la documentación. OpenSearch

Para recuperar una lista de reglas de replicación existentes en un dominio, utilice la operación de la API de estadísticas de seguimiento automático.

Para probar la regla, cree un índice que coincida con el patrón del dominio líder:

PUT books-are-fun

Y verifique que su réplica aparece en el dominio seguidor:

GET _cat/indices health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open books-are-fun ldfHO78xYYdxRMULuiTvSQ 1 1 0 0 208b 208b

Eliminación de una regla de replicación

Al eliminar una regla de replicación, OpenSearch Service deja de replicar los índices nuevos que coincidan con el patrón, pero continúa con la actividad de replicación existente hasta que se detenga la replicación de esos índices.

Detenga las reglas de replicación desde el dominio seguidor.

DELETE _plugins/_replication/_autofollow { "leader_alias" : "connection-alias", "name": "rule-name" }

Actualización de los dominios conectados

Para actualizar la versión del motor de dos dominios que tienen una conexión entre clústeres, actualice primero el dominio seguidor y, después, el dominio principal. No elimine la conexión entre ellos; de lo contrario, la replicación se detendrá y no podrá reanudarla.