

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

# OpenSearch 대시보드에서 OpenSearch UI로 저장된 객체 마이그레이션
<a name="application-migration"></a>

OpenSearch Dashboards에 기존 대시보드, 시각화, 인덱스 패턴 및 기타 저장된 객체가 있는 경우 OpenSearch UI에서 마이그레이션하고 재사용할 수 있습니다.

OpenSearch UI로 마이그레이션할 때의 이점:
+ **고가용성** - OpenSearch UI는에서 호스팅 AWS 클라우드 되며 도메인 업그레이드 및 유지 관리 중에도 계속 사용할 수 있는 반면, OpenSearch Dashboards는 도메인 내에서 호스팅되며 일시적으로 사용할 수 없습니다.
+ **다중 데이터 소스** - OpenSearch UI는 OpenSearch 도메인, 서버리스 컬렉션, Amazon S3 및 Amazon CloudWatch와의 데이터 연결을 비롯한 여러 데이터 소스에 통합 단일 창을 제공할 수 있으며, 각 OpenSearch 대시보드는 하나의 도메인 또는 컬렉션에서만 작동할 수 있습니다.
+ AI Assistant 및 Workspaces와 같은 추가 기능은 OpenSearch UI에서 사용할 수 있습니다. 자세히 알아보기: [Amazon OpenSearch Service에서 OpenSearch UI 사용](application.md).

**Topics**
+ [마이그레이션 개요](#application-migrate-saved-objects-overview)
+ [사전 조건](#application-migrate-saved-objects-prerequisites)
+ [1단계: OpenSearch 대시보드에서 저장된 객체 내보내기](#application-migrate-saved-objects-export)
+ [2단계: 저장된 객체를 OpenSearch UI로 가져오기](#application-migrate-saved-objects-import)

## 마이그레이션 개요
<a name="application-migrate-saved-objects-overview"></a>

마이그레이션 프로세스는 다음과 같은 상위 단계로 구성됩니다.

1. **OpenSearch Dashboards에서 저장된 객체 내보내기** - OpenSearch Dashboards 저장된 객체 관리 UI 또는 내보내기 API를 사용하여 대시보드, 시각화, 인덱스 패턴 및 기타 객체를 줄 바꿈으로 구분된 JSON(NDJSON) 파일로 다운로드합니다.

1. **OpenSearch UI 애플리케이션 및 워크스페이스 생성** - 아직 생성하지 않은 경우 가져온 객체를 수신할 OpenSearch UI 애플리케이션 및 워크스페이스를 생성합니다.

1. **OpenSearch UI에 데이터 소스 등록** - OpenSearch 도메인을 OpenSearch UI 애플리케이션과 연결하고 워크스페이스 내의 데이터 소스로 등록합니다. 가져온 객체의 인덱스 패턴은이 데이터 소스를 참조합니다.

1. **저장된 객체를 OpenSearch UI로 가져오기** - OpenSearch UI 저장된 객체 관리 UI 또는 가져오기 API를 사용하여 NDJSON 파일을 대상 워크스페이스에 업로드합니다.

1. **가져온 객체 검증** - OpenSearch UI에서 대시보드 및 시각화를 열어 객체가 올바르게 표시되고 데이터가 연결된 도메인 또는 컬렉션에서 흐르고 있는지 확인합니다.

## 사전 조건
<a name="application-migrate-saved-objects-prerequisites"></a>

마이그레이션하기 전에 다음 사전 조건을 확인합니다.
+ Amazon OpenSearch Service 및 OpenSearch APIs. 자세한 내용은 [Amazon OpenSearch Service 애플리케이션을 생성하는 데 필요한 권한](application-getting-started.md#application-prerequisite-permissions) 단원을 참조하십시오.
+ 마이그레이션하려는 도메인 또는 컬렉션과 OpenSearch 대시보드에 액세스할 수 있습니다.
+ OpenSearch UI 애플리케이션을 생성했습니다. 애플리케이션 및 워크스페이스 생성에 대한 자세한 내용은 섹션을 참조하세요[Amazon OpenSearch Service에서 OpenSearch 사용자 인터페이스 시작하기](application-getting-started.md).
+ 동일한 도메인 또는 컬렉션을 OpenSearch UI 애플리케이션에 연결했습니다. 데이터 소스 연결에 대한 자세한 내용은 섹션을 참조하세요[데이터 소스 연결 및 가상 프라이빗 클라우드 액세스 권한 관리](application-data-sources-and-vpc.md).

**참고**  
OpenSearch UI는 OpenSearch 버전 1.3 이상만 지원합니다. 저장된 객체를 마이그레이션하기 전에 OpenSearch 도메인이 버전 1.3 이상을 실행 중인지 확인합니다.

## 1단계: OpenSearch 대시보드에서 저장된 객체 내보내기
<a name="application-migrate-saved-objects-export"></a>

관리 UI 또는 내보내기 API를 사용하여 OpenSearch Dashboards에서 저장된 객체를 내보냅니다. 내보내기는 선택한 모든 저장된 객체 유형과 해당 종속성을 포함하는 줄 바꿈으로 구분된 JSON(NDJSON) 파일을 생성합니다.

**Topics**
+ [OpenSearch 대시보드에서 수동으로 내보내기](#application-migrate-export-console)
+ [API를 통해 내보내기](#application-migrate-export-api)

### OpenSearch 대시보드에서 수동으로 내보내기
<a name="application-migrate-export-console"></a>

**OpenSearch Dashboards 관리 UI를 사용하여 저장된 객체를 내보내려면**

1. OpenSearch Dashboards 인스턴스를 엽니다.

1. 왼쪽 탐색 패널에서 **관리를** 선택합니다.

1. **대시보드 관리**에서 **저장된 객체를** 선택합니다.

1. 내보낼 저장된 객체를 선택합니다. 특정 유형의 모든 객체를 내보내려면 검색 창을 사용하여 유형별로 필터링합니다. 모든 객체를 내보내려면 테이블 헤더에서 확인란을 선택합니다.

1. **내보내기**를 선택합니다.

1. **저장된 객체 내보내기** 대화 상자에서 **관련 객체 포함**이 선택되어 있는지 확인합니다. 이 옵션에는 시각화에서 참조하는 인덱스 패턴과 같이 선택한 저장된 객체가 의존하는 모든 객체가 포함됩니다. 종속성을 수동으로 관리하려는 경우에만이 옵션을 선택 취소합니다.

1. **내보내기**를 선택하여 `.ndjson` 파일을 로컬 시스템에 다운로드합니다.

**작은 정보**  
**관련 객체 포함**을 선택하면 내보낸 NDJSON 파일에는 종속 인덱스 패턴, 시각화 및 검색 객체를 포함하여 선택한 대시보드 및 시각화를 렌더링하는 데 필요한 저장된 모든 객체가 포함됩니다. 이렇게 하면 가져오기 단계가 간소화되고 참조 오류가 누락되지 않습니다.

### API를 통해 내보내기
<a name="application-migrate-export-api"></a>

OpenSearch Dashboards 저장된 객체 내보내기 API를 사용하여 저장된 객체를 프로그래밍 방식으로 내보낼 수 있습니다. 이는 마이그레이션을 자동화하거나 내보내기 단계를 CI/CD 파이프라인에 통합하는 데 유용합니다.

**참고**  
OpenSearch 도메인에 [세분화된 액세스 제어](fgac.md)가 활성화된 경우 내보내기 요청과 함께 인증 자격 증명을 제공해야 합니다. 사용자 이름 및 암호와 함께 `-u` 플래그를 추가하여 HTTP 기본 인증을 사용합니다. 인증 옵션에 대한 자세한 내용은 섹션을 참조하세요[Amazon OpenSearch Service에서 세분화된 액세스 제어](fgac.md).

다음 예시에서는 모든 대시보드를 관련 객체와 함께 내보냅니다. *자리 표시자*를 자신의 정보로 바꿉니다.

```
curl -X POST \
    "https://dashboards-endpoint/_dashboards/api/saved_objects/_export" \
    -u 'master-username:master-password' \
    -H "Content-Type: application/json" \
    -H "osd-xsrf: true" \
    -d '{
        "type": ["dashboard", "visualization", "index-pattern", "search"],
        "includeReferencesDeep": true,
        "excludeExportDetails": false
    }' \
    -o saved-objects-export.ndjson
```

도메인에 세분화된 액세스 제어가 활성화되어 있지 않은 경우 `-u` 플래그를 생략할 수 있습니다.

ID별로 저장된 특정 객체를 내보내려면 대신 `objects` 파라미터를 사용합니다`type`.

```
curl -X POST \
    "https://dashboards-endpoint/_dashboards/api/saved_objects/_export" \
    -u 'master-username:master-password' \
    -H "Content-Type: application/json" \
    -H "osd-xsrf: true" \
    -d '{
        "objects": [
            {"type": "dashboard", "id": "dashboard-id"},
            {"type": "visualization", "id": "visualization-id"}
        ],
        "includeReferencesDeep": true
    }' \
    -o saved-objects-export.ndjson
```

**참고**  
저장된 객체 IDs 찾으려면 저장된 객체 API를 사용하여 특정 유형의 모든 객체를 나열할 수 있습니다. 다음 예제에서는 모든 대시보드를 나열합니다.  

```
curl -X GET \
    "https://dashboards-endpoint/_dashboards/api/saved_objects/_find?type=dashboard" \
    -u 'master-username:master-password'
```
응답에는 저장된 각 객체의 ID가 포함됩니다. OpenSearch Dashboards에서 객체를 볼 때 브라우저 URL에서 ID를 찾을 수도 있습니다.

## 2단계: 저장된 객체를 OpenSearch UI로 가져오기
<a name="application-migrate-saved-objects-import"></a>

저장된 객체를 내보낸 후 NDJSON 파일을 OpenSearch UI로 수동으로 또는 API를 통해 가져올 수 있습니다.

**Topics**
+ [OpenSearch UI에서 수동으로 가져오기](#application-migrate-import-console)
+ [API를 통해 가져오기](#application-migrate-import-api)

### OpenSearch UI에서 수동으로 가져오기
<a name="application-migrate-import-console"></a>

**OpenSearch UI 관리 UI를 사용하여 저장된 객체를 가져오려면**

1. OpenSearch UI 애플리케이션을 열고 대상 워크스페이스로 이동합니다.

1. 워크스페이스의 상단 탐색에서 **자산을** 선택하거나 워크스페이스 자산 페이지로 이동합니다.

1. **가져오기**를 선택하여 **자산 가져오기** 대화 상자를 엽니다.

1. **파일 선택을** 선택하고 OpenSearch Dashboards에서 내보낸 `.ndjson` 파일을 선택합니다.

1. **충돌 관리**에서 다음 중 하나를 선택합니다.
   + **고유 IDs로 새 자산 생성**(기본값) - 가져온 모든 객체에 대해 새 IDs를 생성하여 기존 자산과의 충돌을 방지합니다.
   + **기존 자산 확인** - 기존 객체와 충돌이 있는지 확인합니다. 선택하면 다음 하위 옵션 중 하나를 선택합니다.
     + **충돌 자동 덮어쓰기** - ID가 동일한 기존 자산이 자동으로 대체됩니다.
     + **충돌에 대한 요청 작업** - 각 충돌을 개별적으로 해결하라는 메시지가 표시됩니다.

1. **가져오기**를 선택합니다.

1. 가져오기 요약을 검토합니다.

### API를 통해 가져오기
<a name="application-migrate-import-api"></a>

 AWS 서명 버전 4 인증이 포함된 API를 사용하여 저장된 객체를 가져오려면 먼저 데이터 소스 ID를 가져온 다음 가져오기 요청에 사용해야 합니다. *자리 표시자*를 자신의 정보로 바꿉니다.

1단계: 워크스페이스의 데이터 소스 ID 가져오기:

```
curl -X GET \
    "https://opensearch-ui-endpoint/w/workspace-id/api/saved_objects/_find?type=data-source" \
    --aws-sigv4 "aws:amz:region:opensearch" \
    --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
    -H "x-amz-security-token: $AWS_SESSION_TOKEN" \
    -H "osd-xsrf: true"
```

**참고**  
응답에는 데이터 소스 ID가 포함됩니다. OpenSearch UI에서 데이터 소스를 볼 때 브라우저 URL에서 데이터 소스 ID를 찾을 수도 있습니다.

2단계: 1단계의 데이터 소스 ID를 사용하여 저장된 객체 가져오기:

```
curl -X POST \
    "https://opensearch-ui-endpoint/w/workspace-id/api/saved_objects/_import?overwrite=true&dataSourceId=data-source-id" \
    --aws-sigv4 "aws:amz:region:opensearch" \
    --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
    -H "x-amz-security-token: $AWS_SESSION_TOKEN" \
    -H "osd-xsrf: true" \
    -F "file=@saved-objects-export.ndjson"
```

**참고**  
이 예제에서는 curl의 기본 제공 `--aws-sigv4` 옵션(curl 7.75 이상에서 사용 가능)을 사용하여 요청에 서명합니다. 명령을 실행하기 전에 자격 증명을 환경 변수로 설정합니다 AWS . `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`및 `AWS_SESSION_TOKEN` (임시 자격 증명을 사용하는 경우).