Migración de datos entre dominios y colecciones mediante Amazon OpenSearch Ingestion - Amazon OpenSearch Service

Migración de datos entre dominios y colecciones mediante Amazon OpenSearch Ingestion

Puede utilizar las canalizaciones de OpenSearch Ingestion para migrar datos entre dominios de Amazon OpenSearch Service o colecciones de VPC de OpenSearch sin servidor. Para ello, se configura una canalización en la que se configura un dominio o colección como origen y otro dominio o colección como receptor. Esto migra eficazmente los datos de un dominio o colección a otro.

Para migrar los datos, debe tener los siguientes recursos:

  • Un dominio de OpenSearch Service o una colección de VPC de OpenSearch sin servidor de origen. Este dominio o colección contiene los datos que quiere migrar. Si usa un dominio, debe ejecutar la versión 1.0 o posterior de OpenSearch o la versión 7.4 o posterior de Elasticsearch. El dominio también debe tener una política de acceso que conceda los permisos adecuados a su rol de canalización.

  • Un dominio o colección de VPC independiente al que desee migrar sus datos. Este dominio o colección actuará como receptor de la canalización.

  • Un rol de la canalización que OpenSearch Ingestion utilizará para leer y escribir en su colección o dominio. Debe incluir el Nombre de recurso de Amazon (ARN) de este rol en la configuración de la canalización. Para obtener más información, consulte los siguientes recursos:

Limitaciones

Cuando se designan dominios de OpenSearch Service o colecciones de OpenSearch sin servidor como receptores, se aplican las siguientes limitaciones:

  • Una canalización no puede escribir en más de un dominio de VPC.

  • Solo puede migrar datos hacia o desde las colecciones de OpenSearch sin servidor que utilizan el acceso a la VPC. No se admiten las colecciones públicas.

  • No puede especificar una combinación de dominios públicos y VPC en una única configuración de la canalización.

  • Puede incluir un máximo de 20 receptores que no sean canalizaciones en una sola configuración de canalización.

  • Puede especificar receptores a partir de un máximo de tres Regiones de AWS diferentes en una sola configuración de canalización.

  • Si alguno de los receptores está inactivo durante demasiado tiempo o no cuenta con la capacidad suficiente para recibir los datos entrantes, una canalización con varios receptores puede experimentar una reducción en la velocidad de procesamiento con el tiempo.

OpenSearch Service como origen

El dominio o la colección que especifique como origen es desde donde se migran los datos.

Creación de un rol de canalización en IAM

Para crear la canalización de OpenSearch Ingestion, primero debe crear un rol de canalización para conceder el acceso de lectura y escritura entre dominios o colecciones. Para ello, siga estos pasos:

  1. Cree una nueva política de permisos en IAM para adjuntarla al rol de la canalización. Asegúrese de conceder los permisos de lectura desde el origen y de escritura en el receptor. Para obtener más información sobre cómo configurar los permisos de canalización de IAM para los dominios de OpenSearch Service, consulte Concesión de acceso a dominios para canalizaciones de Amazon OpenSearch Ingestion y Concesión de acceso a colecciones para canalizaciones de Amazon OpenSearch Ingestion.

  2. Especifique los siguientes permisos en el rol de la canalización para leer desde el origen:

    JSON
    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"es:ESHttpGet", "Resource":[ "arn:aws:es:us-east-1:111122223333:domain/domain-name/", "arn:aws:es:us-east-1:111122223333:domain/domain-name/_cat/indices", "arn:aws:es:us-east-1:111122223333:domain/domain-name/_search", "arn:aws:es:us-east-1:111122223333:domain/domain-name/_search/scroll", "arn:aws:es:us-east-1:111122223333:domain/domain-name/*/_search" ] }, { "Effect":"Allow", "Action":"es:ESHttpPost", "Resource":[ "arn:aws:es:us-east-1:111122223333:domain/domain-name/*/_search/point_in_time", "arn:aws:es:us-east-1:111122223333:domain/domain-name/*/_search/scroll" ] }, { "Effect":"Allow", "Action":"es:ESHttpDelete", "Resource":[ "arn:aws:es:us-east-1:111122223333:domain/domain-name/_search/point_in_time", "arn:aws:es:us-east-1:111122223333:domain/domain-name/_search/scroll" ] } ] }

Creación de una canalización

Tras adjuntar la política al rol de la canalización, utilice el esquema de migración AWSOpenSearchDataMigrationPipeline para crear la canalización. Este esquema incluye una configuración predeterminada para migrar datos entre dominios o colecciones de OpenSearch Service. Para obtener más información, consulte Uso de esquemas.

nota

OpenSearch Ingestion utiliza la versión y la distribución del dominio de origen para determinar qué mecanismo utilizar para la migración. Algunas versiones admiten la opción point_in_time. OpenSearch sin servidor usa la opción search_after porque no admite point_in_time o scroll.

Es posible que se estén creando nuevos índices durante el proceso de migración o que los documentos se estén actualizando mientras la migración está en curso. Por este motivo, es posible que deba escanear uno o varios escaneos de los datos del índice de su dominio para recoger datos nuevos o actualizados.

Especifique el número de escaneos que se van a ejecutar el configurar index_read_count y interval en la canalización. El siguiente de ejemplo muestra cómo realizar varios escaneos:

scheduling: interval: "PT2H" index_read_count: 3 start_time: "2023-06-02T22:01:30.00Z"

OpenSearch Ingestion utiliza la siguiente configuración para garantizar que los datos se escriban en el mismo índice y conserven el mismo ID de documento:

index: "${getMetadata(\"opensearch-index\")}" document_id: "${getMetadata(\"opensearch-document_id\")}"

Especificación de varios receptores de dominios de OpenSearch Service

Puede especificar varios dominios públicos de OpenSearch Service como destinos para sus datos. Puede utilizar esta capacidad para realizar un enrutamiento condicional o replicar los datos entrantes en varios dominios de OpenSearch Service. Puede especificar hasta 10 dominios públicos diferentes de OpenSearch Service como receptores.

En el siguiente ejemplo, los datos entrantes se enrutan condicionalmente a diferentes dominios de Servicio OpenSearch:

... route: - 2xx_status: "/response >= 200 and /response < 300" - 5xx_status: "/response >= 500 and /response < 600" sink: - opensearch: hosts: [ "https://search-response-2xx.region.es.amazonaws.com" ] aws: region: "us-east-1" index: "response-2xx" routes: - 2xx_status - opensearch: hosts: [ "https://search-response-5xx.region.es.amazonaws.com" ] aws: region: "us-east-1" index: "response-5xx" routes: - 5xx_status

Migración de datos a una colección de VPC de OpenSearch sin servidor

Puede utilizar OpenSearch Ingestion para migrar datos entre un dominio de OpenSearch Service de origen o una colección de OpenSearch sin servidor a un receptor de colecciones de VPC. Debe proporcionar una política de acceso a la red en la configuración de la canalización. Para obtener más información sobre la ingesta de datos en las colecciones de VPC de OpenSearch sin servidor, consulte Tutorial: incorporar datos en una colección mediante Amazon OpenSearch Ingestion.

Migración de datos a una colección de VPC
  1. Cree una colección de OpenSearch sin servidor. Para obtener instrucciones, consulte Tutorial: incorporar datos en una colección mediante Amazon OpenSearch Ingestion.

  2. Cree una política de red para la colección que especifique el acceso a la VPC tanto para el punto de conexión de la colección como para el punto de conexión de Dashboards. Para obtener instrucciones, consulte Acceso a la red para Amazon OpenSearch sin servidor.

  3. Cree el rol de canalización si todavía no tiene uno. Para obtener instrucciones, consulte Rol de canalización.

  4. Cree la canalización. Para obtener instrucciones, consulte Uso de esquemas.