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

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

  • Looker(Google Cloud コア)の別のエディションにアップグレードまたはダウングレードする。
  • Private Service ConnectCMEK など、インスタンスの作成時にのみ有効にできる設定を追加する場合。
  • 別のプロジェクトの Looker(Google Cloud コア)インスタンスに移行する。
  • 別のリージョンの Looker(Google Cloud コア)インスタンスに移行する。
  • 非本番環境インスタンスから本番環境インスタンスにデータをエクスポートする。

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

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

スケジュール設定されたエクスポート ジョブが実行されている場合、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 バケットにエクスポートするために必要なオブジェクトと権限を示します。

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

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

Console

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

    [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 バケットからのインポートに必要な権限を示します。

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

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

Console

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

    [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 バージョンを実行するようにします。