Looker(Google Cloud コア)インスタンスを作成する

このページでは、Looker(Google Cloud コア)インスタンスをプロビジョニングする方法について説明します。

始める前に

  1. Google Cloud コンソール のプロジェクト セレクタのページで、Google Cloud プロジェクトを作成するか、既存のプロジェクトに移動します。

    プロジェクト セレクタに移動

  2. Google Cloud コンソール でプロジェクトの Looker API を有効化します。API を有効にする際は、有効になっていることを確認するためにコンソール ページの更新が必要になる場合があります。

    API を有効にする

  3. Google Cloud コンソール でプロジェクトの Service Networking API を有効にします。API を有効にする際は、有効になっていることを確認するためにコンソール ページの更新が必要になる場合があります。

    API を有効にする

  4. OAuth クライアントを設定し、認可認証情報を作成します。OAuth クライアントを使用すると、認証を行ってインスタンスにアクセスできます。インスタンスに対してユーザーを認証する別の認証方法を使用している場合でも、Looker(Google Cloud コア)インスタンスを作成するには OAuth を設定する必要があります。
  5. Looker(Google Cloud コア)インスタンスで、プライベート IPVPC Service Controls、または顧客管理の暗号鍵(CMEK)を使用する場合は、インスタンスを作成する前に追加の設定が必要です。また、インスタンスの作成時に、追加のエディションやネットワーク構成が必要になることもあります。

必要なロール

Looker(Google Cloud コア)インスタンスの作成に必要な権限を取得するには、インスタンスを配置するプロジェクトに対する Looker 管理者 roles/looker.admin)IMA ロールを付与するよう管理者に依頼してください。ロールの付与の詳細については、アクセス権の管理をご覧ください。

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

プライベート IPVPC Service Controls顧客管理の暗号鍵(CMEK)を設定するには、追加の IAM ロールが必要になる場合があります。詳細については、これらの機能のドキュメント ページをご覧ください。

Looker(Google Cloud コア)インスタンスを作成する

Looker(Google Cloud コア)が新しいインスタンスを生成するには約 60 分かかります。

Looker(Google Cloud コア)インスタンスを作成するには、次のいずれかのオプションを選択します。

Console

  1. Google Cloud コンソールでプロジェクトから Looker(Google Cloud コア)プロダクト ページに移動します。このプロジェクト内に Looker(Google Cloud コア)インスタンスをすでに作成している場合は、[インスタンス] ページが開きます。

    Looker(Google Cloud コア)に移動

  2. [インスタンスを作成] をクリックします。
  3. [インスタンス名] セクションで、Looker(Google Cloud コア)インスタンスの名前を入力します。インスタンス名は、作成後に Looker(Google Cloud コア)インスタンスの URL には関連付けられません。インスタンス名は、インスタンスの作成後は変更できません。
  4. [OAuth アプリケーション認証情報] セクションで、OAuth クライアントを設定する際に作成した OAuth クライアント ID と OAuth シークレットを入力します。
  5. [リージョン] セクションで、プルダウン メニューから適切なオプションを選択します。適切なリージョンは、Looker(Google Cloud コア)インスタンスがホストされるリージョンです。サブスクリプション契約のリージョンと一致するリージョンを選択します。これはプロジェクトの割り当てで割り当てられているリージョンです、使用可能なリージョンは、Looker(Google Cloud コア)のロケーション ドキュメント ページに記載されています。
  6. [エディション] セクションで、組織のニーズに応じてインスタンスのエディションを設定します。エディションタイプは、インスタンスで使用可能な機能の一部に影響します。エディションのオプションは次のとおりです。

    • Standard: ユーザー数 50 人未満の小規模な組織またはチーム向けの Looker プラットフォーム。これは年間契約で購入できます。
    • Enterprise: 高度な BI 機能を備えた Looker プラットフォーム。BI と分析のさまざまなユースケースに対処できます。年間契約でご利用いただけます。
    • Embed: 信頼性の高い外部分析やカスタム アプリケーションを大規模にデプロイして維持するための Looker プラットフォーム。年間契約でご利用いただけます。

    インスタンスの作成後はエディションを変更できません。エディションを変更する場合は、インポートとエクスポートを使用して、Looker(Google Cloud コア)インスタンス データを、別のエディションで構成される新しいインスタンスに移動します。

  7. [インスタンスのカスタマイズ] セクションで [構成オプションを表示] をクリックし、インスタンスに合わせたカスタマイズが可能な追加設定のグループを表示します。

  8. [接続] セクションに、ネットワーク接続オプションが表示されます。選択したネットワーク接続の種類は、インスタンスで使用可能な Looker 機能に影響します。次のネットワーク接続オプションを使用できます。

    • パブリック IP: インターネットにアクセスできる外部 IP アドレスを割り当てます。
    • プライベート IP: Virtual Private Cloud(VPC)でアクセス可能な Google がホストする内部 IP アドレスを割り当てます。このアドレスを使用して、VPC にアクセスできる他のリソースから接続できます。このオプションを選択した場合は、Looker (Google Cloud コア)のプライベート IP 接続を作成するドキュメント ページの手順に沿ってネットワークの設定を完了します。プライベート IP は Enterprise エディションと Embed エディションでのみサポートされています。
    • 両方のオプションを選択することもできます。両方のオプションを選択した場合、受信トラフィックはパブリック IP 経由で、送信トラフィックはプライベート IP 経由でルーティングされます。Looker(Google Cloud コア)インスタンスは、インターネットへの送信トラフィックの発生にパブリック IP を使用しません。

    [プライベート IP] のみ、または [パブリック IP] と [プライベート IP] の両方を選択した場合、Looker(Google Cloud コア)でプライベート IP を使用するドキュメント ページの手順に沿って、インスタンスの作成時にネットワークの設定を完了します。

  9. [暗号化] セクションで、デフォルトの Google 管理の暗号化または顧客管理の暗号鍵(CMEK)のどちらを使用するかを選択できます。CMEK とインスタンス作成時に構成する方法の詳細については、Looker(Google Cloud コア)で顧客管理の暗号鍵を使用するドキュメント ページをご覧ください。暗号化のタイプは、インスタンスの作成後は変更できません。

  10. [メンテナンスの時間枠] セクションで、必要に応じて、Looker(Google Cloud コア)がメンテナンスをスケジュールする曜日と時間を指定できます。メンテナンスの時間枠は 1 時間です。デフォルトでは、[メンテナンスの時間枠] の [優先ウィンドウ] オプションは [おまかせ] に設定されます。

  11. [メンテナンス拒否期間] セクションでは、必要に応じて Looker(Google Cloud コア)がメンテナンスをスケジュールしない日数を指定することもできます。メンテナンス拒否期間は最長 60 日間まで設定できます。任意の 2 つのメンテナンス拒否期間の間に、メンテナンスを許可する日数を少なくとも 14 日間設定する必要があります。

  12. [作成] をクリックします。

インスタンスの作成中は、コンソール内の [インスタンス] ページにリダイレクトされます。新しいインスタンスのステータスを表示するには、ページの更新が必要になる場合があります。Google Cloud コンソールメニューの通知アイコンをクリックして、インスタンス作成アクティビティを確認することもできます。インスタンスの作成中は、Google Cloud コンソールメニューの通知アイコンが読み込みアイコンで囲まれています。

gcloud

  1. CMEK を使用している場合は、Looker サービス アカウントを作成し、手順に沿ってまず CMEK の設定をしてください。
  2. gcloud looker instances create コマンドを使用して、インスタンスを作成します。

    gcloud looker instances create INSTANCE_NAME \
    --project=PROJECT_ID \
    --oauth-client-id=OAUTH_CLIENT_ID \
    --oauth-client-secret=OAUTH_CLIENT_SECRET \
    --region=REGION \
    --edition=EDITION \
    [--consumer-network=CONSUMER_NETWORK --private-ip-enabled --reserved-range=RESERVED_RANGE]
    [--no-public-ip-enabled]
    [--public-ip-enabled]
    [--async]
    

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

    • INSTANCE_NAME: Looker(Google Cloud コア)インスタンスの名前。インスタンス URL には関連付けられていません。
    • PROJECT_ID: Looker(Google Cloud コア)インスタンスを作成する Google Cloud プロジェクトの名前。
    • OAUTH_CLIENT_IDOAUTH_CLIENT_SECRET: OAuth クライアントを設定したときに作成した OAuth クライアント ID と OAuth シークレット。インスタンスが作成されたら、OAuth クライアントの [承認済みのリダイレクト URI] セクションにインスタンスの URL を入力します。
    • REGION: Looker(Google Cloud コア)インスタンスがホストされるリージョン。サブスクリプション契約のリージョンと一致するリージョンを選択します。使用可能なリージョンは、Looker(Google Cloud コア)のロケーション ドキュメント ページに記載されています。
    • EDITION: インスタンスのエディション。有効な値は core-standard-annualcore-enterprise-annualcore-embed-annual です。インスタンスの作成後はエディションを変更できません。エディションを変更する場合は、インポートとエクスポートを使用して、Looker(Google Cloud コア)インスタンス データを、別のエディションで構成される新しいインスタンスに移動します。
    • CONSUMER_NETWORK: VPC ネットワークまたは共有 VPC。プライベート IP インスタンスを作成する場合は設定する必要があります。
    • RESERVED_RANGE: Google が Looker(Google Cloud コア)インスタンスのサブネットワークをプロビジョニングする VPC 内の IP アドレスの範囲。インスタンスに対してプライベート IP ネットワーク接続を有効にする場合は、範囲を定義しないでください。

    次のフラグも含めることができます。

    • --private-ip-enabled は、プライベート IP を有効にします。
    • --public-ip-enabled または --no-public-ip-enabled は、パブリック IP を有効または無効にするために使用されます。
    • Looker(Google Cloud コア)インスタンスを作成する場合は、--async をおすすめします。
  3. パラメータを追加して、他のインスタンス設定を適用できます。

    [--maintenance-window-day=MAINTENANCE_WINDOW_DAY
          --maintenance-window-time=MAINTENANCE_WINDOW_TIME]
    [--deny-maintenance-period-end-date=DENY_MAINTENANCE_PERIOD_END_DATE
          --deny-maintenance-period-start-date=DENY_MAINTENANCE_PERIOD_START_DATE
          --deny-maintenance-period-time=DENY_MAINTENANCE_PERIOD_TIME]
    --kms-key=KMS_KEY_ID
    
    次のように置き換えます。

    • MAINTENANCE_WINDOW_DAY は、次のいずれかの値を設定する必要があります: fridaymondaysaturdaysundaythursdaytuesdaywednesday。メンテナンスの時間枠の設定の詳細については、Looker(Google Cloud コア)のメンテナンス ポリシーを管理するドキュメント ページをご覧ください。
    • MAINTENANCE_WINDOW_TIMEDENY_MAINTENANCE_PERIOD_TIME: 24 時間形式の UTC 時間(例: 13:00、17:45)にする必要があります。
    • DENY_MAINTENANCE_PERIOD_START_DATEDENY_MAINTENANCE_PERIOD_END_DATE: YYYY-MM-DD の形式にする必要があります。
    • KMS_KEY_ID: 顧客管理の暗号鍵(CMEK)の設定時に作成される鍵にする必要があります。

Terraform

次の Terraform リソースを使用して、基本機能を備えた Standard Looker(Google Cloud Core)インスタンスをプロビジョニングします。

# Creates a Standard edition Looker (Google Cloud core) instance with basic functionality enabled.
resource "google_looker_instance" "main" {
  name             = "my-instance"
  platform_edition = "LOOKER_CORE_STANDARD"
  region           = "us-central1"
  oauth_config {
    client_id     = "my-client-id"
    client_secret = "my-client-secret"
  }
}

次の Terraform リソースを使用して、Standard Looker(Google Cloud コア)インスタンスをプロビジョニングし、追加の設定を適用します。

# Creates a Standard edition Looker (Google Cloud core) instance with full functionality enabled.

resource "google_looker_instance" "main" {
  name              = "my-instance"
  platform_edition  = "LOOKER_CORE_STANDARD"
  region            = "us-central1"
  public_ip_enabled = true
  admin_settings {
    allowed_email_domains = ["google.com"]
  }
  // User metadata config is only available when platform edition is LOOKER_CORE_STANDARD.
  user_metadata {
    additional_developer_user_count = 10
    additional_standard_user_count  = 10
    additional_viewer_user_count    = 10
  }
  maintenance_window {
    day_of_week = "THURSDAY"
    start_time {
      hours   = 22
      minutes = 0
      seconds = 0
      nanos   = 0
    }
  }
  deny_maintenance_period {
    start_date {
      year  = 2050
      month = 1
      day   = 1
    }
    end_date {
      year  = 2050
      month = 2
      day   = 1
    }
    time {
      hours   = 10
      minutes = 0
      seconds = 0
      nanos   = 0
    }
  }
  oauth_config {
    client_id     = "my-client-id"
    client_secret = "my-client-secret"
  }
}

以下の Terraform リソースを使用して、プライベート ネットワーク接続を有する Enterprise Looker(Google Cloud コア)インスタンスをプロビジョニングします。

# Creates an Enterprise edition Looker (Google Cloud core) instance with full, Private IP functionality.
resource "google_looker_instance" "main" {
  name               = "my-instance"
  platform_edition   = "LOOKER_CORE_ENTERPRISE_ANNUAL"
  region             = "us-central1"
  private_ip_enabled = true
  public_ip_enabled  = false
  reserved_range     = google_compute_global_address.main.name
  consumer_network   = data.google_compute_network.main.id
  admin_settings {
    allowed_email_domains = ["google.com"]
  }
  encryption_config {
    kms_key_name = google_kms_crypto_key.main.id
  }
  maintenance_window {
    day_of_week = "THURSDAY"
    start_time {
      hours   = 22
      minutes = 0
      seconds = 0
      nanos   = 0
    }
  }
  deny_maintenance_period {
    start_date {
      year  = 2050
      month = 1
      day   = 1
    }
    end_date {
      year  = 2050
      month = 2
      day   = 1
    }
    time {
      hours   = 10
      minutes = 0
      seconds = 0
      nanos   = 0
    }
  }
  oauth_config {
    client_id     = "my-client-id"
    client_secret = "my-client-secret"
  }
  depends_on = [
    google_service_networking_connection.main,
    google_kms_crypto_key.main
  ]
}

resource "google_kms_key_ring" "main" {
  name     = "keyring-example"
  location = "us-central1"
}

resource "google_kms_crypto_key" "main" {
  name     = "crypto-key-example"
  key_ring = google_kms_key_ring.main.id
}

resource "google_service_networking_connection" "main" {
  network                 = data.google_compute_network.main.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.main.name]
}

resource "google_compute_global_address" "main" {
  name          = "looker-range"
  purpose       = "VPC_PEERING"
  address_type  = "INTERNAL"
  prefix_length = 20
  network       = data.google_compute_network.main.id
}

data "google_project" "main" {}

data "google_compute_network" "main" {
  name = "default"
}

resource "google_kms_crypto_key_iam_member" "main" {
  crypto_key_id = google_kms_crypto_key.main.id
  role          = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
  member        = "serviceAccount:service-${data.google_project.main.number}@gcp-sa-looker.iam.gserviceaccount.com"
}

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。

インスタンスの作成を開始すると、一時停止や中断はできません。Terraform リソースが正常にプロビジョニングされると、ターミナルに次のメッセージが出力されます。

Creation complete after XmXs [id=projects/PROJECT-ID/locations/REGION/instances/my-instance-randomly-generated-name]

Apply complete! Resources: X added, X changed, X destroyed.

ランダムに生成された名前が割り当てられる新しいインスタンスのステータスを表示するには、コンソールの [インスタンス] ページにアクセスします。

インスタンスのプロビジョニングには最大 60 分ほどかかる場合があります。

インスタンスが作成されたら、OAuth クライアントの [承認済みのリダイレクト URI] セクションにインスタンスの URL を入力します。

インスタンスが作成され、OAuth の設定が完了したら、[インスタンス] ページに表示されるインスタンスの URL に移動すると、インスタンスが表示されます。その後、ユーザー認証方法を選択してユーザーを追加し、データベースに接続して、インスタンスの設定を続行します。

Looker サービス アカウント

Looker(Google Cloud コア)は、Looker サービス アカウントと呼ばれるサービス エージェントを使用して、特定のアクティビティを行います。単一の Looker サービス アカウントは、特定の Google Cloud プロジェクト内のすべての Looker(Google Cloud コア)インスタンスとして機能します。Looker サービス アカウントは、プロジェクトで Looker(Google Cloud コア)インスタンスを初めて作成するときに自動的に作成されます。

サービス アカウントを使用すると、Looker(Google Cloud コア)で BigQuery などの他のサービスに接続できます。

別のプロジェクトの BigQuery への接続でアプリケーションのデフォルト認証情報(ADC)を使用している場合など、Looker サービス アカウントに関する情報(メールアドレスなど)を表示する必要があることがあります。

また、CMEK の使用を予定していて、Looker(Google Cloud コア)インスタンスを作成する前に、Google Cloud CLI、Terraform、または API を使用して CMEK を構成する場合は、インスタンスを作成するに Looker サービス アカウントを手動で作成する必要があります。

Looker サービス アカウントを表示または作成するには、次のいずれかのオプションを選択します。

Console

Looker サービス アカウントを表示するには:

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

    IAM に移動
  2. Looker(Google Cloud コア)インスタンスが存在するプロジェクトを選択します。
  3. [Google 提供のロール付与を含める] チェックボックスをオンにします。

gcloud

Looker サービス アカウントを作成または表示するには:


gcloud beta services identity create --service=looker.googleapis.com --project=PROJECT_ID

PROJECT_ID は、Looker(Google Cloud コア)インスタンスが存在するプロジェクトに置き換えます。

サービス アカウント名は Looker Service Account になります。メールアドレスは service-<project number>@gcp-sa-looker.iam.gserviceaccount.com 形式になります。

次のステップ