创建使用公共 IP 地址的 Looker (Google Cloud Core) 实例

本页介绍了如何预配使用公共 IP 地址的 Looker (Google Cloud Core) 生产或非生产实例

准备工作

  1. 与销售团队合作,确保您已完成年度合同,并且您的项目中已分配配额
  2. 确保您的 Google Cloud 项目已启用结算功能
  3. 在 Google Cloud 控制台的“项目选择器”页面上,创建 Google Cloud 项目或前往现有项目。

    前往“项目选择器”页面

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

    启用 API

  5. 设置 OAuth 客户端并创建授权凭据。借助 OAuth 客户端,您可以进行身份验证并访问实例。您必须设置 OAuth 才能创建 Looker (Google Cloud Core) 实例,即使您使用其他身份验证方法对用户进行身份验证以登录您的实例也是如此。
  6. 如果您想使用 VPC Service Controls,则必须创建专用 IP 实例,而不是公共 IP 实例。

所需的角色

如需获得创建 Looker (Google Cloud Core) 实例所需的权限,请让您的管理员为您授予以下 IAM 角色: Looker Admin (roles/looker.admin) 实例将位于的项目中的 IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

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

如果您想设置客户管理的加密密钥 (CMEK),可能还需要其他 IAM 角色。如需了解详情,请访问 Cloud Key Management Service 文档中的使用 IAM 进行访问权限控制页面。

创建 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 secret。
  5. 区域部分中,从下拉菜单中选择适当的选项来托管 Looker (Google Cloud Core) 实例。选择与订阅合同中的区域匹配的区域,因为这是分配项目配额的位置。如需查看可用区域,请参阅 Looker (Google Cloud Core) 位置文档页面。实例创建后,便无法更改区域。
  6. 版本部分,根据组织的需要设置实例版本。版本类型会影响实例可用的部分功能。请确保您选择的版本类型与年度合同中列出的版本类型相同,并且您已为该版本类型分配配额。以下是版本选项:

    • 标准版:Looker (Google Cloud Core) 平台,适合用户少于 50 人的小型组织或团队
    • 企业版:Looker (Google Cloud Core) 平台,具有增强型安全功能,可满足各种内部 BI 和分析应用场景的需求
    • 嵌入式:Looker (Google Cloud Core) 平台,适合用于大规模部署和维护可靠的外部分析和自定义应用
    • 非生产版本:如果您需要一个用于预演和测试的环境,请选择其中一个非生产版本。如需了解详情,请参阅非生产实例文档。

    实例创建完毕后,版本便无法更改。如果您想更改版本,可以使用导入和导出功能将 Looker (Google Cloud Core) 实例数据迁移到配置了其他版本的新实例。

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

  8. 连接部分中,仅选择公共 IP。公共 IP 连接设置会分配可通过互联网访问的外部 IP 地址,并且适用于所有版本类型。

  9. 如果您要创建企业版嵌入式实例,则会看到加密部分。在加密部分中,您可以选择要在实例上使用的加密类型。您可以使用以下加密选项:

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

  11. 拒绝维护期部分,您可以选择指定一个时间段,在此期间 Looker (Google Cloud Core) 不安排维护。拒绝维护期最长可达 60 天。您必须在任意两个拒绝维护期之间至少留出 14 天允许维护时间。

  12. Gemini in Looker 部分,您可以选择为 Looker (Google Cloud Core) 实例启用 Gemini in Looker 功能。如需启用 Gemini in Looker,请选择 Gemini,然后选择可信测试员功能。启用可信测试员功能后,用户可以使用 Gemini in Looker 的可信测试员功能。您可以按用户通过 Gemini in Looker 预览版表单申请使用非公开的可信测试员功能。您必须启用此设置,才能在预发布预览期间使用 Gemini。(可选)选择可信测试员数据使用。启用此设置后,即表示您同意 Google 按照 Gemini for Google Cloud 可信测试员计划条款中所述的方式使用您的数据。如需为 Looker (Google Cloud Core) 实例停用 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 Core) 实例的名称;它不与实例网址相关联。
    • PROJECT_ID:您要在其中创建 Looker (Google Cloud Core) 实例的 Google Cloud 项目的名称。
    • OAUTH_CLIENT_IDOAUTH_CLIENT_SECRET:您在设置 OAuth 客户端时创建的 OAuth 客户端 ID 和 OAuth secret。创建实例后,在之前创建的 OAuth 客户端中设置已获授权的重定向 URI
    • REGION:Looker (Google Cloud Core) 实例的托管区域。选择与订阅合同中的区域一致的区域。如需查看可用区域,请参阅 Looker (Google Cloud Core) 位置文档页面。实例创建后,便无法更改区域。
    • EDITION:实例的版本和环境类型(生产或非生产)。其可能的值为 core-standard-annualcore-enterprise-annualcore-embed-annualnonprod-core-standard-annualnonprod-core-enterprise-annualnonprod-core-embed-annual。实例创建完毕后,版本便无法更改。如果您想更改版本,可以使用导入和导出功能将 Looker (Google Cloud Core) 实例数据迁移到配置了其他版本的新实例。
    • CONSUMER_NETWORK您的 VPC 网络或共享 VPC。如果您要创建专用 IP 实例,则必须设置此参数。
    • RESERVED_RANGE:VPC 内的 IP 地址范围,Google 将在此范围内为 Looker (Google Cloud Core) 实例预配子网。如果您要为实例启用专用 IP 网络连接,请勿定义范围。

    还包含以下标志:

    • --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
    [--fips-enabled]
    
    请替换以下内容:

    • 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) 时创建的密钥。

    您可以添加 --fips-enabled 标志来启用 FIPS 140-2 1 级合规性

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 资源来配置应用了其他设置的 Standard 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 资源预配具有专用网络连接企业版 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.

如需查看新实例的状态(系统会为新实例分配随机生成的名称),请访问控制台中的实例页面。

在创建实例的过程中,您可以在控制台的实例页面中查看其状态。您还可以点击 Google Cloud 控制台菜单中的通知图标,查看实例创建活动。

公共 IP 实例创建完成后,该实例的公开网址将显示在实例页面的实例网址列中。

创建实例后,在之前创建的 OAuth 客户端中设置已获授权的重定向 URI

创建实例并完成 OAuth 设置后,您可以前往实例网址(该网址将显示在实例页面上)查看实例。

后续步骤