

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
<a name="replication"></a>

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](https://aws.amazon.com/opensearch-service/pricing/) 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 Consola de administración de AWS 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](https://docs.opensearch.org/latest/tuning-your-cluster/replication-plugin/index/) documentación. OpenSearch 

**Topics**
+ [Limitaciones](#replication-limitations)
+ [Requisitos previos](#replication-prereqs)
+ [Requisitos de los permisos](#replication-permissions)
+ [Configuración de una conexión entre clústeres](#replication-connect)
+ [Inicio de la replicación](#replication-start)
+ [Confirmación de replicación](#replication-confirm)
+ [Pausa y reanudación de la replicación](#replication-pause-resume)
+ [Detención de la replicación](#replication-stop)
+ [Seguimiento automático](#replication-autofollow)
+ [Actualización de los dominios conectados](#replication-upgrade)

## Limitaciones
<a name="replication-limitations"></a>

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 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.
+ [No se admite la replicación entre clústeres entre los modos predeterminado y opcional.](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) Ambos dominios deben estar en las regiones predeterminadas o en las regiones opcionales.

## Requisitos previos
<a name="replication-prereqs"></a>

Antes de configurar la replicación entre clústeres, asegúrese de que los dominios cumplan los siguientes requisitos:
+ Elasticsearch 7.10 o 1.1 o posterior OpenSearch 
+ [Control de acceso detallado](fgac.md) habilitado
+ [Node-to-node cifrado](ntn.md) activado
+ Los índices líderes deben estar `index.soft_deletes.enabled` configurados en`true`. Los índices creados en Elasticsearch 7.0 o OpenSearch 1.0 y versiones posteriores tienen esta configuración habilitada de forma predeterminada. Sin embargo, los índices creados en Elasticsearch 6.x y luego actualizados se conservan. `soft_deletes=false` Para replicar dichos índices, primero debes volver a indexarlos.

  Para comprobar si un índice tiene habilitadas las eliminaciones temporales:

  ```
  GET <index-name>/_settings?include_defaults=true&flat_settings=true&filter_path=*.settings.index.soft_deletes.enabled
  ```

  Si `soft_deletes` es así`false`, vuelva a indexar los datos en un índice nuevo antes de iniciar la replicación.

## Requisitos de los permisos
<a name="replication-permissions"></a>

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:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "*"
        ]
      },
      "Action": [
        "es:ESHttp*"
      ],
      "Resource": "arn:aws:es:us-east-1:111122223333:domain/leader-domain/*"
    },
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "es:ESCrossClusterGet",
      "Resource": "arn:aws:es:us-east-1:111122223333: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](https://docs.opensearch.org/latest/tuning-your-cluster/replication-plugin/api/) 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 los permisos, consulte los [permisos de replicación](https://docs.opensearch.org/latest/tuning-your-cluster/replication-plugin/permissions/#replication-permissions) 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](https://docs.opensearch.org/latest/tuning-your-cluster/replication-plugin/permissions/#map-the-leader-and-follower-cluster-roles) en la OpenSearch documentación.

## Configuración de una conexión entre clústeres
<a name="replication-connect"></a>

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](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/Welcome.html) o la [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/opensearch/create-outbound-connection.html). 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](cross-cluster-search.md), 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**.

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

1. 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
<a name="replication-start"></a>

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](https://docs.opensearch.org/latest/tuning-your-cluster/replication-plugin/permissions/#map-the-leader-and-follower-cluster-roles) en la OpenSearch documentación.

## Confirmación de replicación
<a name="replication-confirm"></a>

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
<a name="replication-pause-resume"></a>

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
<a name="replication-stop"></a>

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
<a name="replication-autofollow"></a>

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
<a name="replication-rule-create"></a>

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](https://docs.opensearch.org/latest/tuning-your-cluster/replication-plugin/permissions/#map-the-leader-and-follower-cluster-roles) 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](https://docs.opensearch.org/latest/tuning-your-cluster/replication-plugin/api/#get-auto-follow-stats).

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
<a name="replication-rule-delete"></a>

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](#replication-stop) 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
<a name="replication-upgrade"></a>

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.