一般公開の安全な接続の Looker(Google Cloud コア)インスタンスを作成する

このページでは、パブリック セキュア接続用に構成された Looker(Google Cloud コア)の本番環境インスタンスまたは非本番環境インスタンスをプロビジョニングする方法について説明します。

プライベート接続インスタンスを作成する場合は、インスタンスの作成時に構成を割り当てる必要があります。プライベート接続インスタンスを作成する手順については、次の手順ではなく、Looker(Google Cloud コア)Private Service Connect インスタンスを作成するまたはプライベート接続(プライベート サービス アクセス)Looker(Google Cloud コア)インスタンスを作成するのドキュメント ページの手順に沿って操作してください。

始める前に

  1. セールス担当者と協力して、年間契約が完了し、プロジェクトに割り当てが割り当てられていることを確認します。
  2. Google Cloud プロジェクトに対して課金が有効になっていることを確認します
  3. Google Cloud コンソールのプロジェクト セレクタ ページで、 Google Cloud プロジェクトを作成するか、既存のプロジェクトに移動します。

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

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

    API を有効にする

  5. OAuth クライアントを設定し、認証情報を作成します。OAuth クライアントを使用すると、インスタンスを認証してアクセスできます。インスタンスに対してユーザーを認証する別の認証方法を使用している場合でも、Looker(Google Cloud コア)インスタンスを作成するには OAuth を設定する必要があります。
  6. VPC Service Controls を使用する場合は、パブリック セキュア接続インスタンスではなく、プライベート接続(プライベート サービス アクセス)インスタンスを作成する必要があります。

必要なロール

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

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

顧客管理の暗号鍵(CMEK)を設定する場合は、追加の IAM ロールが必要になることもあります。詳細については、Cloud Key Management Service ドキュメントの 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. [エディション] セクションで、組織のニーズに応じてインスタンスのエディションを設定します。エディション タイプは、インスタンスで使用可能な機能の一部に影響します。年間契約に記載されているエディション タイプと同じエディション タイプを選択し、そのエディション タイプに割り当てが割り当てられていることを確認してください。エディションのオプションは次のとおりです。

    • 標準: ユーザー数 50 人未満の小規模な組織またはチーム用の Looker(Google Cloud コア)プラットフォーム
    • Enterprise: 高度な BI 機能を備えた Looker(Google Cloud コア)プラットフォーム。BI と分析のさまざまなユースケースに対処できます。
    • Embed: 信頼性の高い外部分析やカスタム アプリケーションを大規模にデプロイして維持するための Looker(Google Cloud コア)プラットフォーム
    • 非本番環境エディション: ステージング環境とテスト環境が必要な場合は、非本番環境エディションのいずれかを選択します。詳細については、非本番環境インスタンスのドキュメントをご覧ください。
    • トライアル エディション: トライアル エディションは、対応する本番環境エディションと同じ機能サポートを備えていますが、トライアル エディションの有効期間は 90 日間です。

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

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

  8. [接続] セクションで、[パブリック セキュア接続を使用する] を選択します。パブリック セキュア接続設定では、インターネットにアクセスできる外部 IP アドレスが割り当てられ、すべてのエディション タイプで使用できます。

  9. Enterprise エディションまたは Embed エディションのインスタンスを作成する場合は、[暗号化] セクションが表示されます。[Encryption] セクションで、インスタンスで使用する暗号化の種類を選択できます。次の暗号化オプションがあります。

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

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

  12. [Gemini in Looker] セクションで、必要に応じて Looker(Google Cloud コア)インスタンスで Gemini in Looker 機能を利用できるようにします。Gemini in Looker を有効にするには、[Gemini] を選択し、[Trusted Tester の機能] を選択します。[Trusted Tester の機能] が有効になっている場合、ユーザーは Gemini in Looker の Trusted Tester の機能にアクセスできます。Trusted Tester の非公開の機能へのアクセスは、Gemini in Looker のプレビュー フォームからユーザー単位でリクエストできます。pre-GA プレビューで Gemini を使用するには、この設定を有効にする必要があります。必要に応じて、[Trusted Tester のデータの使用] を選択します。この設定を有効にすると、[Gemini for Google Cloud Trusted Tester プログラム利用規約](/(https://cloud.google.com/trusted-tester/gemini-for-google-cloud-preview)に従って Google がデータを使用することに同意したことになります。Looker(Google Cloud コア)インスタンスで Gemini を無効にするには、[Gemini] 設定をオフにします。

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

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 を設定します。
    • REGION: Looker(Google Cloud コア)インスタンスがホストされるリージョン。サブスクリプション契約のリージョンと一致するリージョンを選択します。使用可能なリージョンは、Looker(Google Cloud コア)のロケーション ドキュメント ページに記載されています。インスタンスの作成後にリージョンを変更することはできません。
    • EDITION: エディション、環境タイプ(本番環境または非本番環境)、インスタンスがトライアル エディションかどうか。有効な値は core-standard-annualcore-enterprise-annualcore-embed-annualnonprod-core-standard-annualnonprod-core-enterprise-annualnonprod-core-embed-annualcore-trial-standardcore-trial-enterprisecore-trial-embed です。インスタンスの作成後はエディションを変更できません。エディションを変更する場合は、インポートとエクスポートを使用して、Looker(Google Cloud コア)インスタンス データを、別のエディションで構成される新しいインスタンスに移動します。
    • CONSUMER_NETWORK: VPC ネットワークまたは共有 VPC。プライベート接続インスタンスを作成する場合は、設定する必要があります。
    • RESERVED_RANGE: Google が Looker(Google Cloud コア)インスタンスのサブネットワークをプロビジョニングする VPC 内の IP アドレスの範囲。インスタンスに対してプライベート接続ネットワーク接続を有効にする場合は、範囲を定義しないでください。

    次のフラグも指定します。

    • --public-ip-enabled は、一般公開の安全な接続を有効にするために使用されます。
    • 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
    [--fips-enabled]
    
    次のように置き換えます。

    • 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)の設定時に作成される鍵にする必要があります。

    --fips-enabled フラグを指定して、FIPS 140-2 レベル 1 コンプライアンスを有効にできます。

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.

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

インスタンスの作成中は、コンソール内の [インスタンス] ページでステータスを確認できます。 Google Cloud コンソール メニューの通知アイコンをクリックして、インスタンス作成アクティビティを確認することもできます。

公開セキュア接続インスタンスが作成されると、インスタンスの公開 URL が [インスタンス] ページの [インスタンス URL] 列に表示されます。

インスタンスが作成されたら、前に作成した OAuth クライアントで承認済みのリダイレクト URI を設定します。

インスタンスが作成され、OAuth の設定が完了したら、[インスタンス] ページに表示されるインスタンスの URL に移動すると、インスタンスが表示されます。

次のステップ