

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

# Amazon OpenSearch Ingestion을 사용하여 도메인과 컬렉션 간 데이터 마이그레이션
<a name="creating-opensearch-service-pipeline"></a>

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

데이터를 마이그레이션하려면 다음 리소스가 있어야 합니다.
+ 소스 OpenSearch Service 도메인 또는 소스 OpenSearch Serverless VPC 컬렉션. 이 도메인 또는 컬렉션에 마이그레이션하려는 데이터가 포함되어 있습니다. 도메인을 사용하는 경우 OpenSearch 1.0 이상 또는 Elasticsearch 7.4 이상이 실행되고 있어야 합니다. 도메인에는 파이프라인 역할에 적절한 권한을 부여하는 액세스 정책도 있어야 합니다.
+ 데이터를 마이그레이션하려는 별도의 도메인 또는 VPC 컬렉션. 이 도메인 또는 컬렉션은 파이프라인 *싱크*로 작동합니다.
+ OpenSearch Ingestion이 컬렉션이나 도메인에서 읽고 쓸 때 사용하는 파이프라인 역할. 파이프라인 구성에 이 역할의 Amazon 리소스 이름(ARN)을 포함합니다. 자세한 정보는 다음 자료를 참조하세요.
  + [도메인에 대한 Amazon OpenSearch Ingestion 파이프라인 액세스 권한 부여](pipeline-domain-access.md)
  + [컬렉션에 대한 액세스 권한을 Amazon OpenSearch Ingestion 파이프라인에 부여](pipeline-collection-access.md)

**Topics**
+ [제한 사항](#Limitations-domain-collection)
+ [OpenSearch Service를 소스로 사용](#opensearch-source)
+ [여러 OpenSearch Service 도메인 싱크 지정](#multiple-domains)
+ [OpenSearch Serverless VPC 컬렉션으로 데이터 마이그레이션](#pipeline-collection)

## 제한 사항
<a name="Limitations-domain-collection"></a>

OpenSearch Service 도메인 또는 OpenSearch Serverless 컬렉션을 싱크로 지정할 때 다음과 같은 제한 사항이 적용됩니다.
+ 파이프라인은 둘 이상의 VPC 도메인에 쓸 수 없습니다.
+ VPC 액세스를 사용하는 OpenSearch Serverless 컬렉션 사이에서만 데이터를 마이그레이션할 수 있습니다. 퍼블릭 컬렉션은 지원되지 않습니다.
+ 단일 파이프라인 구성에서 VPC와 퍼블릭 도메인의 조합을 지정할 수 없습니다.
+ 단일 파이프라인 구성 내에서 최대 20개의 비파이프라인 싱크를 보유할 수 있습니다.
+ 단일 파이프라인 구성에서 최대 3개의 싱크를 지정할 수 AWS 리전 있습니다.
+ 싱크가 여러 개 있는 파이프라인에서 싱크가 너무 오랫동안 중단된 상태이거나 수신 데이터를 처리할 수 있는 충분한 용량이 프로비저닝되지 않은 경우 시간이 지남에 따라 처리 속도가 저하될 수 있습니다.

## OpenSearch Service를 소스로 사용
<a name="opensearch-source"></a>

소스로 지정하는 도메인 또는 컬렉션이 데이터가 마이그레이션되는 *소스* 위치입니다.

### IAM에서 파이프라인 역할 생성
<a name="source-IAM"></a>

OpenSearch Ingestion 파이프라인을 생성하려면 먼저 도메인 또는 컬렉션 사이에서 읽기 및 쓰기 액세스 권한을 부여하도록 파이프라인 역할을 생성해야 합니다. 이렇게 하려면 다음 단계를 수행하세요.

1. IAM에서 새 권한 정책을 생성하여 파이프라인 역할에 연결합니다. 소스에서 읽고 싱크에 쓸 수 있는 권한을 허용해야 합니다. OpenSearch Service 도메인의 IAM 파이프라인 권한 설정에 대한 자세한 내용은 [도메인에 대한 Amazon OpenSearch Ingestion 파이프라인 액세스 권한 부여](pipeline-domain-access.md) 및 [컬렉션에 대한 액세스 권한을 Amazon OpenSearch Ingestion 파이프라인에 부여](pipeline-collection-access.md) 섹션을 참조하세요.

1. 소스에서 읽을 수 있도록 파이프라인 역할에 다음 권한을 지정합니다.

------
#### [ 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"
            ]
         }
      ]
   }
   ```

------

### 파이프라인 생성
<a name="create"></a>

정책을 파이프라인 역할에 연결한 후 **AWSOpenSearchDataMigrationPipeline** 마이그레이션 블루프린트를 사용하여 파이프라인을 생성합니다. 이 블루프린트에는 OpenSearch Service 도메인 또는 컬렉션 사이에서 데이터를 마이그레이션하기 위한 기본 구성이 포함되어 있습니다. 자세한 내용은 [블루프린트 작업](pipeline-blueprint.md) 단원을 참조하십시오.

**참고**  
OpenSearch Ingestion에서는 소스 도메인 버전과 배포를 사용하여 마이그레이션에 사용할 메커니즘을 결정합니다. 일부 버전은 `point_in_time` 옵션을 지원합니다. OpenSearch Serverless는 `point_in_time` 또는 `scroll`을 지원하지 않으므로 `search_after` 옵션을 사용합니다.

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

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

```
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 Service 도메인 싱크 지정
<a name="multiple-domains"></a>

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

다음 예제에서는 수신 데이터를 조건에 따라 서로 다른 OpenSearch Service 도메인으로 라우팅합니다.

```
...
  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
```

## OpenSearch Serverless VPC 컬렉션으로 데이터 마이그레이션
<a name="pipeline-collection"></a>

OpenSearch Ingestion을 사용하여 Amazon OpenSearch Service 도메인 또는 OpenSearch Serverless VPC 컬렉션에서 VPC 컬렉션 싱크에서 데이터를 마이그레이션할 수 있습니다. 파이프라인 구성 내에서 네트워크 액세스 정책을 제공해야 합니다. OpenSearch Serverless VPC 컬렉션으로 데이터를 수집하는 방법에 대한 자세한 내용은 [튜토리얼: Amazon OpenSearch Ingestion을 사용하여 컬렉션에 데이터 수집](osis-serverless-get-started.md) 섹션을 참조하세요.

**VPC 컬렉션으로 데이터를 마이그레이션하는 방법**

1. OpenSearch Serverless 컬렉션을 생성합니다. 지침은 [튜토리얼: Amazon OpenSearch Ingestion을 사용하여 컬렉션에 데이터 수집](osis-serverless-get-started.md) 섹션을 참조하세요.

1. 컬렉션 엔드포인트와 대시보드 엔드포인트 모두에 VPC 액세스 권한을 지정하는 컬렉션에 대한 네트워크 정책을 생성합니다. 지침은 [Amazon OpenSearch Serverless에 대한 네트워크 액세스](serverless-network.md) 섹션을 참조하세요.

1. 아직 없는 경우 파이프라인 역할을 생성합니다. 지침은 [파이프라인 역할](pipeline-security-overview.md#pipeline-security-sink) 섹션을 참조하세요.

1. 파이프라인을 생성합니다. 지침은 [블루프린트 작업](pipeline-blueprint.md) 단원을 참조하세요.