Looker(Google Cloud コア)インスタンスからデータをインポートまたはエクスポートする

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

  • Looker(Google Cloud コア)の別のエディションにアップグレードまたはダウングレードする。
  • 別のプロジェクトの Looker(Google Cloud コア)インスタンスに移行する。
  • 別のリージョンの Looker(Google Cloud コア)インスタンスに移行する。

必要なロール

Looker(Google Cloud コア)インスタンス データのインポートまたはエクスポートに必要な権限を取得するには、インスタンスが作成されたプロジェクトの Looker 管理者roles/looker.admin)の IAM ロールを付与するように管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

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

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

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

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

  • Looker サービス アカウント。Google Cloud CLI、Terraform、または API を使用して Looker(Google Cloud コア)インスタンスを作成し、Looker サービス アカウントをまだ作成していない場合は、アカウントを作成する必要があります。
  • storage.objects.create 権限が Looker サービス アカウントに割り当てられている Cloud Storage バケット。Storage オブジェクト作成者(roles/storage.objectCreatorロールにはこの権限が含まれているため、代わりにそのロールを Looker サービス アカウントに割り当てることもできます。
  • 顧客管理の暗号鍵(CMEK)。この CMEK は、エクスポートとインポートのプロセスに固有のものであり、インスタンス データの暗号化に使用される CMEK とは異なります。CMEK cloudkms.cryptoKeyVersions.useToEncrypt 権限を Looker サービス アカウントに割り当てる必要があります。Cloud KMS CryptoKey の暗号化(roles/cloudkms.cryptoKeyEncrypterのロールにはこの権限が含まれているため、代わりにそのロールを Looker サービス アカウントに割り当てることができます。

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

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

コンソール

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

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

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

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

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

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

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

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

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 バケットからのインポートに必要な権限

  • Looker サービス アカウント。Google Cloud CLI、Terraform、または API を使用して Looker(Google Cloud コア)インスタンスを作成し、Looker サービス アカウントをまだ作成していない場合は、アカウントを作成する必要があります。
  • Looker サービス アカウントに storage.objects.get 権限を付与します。Storage オブジェクト閲覧者(roles/storage.objectViewer)IAM ロールにはこの権限が含まれているため、代わりにそのロールを Looker サービス アカウントに割り当てることもできます。
  • cloudkms.cryptoKeyVersions.useToDecrypt 権限を Looker サービス アカウントに割り当てる必要があります。Cloud KMS CryptoKey の復号(roles/cloudkms.cryptoKeyDecrypterのロールにはこの権限が含まれているため、代わりにそのロールを Looker サービス アカウントに割り当てることができます。

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

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

コンソール

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

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

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

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

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

  5. [Import Bucket] フィールドにパスを入力するか、データをエクスポートした 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 接続認証情報] の見出しで、各データベースの [ログイン] を選択します。

1 人のユーザーが所有し、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 バージョンより複数のリリース後です。たとえば、ターゲット インスタンスは Looker 23.6.X ですが、エクスポートは Looker バージョン 23.4.X のインスタンスから作成されています。

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