创建 Looker (Google Cloud Core) 实例

本页面介绍了如何预配 Looker (Google Cloud Core) 实例。

准备工作

  1. 在 Google Cloud 控制台的项目选择器页面上,创建一个 Google Cloud 项目或转到现有项目。

    前往项目选择器

  2. 在 Google Cloud 控制台中为您的项目启用 Looker API。启用该 API 时,您可能需要刷新控制台页面,以确认该 API 已启用。

    启用 API

  3. 在 Google Cloud 控制台中为您的项目启用 Service Networking API。启用该 API 时,您可能需要刷新控制台页面,以确认该 API 已启用。

    启用 API

  4. 设置 OAuth 客户端并创建授权凭据。利用 OAuth 客户端,您可以进行身份验证和访问实例。您必须设置 OAuth 才能创建 Looker (Google Cloud Core) 实例,即使您使用其他身份验证方法对用户进行身份验证时也是如此。
  5. 如果您想要将专用 IPVPC Service Controls客户管理的加密密钥 (CMEK) 与要创建的 Looker (Google Cloud Core) 实例搭配使用,则在创建实例之前需要进行额外的设置。在创建实例的过程中,可能还需要其他版本和网络配置。

所需的角色

如需获取创建 Looker (Google Cloud Core) 实例所需的权限,请让管理员授予您对实例所在项目的 Looker Admin (roles/looker.admin) IAM 角色。 如需详细了解如何授予角色,请参阅管理访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

您可能还需要其他 IAM 角色才能设置专用 IPVPC Service Controls客户管理的加密密钥 (CMEK)。如需了解详情,请访问这些功能的文档页面。

创建 Looker (Google Cloud Core) 实例

Looker (Google Cloud Core) 需要大约 60 分钟才能生成新实例。

如需创建 Looker (Google Cloud Core) 实例,请选择以下选项之一:

控制台

  1. 在 Google Cloud 控制台中,从您的项目前往 Looker (Google Cloud Core) 产品页面。如果您已经在此项目中创建了 Looker (Google Cloud Core) 实例,这将打开实例页面。

    前往 Looker (Google Cloud Core)

  2. 点击创建实例
  3. 实例名称部分,为您的 Looker (Google Cloud Core) 实例提供一个名称。创建 Looker (Google Cloud Core) 实例后,实例名称不会与它的网址相关联。实例名称一经创建便无法更改。
  4. OAuth 应用凭据部分,输入您在设置 OAuth 客户端时创建的 OAuth 客户端 ID 和 OAuth 密钥。
  5. 区域部分,从下拉菜单中选择合适的选项。相应的区域是托管 Looker (Google Cloud Core) 实例的区域。选择与订阅合同中的区域一致的区域,系统会在此处为您的项目分配配额。如需了解可用区域,请参阅 Looker (Google Cloud Core) 位置文档页面。
  6. 版本部分,根据贵组织的需求设置实例版本。版本类型会影响实例的一些可用功能。以下是版本选项:

    • 标准版:Looker 平台,适合用户少于 50 人的小型组织或团队。此产品可通过年度合同购买
    • 企业版:具有增强型安全功能的 Looker 平台,可满足各种内部 BI 和分析应用场景。须签订年度合同
    • 嵌入:用于大规模部署和维护可靠的外部分析和自定义应用的 Looker 平台。须签订年度合同

    实例创建完成后,版本便无法更改。如果您要更改某个版本,可以使用导入和导出将您的 Looker (Google Cloud Core) 实例数据移至配置了其他版本的新实例。

  7. 自定义实例部分中,点击显示配置选项以显示一组其他设置,供您为实例自定义。

  8. 连接部分会显示网络连接选项。所选的网络连接类型会影响实例的可用的 Looker 功能。可用的网络连接选项如下:

    • 公共 IP:分配可通过互联网访问的外部 IP 地址。
    • 专用 IP:分配可在 Virtual Private Cloud (VPC) 上访问的由 Google 托管的内部 IP 地址。您可以使用此地址从可访问 VPC 的其他资源进行连接。如果您选择此选项,请按照为 Looker (Google Cloud Core) 创建专用 IP 连接文档页面中的说明完成网络设置。只有企业版嵌入版支持专用 IP。
    • 您也可以同时选择这两个选项。如果同时选择这两个选项,则传入的流量将通过公共 IP 路由,传出流量将通过专用 IP 路由。Looker (Google Cloud Core) 实例不会使用公共 IP 来生成互联网出站流量。

    如果您仅选择专用 IP 或同时选择公共 IP专用 IP,请按照将专用 IP 与 Looker (Google Cloud Core) 文档页面搭配使用,在实例创建期间完成网络设置。

  9. 加密部分,您可以选择是使用默认的 Google 管理的加密方式还是客户管理的加密密钥 (CMEK)。如需详细了解 CMEK 以及如何在实例创建过程中对其进行配置,请参阅将客户管理的加密密钥与 Looker (Google Cloud Core) 搭配使用文档页面。实例创建后,加密类型无法更改。

  10. 维护窗口部分,您可以根据需要指定 Looker (Google Cloud Core) 安排维护的日期和时段。维护窗口持续一小时。默认情况下,维护窗口中的首选窗口选项会设置为任意窗口

  11. 拒绝维护期部分,您可以根据需要指定 Looker (Google Cloud Core) 不安排维护的时间段。拒绝维护期最长可达 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 Core) 实例的名称;它不与实例网址关联。
    • PROJECT_ID:要在其中创建 Looker (Google Cloud Core) 实例的 Google Cloud 项目的名称。
    • OAUTH_CLIENT_IDOAUTH_CLIENT_SECRET:您在设置 OAuth 客户端时创建的 OAuth 客户端 ID 和 OAuth 密钥。创建实例后,在 OAuth 客户端的已获授权的重定向 URI 部分中输入实例的网址
    • REGION:托管 Looker (Google Cloud Core) 实例的区域。请选择与订阅合同中的区域一致的区域。如需了解可用区域,请参阅 Looker (Google Cloud Core) 位置文档页面。
    • EDITION:实例的版本。其可能的值为 core-standard-annualcore-enterprise-annualcore-embed-annual。实例创建完成后,版本便无法更改。如果您要更改某个版本,可以使用导入和导出将您的 Looker (Google Cloud Core) 实例数据移至配置了其他版本的新实例。
    • CONSUMER_NETWORK:您的 VPC 网络或共享 VPC。如果您要创建专用 IP 实例,则必须设置此字段。
    • RESERVED_RANGE:Google 将在其中为您的 Looker (Google Cloud Core) 实例预配子网的 VPC 内的 IP 地址范围。如果您要创建专用 IP 实例,则必须设置此字段。

    您还可以添加以下标志:

    • --private-ip-enabled 用于启用专用 IP。
    • --public-ip-enabled--no-public-ip-enabled 用于启用或停用公共 IP。
    • 如果您要创建 Looker (Google Cloud Core) 实例,我们建议您使用 --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 Core) 的维护政策文档页面。
    • 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 资源预配具有基本功能的标准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 资源来预配标准 Looker (Google Cloud Core) 实例,并应用额外的设置:

# 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 Core) 实例:

# 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 部分中输入实例的网址

创建实例并完成 OAuth 设置后,您可以导航到实例页面上显示的实例网址来查看该实例。然后,您可以选择用户身份验证方法并添加用户,连接到您的数据库,然后继续设置实例

Looker 服务帐号

Looker (Google Cloud Core) 使用服务代理(称为 Looker 服务帐号)执行某些活动。单个 Looker 服务帐号代表给定 Google Cloud 项目中的所有 Looker (Google Cloud Core) 实例。首次在项目中创建 Looker (Google Cloud Core) 实例时,系统会自动创建 Looker 服务帐号。

有时,例如,当您使用应用默认凭据 (ADC) 来连接到另一个项目中的 BigQuery 时,您需要查看有关 Looker 服务帐号的信息,如其电子邮件地址。

或者,如果您打算使用 CMEK 并要在创建 Looker (Google Cloud Core) 实例之前使用 Google Cloud CLI、Terraform 或 API 配置 CMEK,则必须在创建实例之前,手动创建 Looker 服务帐号。

如需查看或创建 Looker 服务帐号,请选择以下选项之一:

控制台

如需查看 Looker 服务帐号,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到 IAM 页面。

    进入 IAM
  2. 选择 Looker (Google Cloud Core) 实例所在的项目。
  3. 选中包括 Google 提供的角色授权复选框。

gcloud

如需创建或查看 Looker 服务帐号,请执行以下操作:


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

PROJECT_ID 替换为 Looker (Google Cloud Core) 实例所在的项目。

服务帐号名称将为 Looker Service Account。电子邮件地址的格式为 service-<project number>@gcp-sa-looker.iam.gserviceaccount.com

后续步骤