本文將說明如何從 Looker (原始版本) 環境,將現有 Looker 執行個體遷移至 Looker (Google Cloud Core)。
Looker (Google Cloud Core) 是一種部署環境,與 Google Cloud 平台深度整合。Looker (Google Cloud Core) 託管於 Google Cloud 基礎架構,可直接透過 Google Cloud 控制台管理,並與 Google Cloud的許多其他產品、服務和功能深度整合。
事前準備
- 請參閱下列說明文件,瞭解 Google Cloud 原則和工具:
- 如要瞭解遷移事宜和 Looker (原始版本) 執行個體是否符合資格,請洽詢您的帳戶代表。如果您的執行個體符合資格,且您已升級現有的 Looker (原始版本) 合約,將 Looker (Google Cloud Core) 納入其中,即可按照本文步驟遷移執行個體。
-
如要取得準備遷移作業所需的權限,請要求管理員在 Looker (Google Cloud Core) 執行個體所在的 Google Cloud 專案中,授予您下列 IAM 角色:
-
建立 Looker (Google Cloud Core) 執行個體:
Looker 管理員 (
roles/looker.admin
)。 -
在專案中指派 IAM 角色:
專案 IAM 管理員 (
roles/resourcemanager.projectIamAdmin
)。 Google Cloud -
建立 Cloud Storage bucket:
Storage Admin (
roles/storage.admin
)。
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
-
建立 Looker (Google Cloud Core) 執行個體:
Looker 管理員 (
- 如要管理 Looker (原始) 執行個體,為遷移作業做準備,您必須具備該執行個體的「管理員」Looker 角色。
建立新的「空白」Looker (Google Cloud Core) 執行個體。
請務必為新的 Looker (Google Cloud Core) 執行個體選取適當的版本、網路連線類型 (公開 IP 或私人 IP) 和其他設定屬性 (CMEK、VPC-SC),確保執行個體具備必要功能。Looker (Google Cloud Core) 的部分功能取決於所選版本或所選網路類型。
讓執行個體「空白」,不要填入任何資料,例如模型檔案、使用者、連線、探索、資訊主頁或資料夾。在匯入步驟中,所有設定或內容都會遭到清除,並替換為遷移資料。
不過,透過 Google Cloud 控制台指定的 Looker (Google Cloud Core) 設定屬性,或只能在建立執行個體時指定的屬性,在遷移過程中不會遭到覆寫。
總覽
遷移程序大致包含下列步驟。
- 確認 Looker (原始版本) 執行個體已準備好遷移。
- 從 Looker (原始版本) 執行個體匯出資料。
- 將資料匯入新的「空白」Looker (Google Cloud Core) 執行個體。
- 完成 Looker (Google Cloud Core) 執行個體的設定。
- 停用 Looker (原始版本) 執行個體。
下列各節將詳細說明每個步驟。
確認 Looker (原始) 執行個體已準備好遷移
如要遷移 Looker (原始版) 執行個體,必須符合下列先決條件:
- 您的 Looker (原始版) 執行個體必須由 Google 管理 (也就是非客戶代管),且代管於 Google Cloud 或 Amazon Web Services。
您的 Looker (原始版本) 執行個體必須使用與目前 Looker (Google Cloud Core) 版本相差一個月發布週期的版本。如要查看目前的 Looker (Google Cloud Core) 版本,請參閱 Looker 版本資訊,並找出最近的部署公告。
此外,請在遷移前執行下列活動:
Looker (原始版本) 和 Looker (Google Cloud Core) 之間存在一小部分的功能差異。請詳閱這些差異,確保 Looker (Google Cloud Core) 的功能符合您的持續性需求。
遷移作業會複製所有正式版模式專案和內含的模型檔案,但不會複製屬於個別使用者的開發模式專案。如要確保開發模式檔案透過遷移作業轉移,您必須先將所有開發模式專案中的所有檔案提交至 Git 存放區,再啟動遷移作業。
Looker (Google Cloud Core) 僅支援 Google OAuth、SAML 和 OpenID Connect 驗證方式。
- 如果 Looker (原始版本) 執行個體使用其他驗證方法 (例如電子郵件和密碼、LDAP 等),您必須將所有使用者轉換為Looker (Google Cloud Core) 支援的驗證方法。
- 如果 Looker (原始) 執行個體已使用 Google OAuth,所有使用者記錄都會轉移,但您仍須手動為 Looker (Google Cloud Core) 執行個體專案中的使用者建立 IAM 權限。
- 如果 Looker (原始版) 執行個體使用 SAML,「SAML 驗證」管理面板頁面的「使用以下項目合併使用者」設定必須設為「Google」或「OIDC」,才能避免在測試 SAML 驗證時發生錯誤。
- 如果 Looker (原始版) 執行個體使用 OIDC,OpenID Connect 驗證管理面板頁面的「使用以下項目合併使用者」設定必須設為「Google」或「SAML」,才能避免在測試 OpenID Connect 驗證時發生錯誤。
- 如果您使用外部身分識別提供者,請務必將身分識別提供者中的回呼網址更新為 Looker (Google Cloud Core) 網址,以便驗證新的 Looker (Google Cloud Core) 執行個體。
- 如果 Looker (Google Cloud Core) 執行個體將使用 SAML 或 OpenID Connect 做為驗證方法,建議您一併設定 Google OAuth,做為 Looker (Google Cloud Core) 的備用驗證方法。
- 如果要在 Looker (Google Cloud Core) 執行個體中使用自訂網域,請先啟用自訂網域,再為執行個體設定 SAML 或 OpenID Connect。
遷移期間,兩個 Looker 執行個體 (一個是 Looker (原始版本),另一個是 Looker (Google Cloud Core)) 會並行運作一段時間。任何自動執行的活動 (例如快訊、排定的資料傳送作業,以及存取後端資料庫的背景活動) 都可能會重複執行。為避免活動重複,請在 Looker (原始版本) 或 Looker (Google Cloud Core) 執行個體中刪除自動快訊和排程。
從 Looker (原始版本) 執行個體匯出資料
如要從 Looker (原始) 執行個體匯出資料,請完成下列兩個步驟:
建立儲存遷移資料的位置
在建立 Looker (Google Cloud Core) 執行個體的 Google Cloud 專案中,執行下列所有作業。
- 建立新的 Cloud Storage bucket (例如
<bucket-name>
)。- 這個 bucket 用於儲存遷移資料。
- 請按照「建立 buckets」說明文件頁面的指示操作。
- 請注意,
<bucket-name>
在所有 Google Cloud中不得重複。建議在 bucket 名稱加上專屬 ID 前置字元,例如專案 ID。
- 決定 Cloud Storage bucket 內資料夾的名稱 (例如
<folder-name>
)。請勿立即建立資料夾。在匯出要求期間指定資料夾名稱。匯出程序會自動建立這項檔案。 - 在 Cloud KMS 中建立金鑰環和金鑰 (例如
<kms_keyring_id>
和<kms-key-id>
)。- 這組金鑰將用於加密遷移資料。由於這是 KMS 金鑰,您只需要在 Looker (舊版) 管理員面板的「匯出」頁面中揭露金鑰名稱,不必揭露金鑰本身。
- 按照「建立金鑰環」和「建立金鑰」說明文件頁面的指示操作。
- 專為遷移作業建立新的服務帳戶 (例如
<export-service-account>
)。- 這與 Looker 服務帳戶不同。
- 按照「建立服務帳戶」說明文件頁面的操作說明進行。
授予
<export-service-account>
兩個特定 IAM 角色:- Cloud Storage bucket 上的
Storage Object Creator
- KMS 金鑰的
Cloud KMS CryptoKey Encrypter
- 請按照「使用 IAM 權限 (Cloud Storage)」和「使用 IAM 控管存取權 (KMS)」說明文件頁面的操作說明進行。
- Cloud Storage bucket 上的
建立與
<export-service-account>
相關聯的服務帳戶金鑰,並下載 JSON 金鑰檔案。- 請按照「建立及刪除服務帳戶金鑰」說明文件頁面的操作說明進行。
要求匯出
確認執行個體已準備好遷移、建立「空白」的 Looker (Google Cloud Core) 執行個體,並建立遷移資料的儲存位置後,請在 Looker (原始) 執行個體的「管理」面板中,於「匯出」頁面輸入下列資訊:
- 您建立的 Cloud Storage bucket 名稱。
- Cloud Storage 資料夾名稱 - 匯出時,系統會自動建立這個名稱的資料夾。匯出完成後,匯出檔案會出現在您建立的 Cloud Storage bucket 中,這個資料夾內以時間戳記命名的子資料夾中。
- KMS 金鑰名稱。
- 包含服務帳戶金鑰的 JSON 文字。
在「匯出」頁面輸入資訊後,按一下「要求匯出」即可開始匯出。
匯出程序需要幾分鐘到幾小時不等。匯出完成後,您會在 Cloud Storage 值區和資料夾中看到多個匯出檔案 (非人類可讀格式)。這些檔案是後續匯入步驟的輸入內容。
將資料匯入新的「空白」Looker (Google Cloud Core) 執行個體
匯出執行個體資料後,即可匯入 Looker (Google Cloud Core) 執行個體。
按照「將資料從 Cloud Storage 匯入 Looker (Google Cloud Core) 執行個體」頁面的操作說明,將指令指向匯出檔案所在的 bucket 和資料夾。
簡單來說,這項作業包含下列步驟:
- 將下列角色授予 Looker 服務帳戶 (而非
<export-service-account>
),以存取 bucket 和 KMS 金鑰:- Cloud Storage bucket 上的
Storage Object User
- KMS 金鑰的
Cloud KMS CryptoKey Decrypter
- Cloud Storage bucket 上的
- 透過 Google Cloud 控制台或 gcloud CLI 觸發匯入作業
匯入作業需要幾分鐘到幾小時不等。完成後,Looker (Google Cloud Core) 執行個體會重新啟動,並載入所有遷移的資料。
完成 Looker (Google Cloud Core) 執行個體的設定
此時,Looker 管理員可以前往執行個體網址,並登入執行個體來完成設定。
遷移程序會盡可能複製 Looker (原始版) 執行個體設定。不過,部分項目無法遷移,或是在 Looker (Google Cloud Core) 中的運作方式略有不同,因此必須調整。
以下列出一些已知需要特別注意的事項:
「一般設定」 (位於 Looker「管理」面板中) |
「一般設定」 (以及「管理」面板中的其他設定) 的大部分選項不會自動複製,因為這些選項在 Looker (Google Cloud Core) 中通常不同或不存在。您應根據所選的 Looker (Google Cloud Core) 設定,仔細檢查及設定所有設定。如要進一步瞭解 Looker (Google Cloud Core) 中的設定,請參閱「透過 Looker 管理 Looker (Google Cloud Core) 執行個體」和「透過 Google Cloud 控制台管理 Looker (Google Cloud Core) 執行個體」說明文件頁面。 |
使用者 |
Looker (Google Cloud Core) 僅支援 Google OAuth、SAML 和 OpenID Connect 驗證方式。 如果 Looker (原始版) 執行個體也已設定 Google OAuth,系統會複製使用者記錄和屬性 (前提是兩者在兩個執行個體中都與相同的 Google ID 和電子郵件地址相關聯)。專案 IAM 管理員必須在執行個體所在的 Google Cloud 專案中,授予每位使用者 Looker 管理員或 Looker 執行個體使用者 IAM 角色。 如果 Looker (舊版) 執行個體已設定 SAML 或 OpenID Connect,請務必確認驗證方法的「使用以下項目合併使用者」欄位只會顯示 Looker (Google Cloud Core) 支援的驗證方法。 如果 Looker (原始版) 執行個體的部分使用者是透過 Looker (Google Cloud Core) 不支援的機制 (例如 LDAP 或電子郵件/密碼) 進行驗證,則必須重新建立這些使用者帳戶,並轉換為支援的驗證方法。 |
資料庫連線 |
Looker (Google Cloud Core) 支援的資料庫方言與 Looker (原始版本) 略有不同。系統會複製資料庫連線的所有設定屬性 (包括連線字串和密碼,如適用)。不過,Looker (Google Cloud Core) 的網路拓撲不同,可能導致資料庫連線無法立即運作。舉例來說,如果資料庫是透過 Looker (原始) 執行個體專用的防火牆或通道存取,您可能需要重新設定防火牆或通道。您應測試每項連線,並視需要重新建立連線。 |
使用 OAuth 的資料庫連線 |
從 Looker (原始版本) 遷移至 Looker (Google Cloud Core) 時,系統不會保留個別使用者資料庫連線的 OAuth 存取權或重新整理權杖 (適用於 BigQuery 或 Snowflake)。遷移後,當 Looker (Google Cloud Core) 使用者查看參照 OAuth 資料庫連線的探索或資訊主頁時,系統會提示他們重新驗證 OAuth。使用者也可以前往「帳戶」頁面,然後選取「OAuth 連線憑證」標題下每個資料庫的「登入」,重新驗證資料庫。如果自動排程或快訊是由單一使用者擁有,且參照 OAuth 連線,則該使用者必須使用 OAuth 憑證登入,這些排程或快訊才會正常運作。 |
Git 存放區連線 |
如果執行個體使用裸 Git 存放區,則應可直接使用 (已複製但未共用)。但如果執行個體連線至遠端存放區,可能需要驗證並重新啟用這些連線,與資料庫連線類似。 |
其他網路設定 |
Looker 執行個體可能會有其他類型的網路連線,包括連入和連出 (例如在私人 IP、動作中心、Marketplace、電子郵件等情境中)。這些網路連線也必須經過驗證。 |
用來存取 Looker (Google Cloud Core) 執行個體的網址 |
Looker (Google Cloud Core) 執行個體會隨機指派主要網址。如果需要透過特定網址存取執行個體,您可以設定自訂網域。 |
時間表和警報 |
如果 Looker (原始版) 和 Looker (Google Cloud Core) 執行個體同時處於啟用狀態,可能會產生重複的排定動作和快訊,並執行重複的背景作業來存取已連線的資料庫。請盡快在其中一個執行個體中停用這些活動。 如果自動排程或快訊是由單一使用者擁有,且參照該使用者的個別 OAuth 連線,則必須等到該使用者以 OAuth 憑證登入,才能正常運作。 |
維護期間 |
與 Looker (原始版本) 不同,您可以為 Looker (Google Cloud Core) 指定維護政策。 |
菁英系統活動 |
遷移作業不會複製 Elite 系統活動資料。Looker (Google Cloud Core) 執行個體會以全新的記錄啟動。 |
自訂網域 |
您可以為 Looker (Google Cloud Core) 執行個體建立自訂網域。您必須設定 DNS 記錄,才能確保 SSL 憑證部署作業順利完成。此外,啟用自訂網域並設定驗證方法後,請務必更新驗證用戶端中的回呼網址。您無法使用 如要使用 Looker (原始版) 執行個體的自訂網址,為 Looker (Google Cloud Core) 執行個體建立自訂網域,請在完成遷移作業並確認 Looker (Google Cloud Core) 執行個體可供使用後,再設定自訂網域。啟用自訂網域後,使用者造訪執行個體網址時,會看到 Looker (Google Cloud Core) 執行個體,而不是 Looker (原始版本) 執行個體。 請等到執行個體可供使用、DNS 記錄已更新,且自訂網域已啟用後,再為 Looker (Google Cloud Core) 執行個體設定 SAML 或 OpenID Connect。 |
書籤 |
如果您在 Looker (舊版) 執行個體中使用自訂網址 (未使用 啟用自訂網域後,Looker (原始版本) 內容的書籤 (例如 如果 Looker (原始版) 網址使用 |
本清單並非詳盡無遺。在您認為遷移作業完成前,請先測試對您而言最重要的執行個體各個層面。
遷移作業完成後,如果您確定不需要再次匯出資料,可以刪除先前建立的 <export-service-account>
,這樣一來,您分享的 JSON 金鑰就會失效。
停用 Looker (原始版本) 執行個體
遷移的 Looker (Google Cloud Core) 執行個體運作正常後,您可以將執行個體的網址傳送給使用者,並指示他們開始存取該執行個體,停止存取 Looker (原始版本) 執行個體。
疑難排解
下列各節有助於解決匯入或匯出期間的問題。
匯出時發生問題
如果匯出 Looker (舊版) 資料時發生問題,「管理」面板的「匯出」頁面會顯示「錯誤」狀態。按一下「ERROR」狀態會顯示錯誤訊息。
常見的錯誤來源如下:
- Cloud Storage 值區、KMS 金鑰或
<export-service-account>
無效。 <export-service-account>
缺少必要權限。
建議您先確認這些物件的狀態,再提交匯出要求。
匯入時發生問題
如果匯入作業在四小時後仍未完成 (如果來源執行個體非常大,可能需要更長時間),或因錯誤而結束,您可能需要向 Cloud 客戶服務中心開立支援單,以解決問題。這項作業的診斷資訊相對較少,且可直接向客戶顯示。
後續步驟
- 管理員設定 - 匯出
- 將 Looker (Google Cloud Core) 連線至資料庫
- 設定 Looker (Google Cloud Core) 執行個體
- 管理 Looker (Google Cloud Core) 執行個體的使用者存取權
- 透過 Google Cloud 控制台管理 Looker (Google Cloud Core) 執行個體
- 透過 Looker 管理 Looker (Google Cloud Core) 執行個體