Looker(Google Cloud コア)インスタンスのスケジュールされたエクスポート ジョブを作成する

このページでは、Looker(Google Cloud コア)インスタンスのスケジュール設定されたエクスポート ジョブを構成する方法について説明します。スケジュール設定されたエクスポートは、設定した開始時刻から 24 時間ごとに実行されます。エクスポートは Cloud Storage バケットに保存されます。スケジュールされたエクスポートでは、Looker(Google Cloud コア)インスタンスのダウンタイムは発生しません。

スケジュール設定されたエクスポートには、インスタンスのすべてのデータ、構成、コンテンツが含まれます。ただし、次の例外があります。

  • BigQuery のデータはエクスポートされません。
  • Secret Manager のデータはエクスポートされません。

  • Looker Studio レポートはエクスポートされません。

  • Google Cloud コンソールの設定は、インスタンスごとに Google Cloud コンソールで行う必要がありますが、エクスポートされません。ただし、Looker(Google Cloud コア)アプリケーション内の Looker の [管理] パネルの設定はエクスポートされます。

  • インスタンスに保存されている OAuth トークンはエクスポートされません。個々のデータベース接続に OAuth が使用されている場合、インポート後に各ユーザーは、OAuth を使用するデータベース接続に対して再ログインし、トークンを更新する必要があります。

  • Looker アプリケーションの API キーはエクスポートされません。API キーはインポートされたパッケージに含まれないため、すべてのユーザーが既存のすべての API キーにアクセスできなくなります。

  • エクスポートを作成したインスタンスとは異なるネットワーク設定を使用する Looker(Google Cloud コア)インスタンスにエクスポートしてインポートする場合は、外部サービスへの接続を異なる方法で構成する必要がある場合があります。

  • ある Google Cloud プロジェクトのインスタンスからのエクスポートが別のプロジェクトのインスタンスに移動された場合は、新しいプロジェクトで、ユーザーにインスタンスへのアクセス権を付与する IAM 権限を設定する必要があります。

スケジュールされたエクスポート プロセスには、インスタンスのサイズに応じて数分から数時間かかります。スケジュール設定されたエクスポート プロセスの実行中は、インポート オペレーション一度限りのエクスポートは使用できません。

スケジュール設定されたエクスポート ジョブを設定したら、エクスポートされたデータを毎日バックアップ インスタンスにインポートするようにスクリプトを設定できます。

必要なロール

Looker(Google Cloud コア)のスケジュール設定されたエクスポート ジョブの作成に必要な権限を取得するには、インスタンスが作成されたプロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

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

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

始める前に

  1. エクスポート アーティファクトを保存する Cloud Storage バケットを作成します。
  2. Cloud Key Management Service で顧客管理の暗号鍵(CMEK)を作成します。これは、インスタンスで CMEK を使用していない場合でも、スケジュールされたエクスポートのデータを暗号化するために必要です。CMEK 鍵は、Looker(Google Cloud コア)インスタンスとは異なるリージョンにあるか、グローバル鍵である必要があります。
  3. Looker(Google Cloud コア)インスタンスのサービス アカウントを特定します。
  4. インスタンスのサービス アカウントに、次の必要な Identity and Access Management(IAM)ロールと権限を付与します。
    • エクスポートを保存する Cloud Storage バケットに対する roles/storage.objectAdmin ロールを付与します。
    • データの暗号化に使用する CMEK 鍵に対する roles/cloudkms.cryptoKeyEncrypterDecrypter ロールを付与します。
    • または、次の権限を持つカスタムロールを作成することもできます。
      • storage.objects.create
      • storage.objects.delete
      • cloudkms.cryptoKeyVersions.useToEncrypt
      • cloudkms.cryptoKeyVersions.useToDecrypt

スケジュール設定されたエクスポート ジョブを構成する

スケジュールされたエクスポート ジョブは、 Google Cloud コンソールまたは gcloud を使用して構成できます。

Console

  1. Google Cloud コンソールで、Looker(Google Cloud コア)の [インスタンス] ページに移動します。

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

  2. エクスポート ジョブをスケジュール設定するインスタンスの名前をクリックします。

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

  4. [スケジュール エクスポート ジョブ] セクションを開き、次の情報を入力します。

    1. 開始時刻: 毎日のエクスポートを実行する現地時刻(HH:MM)。
    2. Cloud Storage バケット: Cloud Storage バケットの URI(例: gs://bucket-name/export-path)。
    3. Cloud KMS 鍵: インスタンス データの暗号化に使用する Cloud Key Management Service 鍵を選択します。
  5. [スケジュールを設定] をクリックします。

gcloud

  1. 定期的なエクスポートを構成するには、次の gcloud コマンドを実行します。
gcloud looker instances update INSTANCE_NAME \
    --project=PROJECT_ID \
    --region=REGION \
    --periodic-export-gcs-uri="gs://BUCKET_NAME/EXPORT_PATH" \
    --periodic-export-kms-key="KMS_KEY_NAME" \
    --periodic-export-start-time="TIME"

次のように置き換えます。

  • INSTANCE_NAME: Looker(Google Cloud コア)インスタンスの名前。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID
  • REGION: インスタンスが配置されているリージョン。
  • BUCKET_NAME: Cloud Storage バケットの名前。
  • EXPORT_PATH: エクスポート アーティファクトのバケット内のパス。
  • KMS_KEY_NAME: CMEK 鍵の完全なリソース名
  • TIME: 毎日エクスポートを実行する UTC の時刻(HH:MM)。

エクスポート構成を確認する

スケジュールを設定すると、[インスタンスの詳細] ページでスケジュールされたエクスポート ジョブの構成を確認できます。

  1. Google Cloud コンソールで、Looker(Google Cloud コア)の [インスタンス] ページに移動します。

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

  2. インスタンスの名前をクリックします。

  3. [インスタンスの詳細] ページで、[エクスポート スケジュール] 構成(毎日ローカル時間でスケジュールされた開始時刻など)を表示します。開始時刻には、インスタンスの [エクスポート] ページへのリンクが含まれます。

定期的なエクスポートを停止する

定期的なエクスポートを停止するには、構成フィールドをクリアします。

Console

  1. Google Cloud コンソールで [インスタンス] ページに移動します。

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

  2. インスタンスの名前をクリックします。

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

  4. [定期的なエクスポートのスケジュールを設定] セクションで、[Cloud Storage バケット]、[顧客管理の暗号鍵]、[時間] フィールドの値をクリアします。

  5. [スケジュールをクリア] をクリックします。

gcloud

  1. 定期的なエクスポートを停止するには、次の gcloud コマンドを実行します。
gcloud looker instances update INSTANCE_NAME \
    --project=PROJECT_ID \
    --region=REGION \
    --clear-periodic-export-config

次のように置き換えます。

  • INSTANCE_NAME: Looker(Google Cloud コア)インスタンスの名前。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID
  • REGION: インスタンスが配置されているリージョン。

次のステップ