Amazon OpenSearch Ingestion을 사용하여 도메인과 컬렉션 간에 데이터를 마이그레이션하기 - 아마존 OpenSearch 서비스

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon OpenSearch Ingestion을 사용하여 도메인과 컬렉션 간에 데이터를 마이그레이션하기

통합 파이프라인을 OpenSearch 사용하여 Amazon OpenSearch Service 도메인 또는 서버리스 OpenSearch VPC 컬렉션 간에 데이터를 마이그레이션할 수 있습니다. 이렇게 하려면 한 도메인이나 컬렉션을 소스로 구성하고 다른 도메인이나 컬렉션을 싱크로 구성하는 파이프라인을 설정합니다. 이렇게 하면 한 도메인이나 컬렉션에서 다른 도메인이나 컬렉션으로 데이터를 효과적으로 마이그레이션할 수 있습니다.

데이터를 마이그레이션하려면 다음과 같은 리소스가 있어야 합니다.

  • 소스 OpenSearch 서비스 도메인 또는 OpenSearch 서버리스 VPC 컬렉션. 이 도메인 또는 컬렉션에는 마이그레이션하려는 데이터가 포함되어 있습니다. 도메인을 사용하는 경우 OpenSearch 버전 1.0 이상 또는 Elasticsearch 버전 7.4 이상을 실행해야 합니다. 또한 도메인에는 파이프라인 역할에 적절한 권한을 부여하는 액세스 정책이 있어야 합니다.

  • 데이터를 마이그레이션하려는 별도의 도메인 또는 VPC 컬렉션. 이 도메인 또는 컬렉션은 파이프라인 싱크 역할을 합니다.

  • OpenSearch Ingestion에서 컬렉션 또는 도메인을 읽고 쓰는 데 사용할 파이프라인 역할입니다. 파이프라인 구성에 이 역할의 Amazon 리소스 이름 (ARN) 을 포함합니다. 자세한 정보는 다음 자료를 참조하십시오.

제한 사항

OpenSearch 서비스 도메인 또는 OpenSearch 서버리스 컬렉션을 싱크로 지정할 때는 다음과 같은 제한이 적용됩니다.

  • 파이프라인은 둘 이상의 VPC 도메인에 쓸 수 없습니다.

  • VPC 액세스를 사용하는 OpenSearch 서버리스 컬렉션으로만 데이터를 마이그레이션할 수 있습니다. 퍼블릭 컬렉션은 지원되지 않습니다.

  • 단일 파이프라인 구성에서는 VPC와 퍼블릭 도메인의 조합을 지정할 수 없습니다.

  • 단일 파이프라인 구성 내에 최대 20개의 비파이프라인 싱크를 포함할 수 있습니다.

  • 단일 파이프라인 구성에서 최대 세 가지 AWS 리전 싱크를 지정할 수 있습니다.

  • 싱크가 여러 개 있는 파이프라인에서 싱크가 너무 오랫동안 다운되거나 수신 데이터를 수신하기에 충분한 용량이 프로비저닝되지 않으면 시간이 지남에 따라 처리 속도가 저하될 수 있습니다.

OpenSearch 소스로서의 서비스

원본으로 지정한 도메인 또는 컬렉션은 데이터가 마이그레이션되는 곳입니다.

IAM에서 파이프라인 역할 생성

통합 파이프라인을 만들려면 먼저 도메인 또는 OpenSearch 컬렉션 간에 읽기 및 쓰기 액세스 권한을 부여하는 파이프라인 역할을 만들어야 합니다. 이렇게 하려면 다음 단계를 수행하십시오.

  1. IAM에서 새 권한 정책을 생성하여 파이프라인 역할에 연결하세요. 소스에서 읽고 싱크에 쓸 수 있는 권한을 허용해야 합니다. OpenSearch 서비스 도메인의 IAM 파이프라인 권한 설정에 대한 자세한 내용은 Amazon OpenSearch 통합 파이프라인에 도메인 액세스 권한 부여Amazon 통합 파이프라인에 OpenSearch 컬렉션에 대한 액세스 권한 부여 을 참조하십시오.

  2. 파이프라인 역할 내에서 소스에서 읽을 수 있는 다음 권한을 지정하십시오.

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

파이프라인 생성

정책을 파이프라인 역할에 연결한 후 AWSOpenSearchDataMigrationPipeline마이그레이션 블루프린트를 사용하여 파이프라인을 생성하세요. 이 블루프린트에는 OpenSearch 서비스 도메인 또는 컬렉션 간에 데이터를 마이그레이션하기 위한 기본 구성이 포함되어 있습니다. 자세한 정보는 청사진을 사용하여 파이프라인 생성을 참조하세요.

참고

OpenSearch Ingestion은 소스 도메인 버전과 배포를 사용하여 마이그레이션에 사용할 메커니즘을 결정합니다. 일부 버전은 이 옵션을 지원합니다. point_in_time OpenSearch 서버리스는 point_in_time 또는 scroll 를 지원하지 않기 때문에 이 search_after 옵션을 사용합니다.

마이그레이션 프로세스 중에 새 인덱스가 생성되거나, 마이그레이션이 진행되는 동안 문서가 업데이트될 수 있습니다. 이 때문에 새 데이터나 업데이트된 데이터를 찾기 위해 도메인 인덱스 데이터의 단일 스캔이나 다중 스캔을 수행해야 할 수 있습니다.

파이프라인 구성에서 index_read_countinterval을 구성하여 스캔 실행 횟수를 지정합니다. 다음 예제에서는 다중 스캔을 수행하는 방법을 보여줍니다.

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

OpenSearch Ingestion은 다음 구성을 사용하여 데이터가 동일한 색인에 기록되고 동일한 문서 ID를 유지하도록 합니다.

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

여러 OpenSearch 서비스 도메인 싱크 지정

여러 공용 OpenSearch 서비스 도메인을 데이터 대상으로 지정할 수 있습니다. 이 기능을 사용하여 조건부 라우팅을 수행하거나 수신 데이터를 여러 OpenSearch 서비스 도메인으로 복제할 수 있습니다. 최대 10개의 서로 다른 공용 OpenSearch 서비스 도메인을 싱크로 지정할 수 있습니다.

다음 예시에서는 들어오는 데이터가 조건부로 여러 OpenSearch 서비스 도메인으로 라우팅됩니다.

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

OpenSearch 서버리스 VPC 컬렉션으로 데이터 마이그레이션

OpenSearch Ingestion을 사용하여 원본 OpenSearch 서비스 도메인 또는 OpenSearch 서버리스 컬렉션에서 VPC 컬렉션 싱크로 데이터를 마이그레이션할 수 있습니다. 파이프라인 구성 내에 네트워크 액세스 정책을 제공해야 합니다. OpenSearch 서버리스 VPC 컬렉션으로의 데이터 통합에 대한 자세한 내용은 을 참조하십시오. 자습서: Amazon OpenSearch Ingestion을 사용하여 컬렉션에 데이터 수집

VPC 컬렉션으로 데이터를 마이그레이션하려면
  1. OpenSearch 서버리스 컬렉션 생성. 지침은 자습서: Amazon OpenSearch Ingestion을 사용하여 컬렉션에 데이터 수집 섹션을 참조하십시오.

  2. 컬렉션 엔드포인트와 대시보드 엔드포인트 모두에 VPC 액세스 권한을 지정하는 컬렉션에 대한 네트워크 정책을 생성합니다. 지침은 Amazon OpenSearch 서버리스를 위한 네트워크 액세스 섹션을 참조하십시오.

  3. 아직 없는 경우 파이프라인 역할을 생성합니다. 지침은 파이프라인 역할 섹션을 참조하십시오.

  4. 파이프라인을 생성합니다. 지침은 청사진을 사용하여 파이프라인 생성 단원을 참조하세요.