OpenSearch 대시보드에서 OpenSearch UI로 저장된 객체 마이그레이션 - Amazon OpenSearch Service

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

OpenSearch 대시보드에서 OpenSearch UI로 저장된 객체 마이그레이션

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 사용.

마이그레이션 개요

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

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

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

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

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

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

사전 조건

마이그레이션하기 전에 다음 사전 조건을 확인합니다.

참고

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

1단계: OpenSearch 대시보드에서 저장된 객체 내보내기

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

OpenSearch 대시보드에서 수동으로 내보내기

OpenSearch Dashboards 관리 UI를 사용하여 저장된 객체를 내보내려면
  1. OpenSearch Dashboards 인스턴스를 엽니다.

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

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

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

  5. 내보내기를 선택합니다.

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

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

작은 정보

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

API를 통해 내보내기

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

참고

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

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

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로 가져오기

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

OpenSearch UI에서 수동으로 가져오기

OpenSearch UI 관리 UI를 사용하여 저장된 객체를 가져오려면
  1. OpenSearch UI 애플리케이션을 열고 대상 워크스페이스로 이동합니다.

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

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

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

  5. 충돌 관리에서 다음 중 하나를 선택합니다.

    • 고유 IDs(기본값)로 새 자산 생성 - 가져온 모든 객체에 대해 새 IDs를 생성하여 기존 자산과의 충돌을 방지합니다.

    • 기존 자산 확인 - 기존 객체와 충돌이 있는지 확인합니다. 선택하면 다음 하위 옵션 중 하나를 선택합니다.

      • 충돌 자동 덮어쓰기 - ID가 동일한 기존 자산이 자동으로 대체됩니다.

      • 충돌에 대한 요청 작업 - 각 충돌을 개별적으로 해결하라는 메시지가 표시됩니다.

  6. 가져오기를 선택합니다.

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

API를 통해 가져오기

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_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN (임시 자격 증명을 사용하는 경우) 자격 증명을 환경 변수로 설정합니다 AWS .