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.
Migración de índices de Amazon OpenSearch Service mediante la reindexación remota
La reindexación remota te permite copiar índices de un dominio de Amazon OpenSearch Service a otro. Puede migrar índices desde cualquier dominio de OpenSearch servicio o desde clústeres autogestionados OpenSearch y de Elasticsearch.
Un dominio y un índice remotos hacen referencia al origen de los datos o al dominio y el índice desde los que desea copiar los datos. Un dominio y un índice locales hacen referencia al destino de los datos o al dominio y el índice en donde desea copiar los datos.
La reindexación remota requiere la OpenSearch versión 1.0 o una versión posterior, o Elasticsearch 6.7 o una versión posterior, en el dominio local. El dominio remoto debe ser inferior o la misma versión principal que el dominio local. Las versiones de Elasticsearch se consideran inferiores a las versiones, lo que significa que OpenSearch puedes reindexar datos de dominios de Elasticsearch a dominios. OpenSearch Dentro de la misma versión principal, el dominio remoto puede ser cualquier versión secundaria. Por ejemplo, se admite la reindexación remota de Elasticsearch 7.10.x a 7.9, pero no se admite la versión 1.0 a Elasticsearch 7.10.x. OpenSearch
nota
En esta documentación se describe cómo volver a indexar los datos entre los dominios de Amazon OpenSearch Service. Para obtener la documentación completa de la reindex
operación, incluidos los pasos detallados y las opciones compatibles, consulte el documento de reindexación
Temas
- Requisitos previos
- Reindexe los datos entre los dominios OpenSearch de Internet del Servicio
- Vuelva a indexar los datos entre los dominios del OpenSearch servicio cuando el control remoto esté en un VPC
- Reindexe los datos entre dominios que no son de servicio OpenSearch
- Reindexar conjuntos de datos grandes
- Configuración remota de reindexación
Requisitos previos
La reindexación remota requiere lo siguiente:
-
El dominio remoto debe ser accesible desde el dominio local. Para un dominio remoto que reside dentro de unVPC, el dominio local debe tener acceso alVPC. Este proceso varía según la configuración de la red, pero es probable que implique conectarse a una red gestionada VPN o utilizar la conexión de VPC punto final nativa. Para obtener más información, consulte Lanzar tus dominios OpenSearch de Amazon Service dentro de un VPC.
-
La solicitud debe estar autorizada por el dominio remoto como cualquier otra REST solicitud. Si el dominio remoto tiene habilitado el control de acceso detallado, debe tener permiso para realizar la reindexación en el dominio remoto y leer el índice en el dominio local. Para obtener más consideraciones de seguridad, consulte Control de acceso detallado en Amazon OpenSearch Service.
-
Recomendamos que cree un índice con la configuración deseada en el dominio local antes de comenzar con el proceso de reindexación.
-
Si un dominio utiliza un tipo de instancia T2 o T3 para los nodos de datos, no se puede utilizar la reindexación en remoto.
Reindexe los datos entre los dominios OpenSearch de Internet del Servicio
El escenario más básico es que el índice remoto esté en el mismo Región de AWS lugar que su dominio local, con un punto final de acceso público, y usted tenga IAM las credenciales firmadas.
Desde el dominio remoto, especifique el índice remoto desde el que se va a reindexar y el índice local para reindexar:
POST _reindex { "source": { "remote": { "host": "https://
remote-domain-endpoint
:443" }, "index": "remote_index
" }, "dest": { "index": "local_index
" } }
Debe agregar 443 al final del punto de conexión del dominio remoto para una comprobación de validación.
Para comprobar que el índice se ha copiado en el dominio local, envíe esta solicitud al dominio local:
GET local_index/_search
Si el índice remoto se encuentra en una región diferente del dominio local, pase su nombre de región, como en esta solicitud de ejemplo:
POST _reindex { "source": { "remote": { "host": "https://
remote-domain-endpoint
:443", "region": "eu-west-1" }, "index": "remote_index
" }, "dest": { "index": "local_index
" } }
En el caso de regiones aisladas, como AWS GovCloud (US) las regiones de China, es posible que no se pueda acceder al punto final porque su IAM usuario no está reconocido en esas regiones.
Si el dominio remoto está protegido con autenticación básica, especifique el nombre de usuario y la contraseña:
POST _reindex { "source": { "remote": { "host": "https://
remote-domain-endpoint
:443", "username": "username
", "password": "password
" }, "index": "remote_index
" }, "dest": { "index": "local_index
" } }
Vuelva a indexar los datos entre los dominios del OpenSearch servicio cuando el control remoto esté en un VPC
Cada dominio OpenSearch de servicio está compuesto por su propia infraestructura interna de nube privada virtual (VPC). Al crear un dominio nuevo en un OpenSearch servicio existenteVPC, se crea una interfaz de red elástica para cada nodo de datos delVPC.
Como la operación de reindexación remota se realiza desde el dominio del OpenSearch servicio remoto y, por lo tanto, dentro de su propio dominio privadoVPC, necesita una forma de VPC acceder al dominio local. Puede hacerlo utilizando la función de conexión de VPC punto final integrada para establecer una conexión a través AWS PrivateLink de ella o configurando un proxy.
Si su dominio local usa la OpenSearch versión 1.0 o posterior, puede usar la consola o la AWS CLI para crear una AWS PrivateLink conexión. Una AWS PrivateLink conexión permite que los recursos del entorno local VPC se conecten de forma privada a los recursos del remoto VPC dentro del mismo Región de AWS.
Para crear una conexión de VPC punto final, el dominio de origen que se va a reindexar debe estar en un dominio local VPC y tanto el dominio de origen como el de destino deben estar en el mismo dominio. Región de AWS
Puede utilizar la reindexación remota con la consola para copiar índices entre dos dominios que comparten una VPC conexión de punto final.
-
Ve a la consola OpenSearch de Amazon Service enhttps://console.aws.amazon.com/aos/
. -
En el panel de navegación izquierdo, seleccione Dominios.
-
Seleccione el dominio local, que es el dominio en el que desea copiar los datos. Se abrirá la página de detalles del dominio. Seleccione la pestaña Conexiones situada debajo de la información general, y luego Solicitar.
-
En la página de solicitud de conexión, seleccione VPCEndpoint Connection para su modo de conexión e introduzca otros detalles relevantes. Estos detalles incluyen el dominio remoto, que es el dominio desde el que desea copiar los datos. A continuación, seleccione Solicitar.
-
Vaya a la página de detalles del dominio remoto, seleccione la pestaña Conexiones y busque la tabla Conexiones entrantes. Seleccione la casilla de verificación situada junto al nombre del dominio desde el que acaba de crear la conexión (el dominio local). Seleccione Aprobar.
-
Vuelva al dominio local, seleccione la pestaña Conexiones y busque la tabla Conexiones salientes. Una vez que la conexión entre los dos dominios esté activa, aparecerá un punto de conexión disponible en la columna Punto de conexión de la tabla. Copie el punto de conexión.
-
Abra el panel de control del dominio local y seleccione Herramientas de desarrollo en el panel de navegación de la izquierda. Para confirmar que el índice de dominio remoto aún no existe en su dominio local, ejecute la siguiente GET solicitud.
remote-domain-index-name
Sustitúyalo por tu propio nombre de índice.GET
remote-domain-index-name
/_search { "query":{ "match_all":{} } }En el resultado, debería aparecer un error que indica que no se ha encontrado el índice.
-
Debajo de la GET solicitud, cree una POST solicitud y utilice su terminal como host remoto, de la siguiente manera.
POST _reindex { "source":{ "remote":{ "host":"
connection-endpoint
", "username":"username
", "password":"password
" }, "index":"remote-domain-index-name
" }, "dest":{ "index":"local-domain-index-name
" } }Ejecute esta solicitud.
-
Vuelva a ejecutar la GET solicitud. Ahora el resultado debería indicar que el índice local existe. Puede consultar este índice para comprobar que OpenSearch se copiaron todos los datos del índice remoto.
Puede utilizar la reindexación remota con el API para copiar índices entre dos dominios que comparten una VPC conexión de punto final.
-
Utilice la CreateOutboundConnectionAPIoperación para solicitar una nueva conexión desde su dominio local a su dominio remoto.
POST https://es.
region
.amazonaws.com/2021-01-01/opensearch/cc/outboundConnection { "ConnectionAlias": "remote-reindex-example", "ConnectionMode": "VPC_ENDPOINT", "LocalDomainInfo": { "AWSDomainInformation": { "DomainName": "local-domain-name
", "OwnerId": "aws-account-id
", "Region": "region
" } }, "RemoteDomainInfo": { "AWSDomainInformation": { "DomainName": "remote-domain-name
", "OwnerId": "aws-account-id
", "Region": "region
" } } }Recibirá un
ConnectionId
en la respuesta. Guarde este ID para utilizarlo en el siguiente paso. -
Usa la AcceptInboundConnectionAPIoperación con tu ID de conexión para aprobar la solicitud del dominio local.
PUT https://es.
region
.amazonaws.com/2021-01-01/opensearch/cc/inboundConnection/ConnectionId
/accept -
Utilice la DescribeOutboundConnectionsAPIoperación para recuperar el punto final de su dominio remoto.
{ "Connections": [ { "ConnectionAlias": "remote-reindex-example", "ConnectionId": "
connection-id
", "ConnectionMode": "VPC_ENDPOINT", "ConnectionProperties": { "Endpoint": "connection-endpoint
" }, ... } ] }Guarde el
connection-endpoint
para usarlo en el paso 5. -
Para confirmar que el índice de dominio remoto aún no existe en tu dominio local, ejecuta la siguiente GET solicitud.
remote-domain-index-name
Sustitúyalo por tu propio nombre de índice.GET
local-domain-endpoint
/remote-domain-index-name
/_search { "query":{ "match_all":{} } }En el resultado, debería aparecer un error que indica que no se ha encontrado el índice.
-
Cree una POST solicitud y utilice su terminal como host remoto, de la siguiente manera.
POST
local-domain-endpoint
/_reindex { "source":{ "remote":{ "host":"connection-endpoint
", "username":"username
", "password":"password
" }, "index":"remote-domain-index-name
" }, "dest":{ "index":"local-domain-index-name
" } }Ejecute esta solicitud.
-
Vuelva a ejecutar la GET solicitud. Ahora el resultado debería indicar que el índice local existe. Puede consultar este índice para comprobar que OpenSearch se copiaron todos los datos del índice remoto.
Si el dominio remoto está alojado dentro de un punto final VPC y no desea utilizar la función de conexión de VPC punto final, debe configurar un proxy con un punto final de acceso público. En este caso, el OpenSearch servicio requiere un terminal público porque no tiene la capacidad de enviar tráfico al tuyoVPC.
Cuando gestionas un dominio en VPCmodo, se colocan uno o más puntos de enlace en tuVPC. Sin embargo, estos puntos de enlace son únicamente para el tráfico que entra en el dominio dentro del VPC dominio y no permiten que el VPC tráfico entre en sí.
El comando reindexación remota se ejecuta desde el dominio local, por lo que el tráfico de origen no puede usar esos puntos de conexión para acceder al dominio remoto. Por eso se requiere un proxy en este caso de uso. El dominio proxy debe tener un certificado firmado por una entidad de certificación (CA) pública. No se admiten los certificados autofirmados o firmados por una entidad de certificación privada.
Reindexe los datos entre dominios que no son de servicio OpenSearch
Si el índice remoto está alojado fuera del OpenSearch servicio, como en una EC2 instancia autogestionada, defina el external
parámetro en: true
POST _reindex { "source": { "remote": { "host": "https://
remote-domain-endpoint
:443", "username": "username", "password": "password", "external": true }, "index": "remote_index
" }, "dest": { "index": "local_index
" } }
En este caso, solo se admite la autenticación básica con un nombre de usuario y contraseña. El dominio remoto debe tener un punto final de acceso público (aunque esté en el mismo VPC lugar que el dominio de OpenSearch servicio local) y un certificado firmado por una entidad emisora de certificados pública. No se admiten los certificados autofirmados o firmados por una CA privada.
Reindexar conjuntos de datos grandes
La reindexación remota envía una solicitud de desplazamiento al dominio remoto con los siguientes valores predeterminados:
-
Contexto de búsqueda de 5 minutos
-
Tiempo de espera del socket de 30 segundos
-
Tamaño del lote de 1000
Recomendamos ajustar estos parámetros para adaptarlos a sus datos. Para documentos grandes, considere un tamaño de lote más pequeño o un tiempo de espera más largo. Para obtener más información, consulte Búsqueda por desplazamiento
POST _reindex?pretty=true&scroll=10h&wait_for_completion=false { "source": { "remote": { "host": "https://
remote-domain-endpoint
:443", "socket_timeout": "60m" }, "size": 100, "index": "remote_index
" }, "dest": { "index": "local_index
" } }
También recomendamos agregar la siguiente configuración al índice local para un mejor rendimiento:
PUT local_index { "settings": { "refresh_interval": -1, "number_of_replicas": 0 } }
Una vez finalizado el proceso de reindexación, puede establecer el recuento de réplicas deseado y eliminar la configuración del intervalo de actualización.
Para reindexar únicamente un subconjunto de documentos que seleccione a través de una consulta, envíe esta solicitud al dominio local:
POST _reindex { "source": { "remote": { "host": "https://
remote-domain-endpoint
:443" }, "index": "remote_index
", "query": { "match": { "field_name": "text" } } }, "dest": { "index": "local_index
" } }
La reindexación remota no admite la división, por lo que no puede realizar varias operaciones de desplazamiento para la misma solicitud en paralelo.
Configuración remota de reindexación
Además de las opciones de reindexación estándar, OpenSearch Service admite las siguientes opciones:
Opciones | Valores válidos | Descripción | Obligatorio |
---|---|---|---|
externo | Booleano | Si el dominio remoto no es un dominio de OpenSearch servicio o si va a reindexar entre dos VPC dominios, especifique como. true |
No |
region | Cadena | Si el dominio remoto se encuentra en otra región, especifique el nombre de la región. | No |