Looker(원본)에서 Looker(Google Cloud 핵심 서비스)로 셀프 서비스 마이그레이션

이 문서에서는 기존 Looker 인스턴스를 Looker(원본) 환경에서 Looker(Google Cloud 핵심 서비스)로 마이그레이션하는 기술적 단계를 설명합니다.

Looker(Google Cloud 핵심 서비스)는 Google Cloud Platform과 긴밀하게 통합되는 배포 환경입니다. Looker(Google Cloud 핵심 서비스)는 Google Cloud 인프라에서 호스팅되므로 Google Cloud 콘솔을 통해 직접 관리할 수 있으며 Google Cloud의 다른 많은 제품, 서비스, 기능과 긴밀하게 통합됩니다.

시작하기 전에

  1. 다음 문서를 검토하여 Google Cloud 원칙과 도구를 숙지합니다.
  2. 계정 담당자에게 마이그레이션 및 Looker(원본) 인스턴스가 적합한지 여부를 문의하세요. 인스턴스가 적격하고 Looker(Google Cloud 핵심 서비스)를 포함하도록 기존 Looker(원본) 계약을 업그레이드한 경우 이 문서의 단계에 따라 인스턴스를 마이그레이션할 수 있습니다.
  3. 마이그레이션을 준비하는 데 필요한 권한을 얻으려면 관리자에게 연락해서 Looker(Google Cloud 핵심 서비스) 인스턴스가 배치되는 Google Cloud 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

    • Looker(Google Cloud 핵심 서비스) 인스턴스 만들기: Looker 관리자(roles/looker.admin).
    • Google Cloud 프로젝트 내에서 IAM 역할 할당: 프로젝트 IAM 관리자(roles/resourcemanager.projectIamAdmin).
    • Cloud Storage 버킷 만들기: 스토리지 관리자(roles/storage.admin).

    역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

    커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

  4. 마이그레이션을 준비할 때 Looker(원본) 인스턴스를 관리하려면 해당 인스턴스에서 관리자 Looker 역할이 있어야 합니다.
  5. 새로운 "빈" Looker(Google Cloud 핵심 서비스) 인스턴스를 만듭니다.

    새 Looker(Google Cloud 핵심 서비스) 인스턴스에 적절한 버전, 네트워크 연결 유형(공개 IP 또는 비공개 IP), 기타 구성 속성(CMEK, VPC-SC)을 선택하여 필요한 기능이 있는지 확인합니다. Looker(Google Cloud 핵심 서비스)의 일부 기능은 선택한 버전 또는 선택한 네트워크 유형에 따라 달라집니다.

    인스턴스는 '비어 있음'으로 둡니다. 모델 파일, 사용자, 연결, Explore, 대시보드, 폴더와 같은 데이터로 채워지지 않습니다. 가져오기 단계를 수행하는 동안 모든 설정 또는 콘텐츠가 삭제되며 이전 데이터로 대체됩니다.

    하지만 Google Cloud 콘솔을 통해 지정되거나 인스턴스 생성 중에만 지정될 수 있는 Looker(Google Cloud 핵심 서비스)의 구성 속성은 마이그레이션 프로세스 중에 덮어쓰지 않습니다.

개요

마이그레이션 과정은 개략적으로 다음과 같은 단계로 구성됩니다.

  1. Looker(원본) 인스턴스를 마이그레이션할 준비가 되었는지 확인합니다.
  2. Looker(원본) 인스턴스에서 데이터를 내보냅니다.
  3. 새로운 '빈' Looker(Google Cloud 핵심 서비스) 인스턴스로 데이터를 가져옵니다.
  4. Looker(Google Cloud 핵심 서비스) 인스턴스 설정을 완료합니다.
  5. Looker(원본) 인스턴스를 사용 중단합니다.

다음 섹션에서는 이러한 각 단계에 대해 자세히 설명합니다.

Looker(원본) 인스턴스를 마이그레이션할 준비가 되었는지 확인

Looker(원본) 인스턴스가 마이그레이션 조건을 충족하려면 다음 기본 요건을 충족해야 합니다.

  • Looker(원본) 인스턴스는 Google에서 관리(즉, 고객이 호스팅하지 않음)되고 Google Cloud 또는 Amazon Web Services에서 호스팅되어야 합니다.
  • Looker(원본) 인스턴스는 현재 Looker(Google Cloud 핵심 서비스) 버전의 월별 출시 내의 버전을 사용해야 합니다. 현재 Looker(Google Cloud 핵심 서비스) 버전을 찾으려면 Looker 출시 노트에서 최신 배포 공지를 확인하세요.

또한 마이그레이션하기 전에 다음 활동을 수행하세요.

  • Looker(원본)와 Looker(Google Cloud 핵심 서비스) 간에는 기능 차이가 있습니다. 이러한 차이를 검토하여 Looker(Google Cloud 핵심 서비스)의 기능이 지속적인 요구사항을 충족하는지 확인합니다.

  • 마이그레이션할 때 모든 프로덕션 모드 프로젝트와 포함된 모델 파일은 복사되지만 개별 사용자에게 속한 개발 모드 프로젝트는 복사되지 않습니다. 개발 모드 파일이 마이그레이션을 통해 전송되도록 하려면 마이그레이션을 시작하기 전에 모든 개발 모드 프로젝트의 모든 파일을 Git 저장소에 커밋해야 합니다.

  • Looker(Google Cloud 핵심 서비스)는 Google OAuth, SAML, OpenID Connect 인증 방법만 지원합니다.

    • Looker(원본) 인스턴스가 다른 인증 방법(예: 이메일과 비밀번호, LDAP 등)을 사용하는 경우 모든 사용자를 Looker(Google Cloud 핵심 서비스)에서 지원되는 인증 방법으로 변환해야 합니다.
    • Looker(원본) 인스턴스가 이미 Google OAuth를 사용하는 경우 모든 사용자 레코드가 전송되지만 Looker(Google Cloud 핵심 서비스) 인스턴스 프로젝트에서는 사용자의 IAM 권한을 수동으로 만들어야 합니다.
    • Looker(원본) 인스턴스에 SAML이 사용되는 경우 SAML 인증 관리자 패널 페이지의 설정을 사용하는 사용자 병합Google 또는 OIDC로 설정하여 SAML 인증 테스트 시 오류를 방지해야 합니다.
    • Looker(원본) 인스턴스에 OIDC가 사용되는 경우 OpenID Connect 인증 관리자 패널 페이지의 설정을 사용하는 사용자 병합Google 또는 SAML로 설정하여 OpenID Connect 인증 테스트 시 오류를 방지해야 합니다.
    • 외부 ID 공급업체를 사용하는 경우 ID 공급업체에서 콜백 URL을 Looker(Google Cloud 핵심 서비스) URL로 업데이트하여 새로운 Looker(Google Cloud 핵심 서비스) 인스턴스에 대한 인증을 허용해야 합니다.
    • 또한 Looker(Google Cloud 핵심 서비스) 인스턴스에 SAML 또는 OpenID Connect가 인증 방법으로 사용되는 경우에는 Looker(Google Cloud 핵심 서비스)의 백업 인증 방법으로 사용되는 Google OAuth를 설정하는 것이 좋습니다.
    • Looker(Google Cloud 핵심 서비스) 인스턴스에서 커스텀 도메인을 사용하려면 커스텀 도메인이 사용 설정될 때까지 인스턴스에 대한 SAML 또는 OpenID Connect를 설정하지 마세요.
  • 마이그레이션 중에 2개의 Looker 인스턴스(하나는 Looker(원본), 다른 하나는 Looker(Google Cloud 핵심 서비스))가 일정 기간 동안 동시에 실행됩니다. 알림 및 예약된 데이터 전송과 같은 자동 활동뿐만 아니라 백엔드 데이터베이스에 액세스하는 백그라운드 활동도 중복될 수 있습니다. 중복 활동을 방지하려면 Looker(원본) 또는 Looker(Google Cloud 핵심 서비스) 인스턴스에서 자동 알림 및 일정을 삭제합니다.

Looker(원본) 인스턴스에서 데이터 내보내기

Looker(원본) 인스턴스에서 데이터를 내보내려면 다음 두 단계가 필요합니다.

  1. 마이그레이션 데이터를 저장할 위치 만들기
  2. 내보내기를 시작합니다.

마이그레이션 데이터를 저장할 위치 만들기

Looker(Google Cloud 핵심 서비스) 인스턴스를 만든 동일한 Google Cloud 프로젝트에서 다음 작업을 모두 수행합니다.

  1. 새 Cloud Storage 버킷을 만듭니다(예: <bucket-name>).
    • 이 버킷은 마이그레이션 데이터를 저장하는 데 사용됩니다.
    • 버킷 만들기 문서 페이지의 안내를 따릅니다.
    • <bucket-name>은 모든 Google Cloud에서 고유해야 합니다. 버킷 이름 앞에 프로젝트 ID와 같은 고유 식별자를 추가하는 것이 좋습니다.
  2. Cloud Storage 버킷 내부의 폴더 이름을 결정합니다(예: <folder-name>). 지금 폴더를 만들지 마세요. 내보내기 요청 중에 폴더 이름을 지정합니다. 내보내기 프로세스 중에 자동으로 생성됩니다.
  3. Cloud KMS에 키링 및 키를 만듭니다(예: <kms_keyring_id><kms-key-id>).
  4. 마이그레이션 전용 새 서비스 계정을 만듭니다(예: <export-service-account>).
  5. 두 가지 특정 IAM 역할을 <export-service-account>에 부여합니다.

  6. <export-service-account>에 연결된 서비스 계정 키를 만들고 JSON 키 파일을 다운로드합니다.

내보내기 요청

인스턴스를 마이그레이션할 준비가 되었는지 확인하고, "빈" Looker(Google Cloud 핵심 서비스) 인스턴스를 만들고, 마이그레이션 데이터를 저장할 공간을 만들었으면, Looker(원본) 인스턴스의 관리자 패널에 있는 내보내기 페이지에 다음 정보를 입력합니다.

  • 만든 Cloud Storage 버킷의 이름
  • Cloud Storage 폴더 이름. 이 이름의 폴더는 내보내기 중에 자동으로 생성됩니다. 내보내기가 완료되면 앞에서 만든 Cloud Storage 버킷에서 이 폴더 안의 타임스탬프가 표시된 하위 폴더에 내보내기 파일이 표시됩니다.
  • KMS 키 이름
  • 서비스 계정 키가 포함된 JSON 텍스트

내보내기 페이지에 정보를 입력한 후 내보내기 요청을 클릭하여 내보내기를 시작합니다.

내보내기 프로세스는 몇 분에서 몇 시간까지 걸립니다. 내보내기가 완료되었으면 Cloud Storage 버킷 및 폴더에 여러 내보내기 파일(인간이 읽을 수 없는 형식)이 표시됩니다. 이러한 파일은 다음 가져오기 단계에 대한 입력입니다.

새로운 "빈" Looker(Google Cloud 핵심 서비스) 인스턴스로 데이터 가져오기

인스턴스 데이터를 내보낸 후 이를 Looker(Google Cloud 핵심 서비스) 인스턴스로 가져올 수 있습니다.

Cloud Storage에서 Looker(Google Cloud 핵심 서비스) 인스턴스로 데이터 가져오기 페이지의 안내에 따라 내보내기 파일이 배치된 버킷과 폴더를 가리키도록 합니다.

요약하자면 다음을 수행합니다.

  1. <export-service-account>를 제외한 Looker 서비스 계정에 버킷 및 KMS 키에 액세스할 수 있는 다음 역할을 부여합니다.
  2. Google Cloud 콘솔 또는 gcloud CLI를 통해 가져오기 트리거

가져오기 작업은 몇 분에서 몇 시간 정도 걸립니다. 완료되었으면 Looker(Google Cloud 핵심 서비스) 인스턴스가 모든 마이그레이션 데이터와 함께 다시 시작됩니다.

Looker(Google Cloud 핵심 서비스) 인스턴스 설정 완료

이 시점에서 Looker 관리자는 인스턴스 URL로 이동하고 인스턴스에 로그인하여 설정을 완료할 수 있습니다.

마이그레이션 프로세스는 Looker(원본) 인스턴스 구성을 최대한 많이 복사합니다. 하지만 일부 항목은 마이그레이션하거나 Looker(Google Cloud 핵심 서비스)에서 약간 다르게 작동할 수 없으므로 조정해야 합니다.

특히 주의가 필요한 것으로 알려진 항목은 다음과 같습니다.

일반 설정 (Looker 관리자 패널)

Looker(Google Cloud 핵심 서비스)는 서로 다르거나 동일한 형식으로 존재하지 않는 경우가 많기 때문에 대부분의 일반 설정 옵션 및 관리 패널의 기타 설정은 자동으로 복사되지 않습니다. 원하는 Looker(Google Cloud 핵심 서비스) 구성의 컨텍스트에서 모든 설정을 신중하게 검토하고 구성해야 합니다. Looker (Google Cloud 핵심 서비스)의 설정에 대한 자세한 내용은 Looker에서 Looker (Google Cloud 핵심 서비스) 인스턴스 관리Google Cloud 콘솔에서 Looker (Google Cloud 핵심 서비스) 인스턴스 관리 문서 페이지를 참고하세요.

사용자

Looker(Google Cloud 핵심 서비스)는 Google OAuth, SAML, OpenID Connect 인증 방법만 지원합니다.

Looker(원본) 인스턴스도 Google OAuth에 대해 구성된 경우 사용자 레코드와 속성이 복사됩니다(두 인스턴스의 동일한 Google ID 및 이메일 주소와 연결되어 있는 경우). 프로젝트 IAM 관리자는 인스턴스가 있는 Google Cloud 프로젝트에서 Looker 관리자 또는 Looker 인스턴스 사용자 IAM 역할을 각 사용자에게 부여해야 합니다.

Looker(원본) 인스턴스가 SAML 또는 OpenID Connect로 구성된 경우 인증 방법에 대한 사용자 병합 필드에 Looker(Google Cloud 핵심 서비스)에서 지원되는 인증 방법만 표시되는지 확인합니다.

Looker(원본) 인스턴스의 일부 사용자가 Looker(Google Cloud 핵심 서비스)에서 지원되지 않는 메커니즘(예: LDAP 또는 이메일/비밀번호)을 사용해서 인증을 수행하는 경우 해당 사용자 계정을 다시 만들고 지원되는 인증 방법으로 변환해야 합니다.

데이터베이스 연결

Looker(Google Cloud 핵심 서비스)는 Looker(원본)와 약간 다른 데이터베이스 언어 집합을 지원합니다. 데이터베이스 연결의 모든 구성 속성(연결 문자열 및 비밀번호 포함)이 복사됩니다. 하지만 Looker(Google Cloud 핵심 서비스)의 다른 네트워크 토폴로지로 인해 데이터베이스 연결이 즉시 작동하지 않을 수 있습니다. 예를 들어 Looker(원본) 인스턴스와 관련된 방화벽 또는 터널을 통해 데이터베이스에 액세스하는 경우 방화벽 또는 터널을 재구성해야 할 수 있습니다. 각 연결을 테스트하고 필요한 경우 다시 설정해야 합니다.

OAuth를 사용하는 데이터베이스 연결

Looker(원본)에서 Looker(Google Cloud 핵심 서비스)로 마이그레이션하면 BigQuery 또는 Snowflake에 대한 개별 사용자의 데이터베이스 연결에 대한 OAuth 액세스 또는 갱신 토큰이 유지되지 않습니다. 마이그레이션 후 Looker(Google Cloud 핵심 서비스) 사용자에게 OAuth 데이터베이스 연결을 참조하는 Explore 또는 대시보드를 볼 때 OAuth를 다시 인증하라는 메시지가 표시됩니다. 사용자는 계정 페이지로 이동하여 OAuth 연결 사용자 인증 정보 제목 아래에서 데이터베이스마다 로그인을 선택하여 데이터베이스에 다시 인증할 수도 있습니다. 한 명의 사용자가 소유하고 OAuth 연결을 참조하는 자동화된 일정 또는 알림은 해당 사용자가 OAuth 사용자 인증 정보로 로그인할 때까지 중단됩니다.

Git 저장소 연결

인스턴스가 베어메탈 Git 저장소를 사용하는 경우 수정 없이 작동해야 합니다(복사되었지만 공유되지 않음). 하지만 인스턴스가 원격 저장소에 연결되는 경우 데이터베이스 연결과 마찬가지로 이러한 연결을 확인하고 다시 사용 설정해야 할 수 있습니다.

기타 네트워크 구성

Looker 인스턴스에는 인바운드 및 아웃바운드 모두 다른 유형의 네트워크 연결이 있을 수 있습니다(예: 비공개 IP, 작업 허브, Marketplace, 이메일 등의 컨텍스트). 이러한 네트워크 연결도 확인해야 합니다.

Looker(Google Cloud 핵심 서비스) 인스턴스에 액세스하기 위한 URL

Looker(Google Cloud 핵심 서비스) 인스턴스에는 무작위로 할당된 기본 URL이 함께 제공됩니다. 특정 URL을 통해 인스턴스에 액세스해야 하는 경우 커스텀 도메인을 구성할 수 있습니다.

일정 및 알림

Looker(원본)와 Looker(Google Cloud 핵심 서비스) 인스턴스가 동시에 활성 상태인 경우 예약된 예약 작업 및 알림이 생성되고 연결된 데이터베이스에 액세스하는 중복 백그라운드 작업이 수행될 수 있습니다. 이러한 활동은 가능한 한 빨리 인스턴스 중 하나에서 사용 중지해야 합니다.

한 명의 사용자가 소유하고 해당 사용자의 개별 OAuth 연결을 참조하는 자동화된 일정 또는 알림은 해당 사용자가 OAuth 사용자 인증 정보로 로그인할 때까지 중단됩니다.

유지보수 기간

Looker(원본)와 달리 Looker(Google Cloud 핵심 서비스)에 유지보수 정책을 지정할 수 있습니다.

엘리트 시스템 활동

엘리트 시스템 활동 데이터는 마이그레이션 중에 복사되지 않습니다. Looker(Google Cloud 핵심 서비스) 인스턴스가 새 기록으로 시작됩니다.

커스텀 도메인

Looker(Google Cloud 핵심 서비스) 인스턴스의 커스텀 도메인을 만들 수 있습니다. SSL 인증서를 배포하려면 DNS 레코드를 설정해야 합니다. 또한 커스텀 도메인이 사용 설정되고 인증 방법이 설정되면 인증 클라이언트의 콜백 URL을 커스텀 도메인으로 업데이트해야 합니다. looker.com 도메인을 사용하여 Looker(Google Cloud 핵심 서비스)에 대한 커스텀 도메인을 만들 수 없습니다.

Looker(원본) 인스턴스의 커스텀 URL을 사용하여 Looker(Google Cloud 핵심 서비스) 인스턴스의 커스텀 도메인을 만들려면 마이그레이션이 완료된 후 및 Looker(Google Cloud core) 인스턴스를 사용할 준비가 되었는지 확인한 후에 커스텀 도메인을 설정해야 합니다. 커스텀 도메인이 사용 설정되면 사용자가 인스턴스 URL을 방문하면 Looker(원본) 인스턴스가 아닌 Looker(Google Cloud 핵심 서비스) 인스턴스가 표시됩니다.

인스턴스를 사용할 준비가 되고, DNS 레코드가 업데이트되고, 커스텀 도메인이 사용 설정될 때까지 Looker(Google Cloud 핵심 서비스) 인스턴스에 대해 SAML 또는 OpenID Connect를 설정하지 마세요.

북마크

Looker(원본) 인스턴스(looker.com 도메인을 사용하지 않음)에서 커스텀 URL을 사용하는 경우 Looker(원본) 인스턴스와 동일한 URL을 사용하여 Looker(Google Cloud 핵심 서비스) 인스턴스에 대한 커스텀 도메인을 만든 경우 이 마이그레이션 프로세스에서 사용자의 북마크를 유지해야 합니다.

커스텀 도메인이 사용 설정되면 https://www.yourcustomdomain.com/dashboard/123와 같은 Looker(원본) 콘텐츠 북마크가 Looker(Google Cloud 핵심 서비스) 인스턴스 내의 콘텐츠 부분을 가리킵니다. (참고: Looker(Google Cloud 핵심 서비스)의 엔터프라이즈삽입 버전은 숫자 Content ID 대신 영숫자 콘텐츠 슬러그를 URL에 사용하지만 Content ID가 포함된 북마크는 여전히 동일한 콘텐츠로 올바르게 리디렉션됩니다.)

looker.com 도메인을 사용하는 Looker(원본) URL에서는 이 프로세스를 사용할 수 없습니다.

이 목록은 일부일 뿐 모든 내용을 포함하지는 않습니다. 마이그레이션을 완료하기 전에 가장 중요한 인스턴스 요소를 모두 테스트합니다.

마이그레이션이 완료되고 다른 내보내기가 필요하지 않으면 앞에서 만든 <export-service-account>삭제하여 공유된 JSON 키를 쓸 수 없게 만듭니다.

Looker(원본) 인스턴스 사용 중단

마이그레이션된 Looker(Google Cloud 핵심 서비스) 인스턴스가 만족스러우면 사용자에게 인스턴스의 URL을 전송하여 Looker(원본) 인스턴스에 대한 액세스를 사용 중지하도록 지시할 수 있습니다.

문제 해결

다음 섹션은 가져오기 또는 내보내기 중에 문제를 해결하는 데 도움이 될 수 있습니다.

내보내기 중 문제 발생

Looker(원본) 데이터 내보내기 중 문제가 발생하면 오류 상태가 관리자 패널의 내보내기 페이지에 표시됩니다. 오류 상태를 클릭하면 오류 메시지가 표시됩니다.

오류의 일반적인 원인은 다음과 같습니다.

  • Cloud Storage 버킷, KMS 키 또는 <export-service-account>가 잘못되었습니다.
  • <export-service-account>에 필요한 권한이 없습니다.

내보내기 요청을 제출하기 전 이러한 객체 상태를 확인하는 것이 좋습니다.

가져오기 중 문제 발생

가져오기 작업이 4시간(또는 소스 인스턴스가 매우 큰 경우 그 이상의 시간)이 지나도 완료되지 않거나 오류가 발생하는 경우 Cloud Customer Care에 티켓을 개설하여 문제를 해결해야 할 수 있습니다. 이 작업에 대해 고객에게 직접 표시되는 진단은 상대적으로 적습니다.

다음 단계