Looker(Google Cloud コア)に作成されたコンテンツと内部データを含む Looker(Google Cloud コア)インスタンス データを、ある Looker(Google Cloud コア)インスタンスからエクスポートし、そのデータを別の Looker(Google Cloud コアなど)インスタンス にインポートすることもできます。データのエクスポートとインポートを行う理由はいくつかあります。
- Looker の別のエディション(Google Cloud Core)にアップグレードまたはダウングレードする場合。
- 別のプロジェクトの Looker(Google Cloud Core)インスタンスに移行する。
- 別のリージョンの Looker(Google Cloud コア)インスタンスに移行する。
Looker(Google Cloud コア)インスタンス データを Cloud Storage バケットにエクスポートする
Cloud Storage バケットにエクスポートするために必要なオブジェクトと権限
- ACloud Storage バケットこれを
storage.objects.create
権限Looker(Google Cloud コア)インスタンスのサービス アカウントに割り当てられている。ストレージ オブジェクト作成者(roles/storage.objectCreator
)ロールにはこの権限が含まれているため、代わりにそのロールを Looker(Google Cloud コア)インスタンス サービス アカウントに割り当てることができます。 - 顧客管理の暗号鍵(CMEK)。この CMEK は、エクスポート / インポート プロセスに固有のものであり、インスタンス データの暗号化に使用される CMEK とは異なります。CMEK
cloudkms.cryptoKeyVersions.useToEncrypt
権限が、Looker(Google Cloud コア)インスタンス サービス アカウントに割り当てられている必要があります。Cloud KMS 暗号鍵の暗号化(roles/cloudkms.cryptoKeyEncrypter
)のロールにはこの権限が含まれているため、代わりにそのロールを Looker(Google Cloud コア)インスタンス サービス アカウントに割り当てることができます。
Cloud Storage バケットへのエクスポート
データをエクスポートする方法は次のとおりです。
Console
Google Cloud コンソールの [Looker] ページに移動します。
ページの上部にある [組織の選択] プルダウン リストで、データのエクスポート先となる Looker(Google Cloud コア)インスタンスを含む組織リソースを選択します。
データをエクスポートするインスタンスの名前をクリックします。
[エクスポート] をクリックします。
[バケットのエクスポート] フィールドで、エクスポート アーティファクトを作成するバケットのロケーションを指定します。入力フィールドにパスを
<bucket_name>/<folder_name>
として入力するか、バケット内の適切な場所を参照して参照します。[顧客管理の暗号鍵を選択] フィールドで、エクスポート アーティファクトの暗号化に使用する CMEK を選択します。
[エクスポート] をクリックします。
gcloud
gcloud looker instances export LOOKER_INSTANCE_NAME \ --target-gcs-uri='gs://BUCKET_NAME/FOLDER_NAME' \ --kms-key=KMS_KEY_ID
Cloud Storage バケットから Looker(Google Cloud コア)インスタンスへのデータのインポート
Cloud Storage バケットからインポートするために必要な権限
- Looker(Google Cloud コア)インスタンスのサービス アカウントに
storage.objects.get
権限を付与します。ストレージ オブジェクト閲覧者(roles/storage.objectViewer
)のロールにこの権限が含まれているため、Looker (Google Cloud コア)サービス アカウントにそのロールを割り当てることもできます。 - Looker(Google Cloud コア)インスタンスのサービス アカウントに
cloudkms.cryptoKeyVersions.useToDecrypt
権限を割り当てる必要があります。Cloud KMS 暗号鍵の復号(roles/cloudkms.cryptoKeyDecrypter
)ロールにはこの権限が含まれているため、代わりにそのロールを Looker(Google Cloud コア)サービス アカウントに割り当てることができます。
Cloud Storage バケットからのインポート
データをインポートするには:
Console
Google Cloud コンソールの [Looker] ページに移動します。
ページの上部にある [組織の選択] プルダウン リストで、データのインポート先となる Looker(Google Cloud コア)インスタンスを含む組織リソースを選択します。
データのインポート先のインスタンスの名前をクリックします。
[インポート] をクリックします。
[バケットのインポート] フィールドで、パスを入力するか、データをエクスポートした Cloud Storage のロケーションを参照します。
metadata.json
ファイルと他のファイルを含むフォルダを選択します。[インポート] をクリックします。
gcloud
gcloud looker instances import LOOKER_INSTANCE_NAME \ --source-gcs-uri='gs://BUCKET_NAME/FOLDER_NAME'
Looker(Google Cloud Core)データのエクスポートまたはインポートに関するトラブルシューティング
このセクションでは、エクスポートまたはインポート プロセスが失敗する原因となる可能性があるエラー状態を修正する方法について説明します。
エクスポート中のエラー
Looker(Google Cloud コアサービス アカウント)に
storage.objects.create
権限またはストレージ オブジェクト作成者(roles/storage.objectCreator
)役割このCloud Storage バケットが付与されていることを確認します。Looker(Google Cloud コアサービス アカウント)に
cloudkms.cryptoKeyVersions.useToEncrypt
権限またはCloud KMS 暗号鍵の暗号化(roles/cloudkms.cryptoKeyEncrypter
)ロールを顧客管理の暗号鍵(CMEK)が付与されていることを確認します。データをエクスポートする前に、指定した Cloud Storage のロケーションに以前のエクスポート オペレーションのファイルがないことを確認してください。既存のファイルがある場合は、最初に削除します。
リクエスト元による支払いが有効になっている Cloud Storage バケットは使用できません。
インポート エラー
Looker(Google Cloud コアサービス アカウント)に
storage.objects.get
権限または Storage オブジェクト閲覧者(roles/storage.objectViewer
)役割このCloud Storage バケットが付与されていることを確認します。Looker(Google Cloud コアサービス アカウント)に
cloudkms.cryptoKeyVersions.useToDecrypt
権限またはCloud KMS 暗号鍵の復号(roles/cloudkms.cryptoKeyDecrypter
)ロールを顧客管理の暗号鍵(CMEK)が付与されていることを確認します。次のように、ターゲット インスタンスとエクスポート インスタンスの間でバージョンの互換性がないため、インポートが失敗することがあります。
- ターゲット インスタンスの Looker マイナー バージョンが、エクスポートされたデータの Looker バージョンより小さい。たとえば、ターゲット インスタンスは Looker 23.5.X 上にありますが、エクスポートは Looker バージョン 23.6.X 上のインスタンスから作成されています。
- エクスポート データを作成したインスタンスのマイナー バージョンが、複数のリリースによって移行先インスタンスの Looker バージョンより古い。たとえば、ターゲット インスタンスは Looker 23.6.X 上にありますが、エクスポートは Looker バージョン 23.4.X 上のインスタンスから作成されています。
この場合は、エクスポート インスタンスまたはターゲット インスタンスをアップグレードして、両方のインスタンスが同じ Looker バージョンを実行するようにします。