Looker(Google Cloud コア)インスタンスの 1 回限りのデータ インポートまたはエクスポート

Looker(Google Cloud コア)に作成されたコンテンツと内部データを含む Looker(Google Cloud コア)インスタンス データを、ある Looker(Google Cloud コア)インスタンスからエクスポートし、そのデータを別の Looker(Google Cloud コア)インスタンスにインポートすることもできます。データをエクスポートしてインポートする理由はいくつかあります。

1 回限りのエクスポートには、BigQuery データを含むインスタンスのすべてのデータ、構成、コンテンツが含まれます。ただし、次の例外があります。

  • データポータル レポートはエクスポートされません。
  • コンソール設定はエクスポートされません。コンソール設定は、インスタンスごとにコンソールで行う必要があります。 Google Cloud Google Cloud ただし、Looker(Google Cloud コア)アプリケーション内の Looker [管理] パネルの設定はエクスポートされます。
  • インスタンスに保存されている OAuth トークンはエクスポートされません。OAuth が個々のデータベース接続に使用されている場合、インポート後に各ユーザーは再度ログインし、OAuth を使用するデータベース接続のトークンを更新する必要があります。
  • Looker アプリケーションの API キーはエクスポートされません。API キーはインポートされたパッケージに含まれないため、すべてのユーザーが既存のすべての API キーにアクセスできなくなります。
  • エクスポートを作成したインスタンスとは異なるネットワーク設定を使用する Looker(Google Cloud コア)インスタンスにエクスポートしてインポートする場合は、外部サービスへの接続を異なる方法で構成する必要がある場合があります。
  • あるプロジェクトのインスタンスからのエクスポートが別のプロジェクトのインスタンスに移動された場合は、IAM 権限をユーザーにインスタンスへのアクセス権を付与するために新しいプロジェクトで設定する必要があります。 Google Cloud

スケジュールされたエクスポート ジョブが実行されている場合、1 回限りのデータのエクスポートとインポートは使用できません。スケジュールされたエクスポート ジョブの詳細については、Looker(Google Cloud コア)インスタンスのスケジュールされたエクスポートを作成するのドキュメント ページをご覧ください。

Looker(Google Cloud コア)のインポートとエクスポートでは、FIPS に準拠していないインスタンスから FIPS に準拠したインスタンスへのデータの移動はサポートされていません。

必要なロール

Looker(Google Cloud コア)インスタンス データのインポートまたはエクスポートに必要な権限を取得するには、次の IAM ロールと権限を付与するよう管理者に依頼してください。

  • インスタンスが作成されたプロジェクトに対する Looker 管理者roles/looker.admin)の IAM ロール。

  • エクスポートが作成される Cloud Storage バケットに対する storage.buckets.getIamPolicystorage.buckets.setIamPolicy権限ストレージ管理者roles/storage.admin)ロールまたはストレージ レガシー バケット オーナーroles/storage.legacyBucketOwner)ロールにもこれらの権限が含まれているため、これらのロールのいずれかを付与するようにリクエストすることもできます。

ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

必要な権限は、カスタムロール事前定義ロールから取得することもできます。

Looker(Google Cloud コア)インスタンス データの Cloud Storage バケットへのエクスポート

次のセクションでは、インスタンス データをエクスポートする方法について説明します。

Cloud Storage バケットにエクスポートするために必要なオブジェクトと権限

次のリストは、Cloud Storage バケットにエクスポートするために必要なオブジェクトと権限を示しています。

Google Cloud

Cloud Storage バケットへのエクスポート

データをエクスポートするには、次のいずれかのオプションを選択します。

Console

  1. コンソールの [Looker] ページに移動します。 Google Cloud

    [Looker インスタンス] に移動

  2. ページの上部にある [組織の選択] プルダウン リストで、データをエクスポートする Looker(Google Cloud コア)インスタンスを含む組織リソースを選択します。

  3. データをエクスポートするインスタンスの名前をクリックします。

  4. [エクスポート] をクリックします。

  5. [1 回限りのエクスポート] タブを開きます。

  6. [バケットのエクスポート] フィールドに、エクスポート アーティファクトを作成するバケットのロケーションを指定します。入力フィールドにパスを <bucket_name>/<folder_name> として入力するか、参照してバケット内の適切なロケーションを選択します。

  7. [Cloud KMS 鍵の選択] フィールドで、エクスポート アーティファクトの暗号化に使用する CMEK を選択します。

  8. [エクスポート] をクリックします。

gcloud

gcloud looker instances export INSTANCE_NAME \
--target-gcs-uri='gs://BUCKET_NAME/FOLDER_NAME' \
--kms-key=KMS_KEY_ID

以下を置き換えます。

  • INSTANCE_NAME: Looker(Google Cloud コア)インスタンスの名前。インスタンス URL には関連付けられていません。
  • BUCKET_NAME: エクスポート アーティファクトを作成する Cloud Storage バケットのロケーション。
  • FOLDER_NAME: Cloud Storage バケット内の、エクスポート アーティファクトを配置するフォルダ。
  • KMS_KEY_ID: インポートとエクスポートに固有の CMEK 鍵 ID への 完全パス

Cloud Storage バケットから Looker(Google Cloud コア)インスタンスへのデータのインポート

次のセクションでは、インスタンス データをインポートする方法について説明します。

Cloud Storage バケットからのインポートに必要な権限

次のリストは、Cloud Storage バケットからのインポートに必要な権限を示しています。

Google Cloud

Cloud Storage バケットからのインポート

データをインポートするには、次のいずれかのオプションを選択します。

Console

  1. コンソールの [Looker] ページに移動します。 Google Cloud

    [Looker インスタンス] に移動

  2. ページの上部にある [組織の選択] プルダウン リストで、データをインポートする Looker(Google Cloud コア)インスタンスを含む組織リソースを選択します。

  3. データをインポートするインスタンスの名前をクリックします。

  4. [インポート] をクリックします。

  5. [バケットのインポート] フィールドにパスを入力するか、データをエクスポートした Cloud Storage のロケーションを参照します。metadata.json ファイルと他のファイルを含むフォルダを選択します。

  6. [インポート] をクリックします。

gcloud

gcloud looker instances import INSTANCE_NAME \
--source-gcs-uri='gs://BUCKET_NAME/FOLDER_NAME'

以下を置き換えます。

  • INSTANCE_NAME: Looker(Google Cloud コア)インスタンスの名前。インスタンス URL には関連付けられていません。
  • BUCKET_NAME: metadata.json ファイルと他のファイルが配置されている Cloud Storage バケットのロケーション。
  • FOLDER_NAME: metadata.json ファイルと他のファイルが配置されているフォルダ。

インポート後、Looker(Google Cloud コア)ユーザーは、個々のユーザー認証に OAuth を使用する BigQuery または Snowflake データベース接続に再認証するよう求められます。これは、Looker(Google Cloud コア)のエクスポートでは、個々のユーザーのデータベース接続の OAuth アクセス トークンまたは更新トークンが保持されないためです。

ユーザーは、次のいずれかの方法でデータベースに再認証できます。

  • 個々の OAuth データベース接続を使用する Explore またはダッシュボードを表示したときに表示される [ログイン] プロンプトに従います。
  • [アカウント] ページに移動し、[ログイン] を選択します。[OAuth 接続認証情報] 見出しの下にある各データベースについてです。

単一のユーザーが所有し、OAuth 接続を参照する自動スケジュールまたはアラートは、そのユーザーが OAuth 認証情報でログインするまで中断されます。

Looker(Google Cloud コア)データのエクスポートまたはインポートのトラブルシューティング

このセクションでは、エクスポートまたはインポート プロセスが失敗する原因となる可能性のあるエラー状態を修復する方法について説明します。

エクスポート中のエラー

インポート エラー

  • Looker サービス アカウントに Cloud Storage バケットに対する storage.objects.get 権限またはストレージ オブジェクト閲覧者(roles/storage.objectViewer)の IAM ロールが付与されていることを確認します。

  • Looker サービス アカウントに顧客管理の暗号鍵(CMEK)に対する cloudkms.cryptoKeyVersions.useToDecrypt 権限または Cloud KMS CryptoKey 復号(roles/cloudkms.cryptoKeyDecrypterロールが付与されていることを確認します。

  • 次のような場合、ターゲット インスタンスとエクスポート インスタンスのバージョンに互換性がないためにインポートに失敗することがあります。

    • ターゲット インスタンスの Looker マイナー バージョンが、エクスポートされたデータの Looker バージョンよりも低い。たとえば、ターゲット インスタンスが Looker 23.5.X で、エクスポートが Looker バージョン 23.6.X のインスタンスから作成されている場合。
    • エクスポート データを作成したインスタンスのマイナー バージョンが、移行先インスタンスの Looker バージョンより 2 リリース以上前である。たとえば、ターゲット インスタンスが Looker 23.6.X で、エクスポートが Looker バージョン 23.4.X のインスタンスから作成されている場合。

    この場合は、エクスポート インスタンスまたはターゲット インスタンスをアップグレードして、両方のインスタンスが同じ Looker バージョンを実行するようにします。