创建具有专用 IP 地址的 Looker (Google Cloud Core) 实例

本页介绍了如何创建使用专用服务访问的专用 IP Looker (Google Cloud Core) 生产或非生产实例

专用 IP 连接可让您不必通过互联网或使用外部 IP 地址即可访问服务。由于不需要遍历互联网,通过专用 IP 建立的连接通常可缩短延迟时间并限制攻击途径。借助专用 IP 连接,Looker (Google Cloud Core) 实例可以与虚拟私有云 (VPC) 中的其他资源通信,但不允许来自公共互联网的入站通信。

借助专用 IP 地址连接,您可以使用某些功能,例如 VPC Service Controls。不过,专用 IP 连接与某些 Looker (Google Cloud Core) 功能不兼容。如需了解详情,请参阅功能兼容性表。

Looker (Google Cloud Core) 支持企业版嵌入式 实例版本的专用 IP。

所需的角色和权限

如需设置专用 IP 实例,您必须拥有以下 IAM 权限:

  1. 如需创建 Looker (Google Cloud Core) 实例,您必须拥有 Looker Admin (roles/looker.Admin) 角色。
  2. 如需获得创建已分配的 IP 地址范围和管理专用连接所需的权限,请让您的管理员为您授予项目的 Compute Network Admin (roles/compute.networkAdmin) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

    此预定义角色包含创建已分配的 IP 地址范围和管理专用连接所需的权限。如需查看所需的确切权限,请展开所需权限部分:

    所需权限

    如需创建分配的 IP 地址范围和管理专用连接,需要具备以下权限:

    • 网络下拉菜单中查看可用的网络:
      • compute.addresses.list
      • compute.globalAddresses.list
      • compute.networks.list
      • compute.globalAddresses.list
    • 创建新的 VPC 网络:
      • compute.addresses.create
      • compute.globalAddresses.create
      • serviceusage.services.enable
    • 分配专用 IP 地址范围并设置专用服务访问通道连接: compute.networks.addPeering

    您也可以使用自定义角色或其他预定义角色来获取这些权限。

    如果您使用 Terraform 或 Google Cloud CLI 创建专用 IP 实例,并且使用的是已设置好的专用网络,则无需这些权限。

您可能还需要其他 IAM 角色才能设置 VPC Service Controls 或客户管理的加密密钥 (CMEK)。如需了解详情,请参阅VPC Service Controls 对 Looker (Google Cloud Core) 的支持为 Looker (Google Cloud Core) 启用 CMEK 文档页面,了解这些功能。

准备工作

  1. 在 Google Cloud 控制台的项目选择器页面上,创建一个 Google Cloud 项目,或前往您要创建 Looker (Google Cloud Core)实例的现有项目。

    前往“项目选择器”

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

    启用 API

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

    启用 API

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

    启用 API

  5. 设置 OAuth 客户端并创建授权凭据。借助 OAuth 客户端,您可以进行身份验证并访问实例。您必须设置 OAuth 才能创建 Looker (Google Cloud Core) 实例,即使您使用其他身份验证方法对用户进行身份验证以便他们登录实例也是如此。

创建和配置 VPC 网络

您必须先创建和配置 Virtual Private Cloud (VPC) 网络,然后才能创建专用 IP 连接。Looker (Google Cloud Core) 支持在同一 VPC 中部署多个专用 IP 实例,这些实例可以位于同一区域,也可以位于不同区域。

  1. 在项目中创建 VPC 网络。或者,如果您使用的是共享 VPC(而不是创建新的 VPC 网络),则除了完成本部分针对共享 VPC 的其余步骤外,还需要完成下一部分在共享 VPC 中创建实例中的步骤。
  2. 在 VPC 中分配 IPv4 IP 地址范围 (CIDR 块),以建立到 Looker (Google Cloud Core) 的专用服务访问通道连接。
    • 在分配范围之前,请考虑限制
    • 设置 IP 地址范围大小时,请注意最小大小为 /22 个网段。
    • Looker (Google Cloud Core)支持 RFC 1918 中的所有 IPv4 范围,该规范指定分配给内部(即组织内)使用的 IP 地址,这些地址将不会在互联网上路由。具体而言,这些是:
      • 10.0.0.0/8
      • 172.16.0.0/12
      • 192.168.0.0/16
    • RFC 5735RFC 1112 中所述,E 类 IPv4 范围 (240.0.0.0/4) 预留以供将来使用,Looker (Google Cloud Core)不支持此类范围。
    在 VPC 内的某个区域首次创建 Looker (Google Cloud Core) 实例时,Looker 会创建一个代理专用子网。代理专用子网使用您在创建 Looker (Google Cloud Core) 实例时预留的 /22 子网的 /26 范围子网。同一 VPC 和同一区域中的任何后续专用 IP Looker (Google Cloud Core) 实例都使用相同的仅代理子网。
  3. 使用上一步中为已分配的分配分配的 IP 地址范围,将专用服务访问通道连接添加到您的 VPC 网络。
  4. VPC 网络创建完毕后,返回 Google Cloud 项目中的创建 Looker 实例页面。您可能需要刷新页面,系统才能识别您的 VPC 网络。

完成上述步骤后,您可以开始按照创建 Looker (Google Cloud Core) 实例 文档页面上的步骤创建实例,从准备工作部分开始。

同一 VPC 中的多个专用 IP 实例

如果有两个或更多使用专用 IP 的 Looker (Google Cloud Core) 实例位于同一区域和同一 VPC 中,并且您删除了在该区域中创建的第一个 Looker (Google Cloud Core) 实例,则仅代理子网不会被释放,因为其仍由其余实例使用。如果您尝试创建新的专用 IP Looker (Google Cloud Core) 实例,并使用与已删除实例(包含代理专用子网的 IP 地址范围)相同的地址范围,则实例创建将失败,并且您会看到“IP 地址范围已用尽”错误。如需检查 IP 地址范围是否正在使用,请检查 Service Networking 的 VPC 对等互连,并检查导入路由,看看它们是否使用了您关注的 IP 地址范围。

在共享 VPC 中创建实例

如果您要在共享 VPC 中创建 Looker (Google Cloud Core)实例,请在共享 VPC 的宿主项目中完成以下步骤:

  1. 在 Google Cloud 控制台中,在共享 VPC 的宿主项目中启用 Looker API。启用 API 后,您可能需要刷新控制台页面,以确认该 API 已启用。

    启用 API

  2. 使用 gcloud services identity create 命令在共享 VPC 的宿主项目中创建服务账号

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

    SHARED_HOST_PROJECT_ID 替换为共享 VPC 的宿主项目。

  3. 向宿主项目中的服务账号授予 compute.globalAddresses.get IAM 权限。

创建服务账号并向其授予 IAM 权限后,请等待几分钟,以便服务账号和权限传播。

此外,请在共享 VPC 中分配 IPv4 IP 地址范围,并按照上一部分创建和配置 VPC 网络中所述的步骤将专用服务访问连接添加到共享 VPC。

创建专用 IP 实例

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

必须在创建实例时分配专用 IP。实例创建后,您无法向实例添加或从实例中移除专用 IP。

如需在创建实例时配置专用 IP,请选择以下选项之一:

控制台

  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) 平台,具有增强型安全功能,可满足各种内部 BI 和分析应用场景
    • 嵌入版:Looker (Google Cloud Core) 平台,适用于大规模部署和维护可靠的外部分析和自定义应用

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

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

  8. 连接部分的实例 IP 分配下,选择仅使用专用 IP,或同时使用专用 IP公共 IP。所选的网络连接类型会影响实例可用的 Looker 功能。可用的网络连接选项如下:

    • 公共 IP:分配可通过互联网访问的外部 IP 地址。
    • 专用 IP:分配一个由 Google 托管的内部 IP 地址,该地址可在 Virtual Private Cloud (VPC) 上访问。您可以使用此地址从能够访问 VPC 的其他资源进行连接。只有企业版嵌入式版本支持专用 IP。如果您想使用 VPC Service Controls,则必须仅选择专用 IP
    • 如果同时选择专用 IP公共 IP,则传入的流量将通过公共 IP 路由,传出流量将通过专用 IP 路由。Looker (Google Cloud Core) 实例不会使用公共 IP 发起互联网出站流量。
  9. 专用 IP 类型下,选择专用服务访问通道 (PSA)

  10. 如果系统显示启用所需的 API 弹出式窗口,您必须为 Google Cloud 项目启用其他 API。如需为专用网络连接启用所需的 API,请点击全部启用

  11. 网络下拉菜单中,选择您的 VPC 网络。专用 IP 网络需要专用服务访问连接,这样您的服务才能使用内部 IP 地址进行专有的通信。如需详细了解如何设置专用 IP 连接,请参阅配置专用服务访问通道文档页面。如果您在创建 VPC 网络时未设置专用服务连接,则可以点击“需要专用服务访问通道连接”消息下的设置连接系统随即会打开一个侧边栏,您可以在其中分配 IP 地址范围并创建连接。

  12. 已分配的 IP 范围下,选择 VPC 中的 IP 范围,Google 将在该范围内为您的 Looker (Google Cloud Core) 实例预配子网。子网会预留一个 IP 范围,该范围不能由 VPC 网络中的其他资源使用。创建 Looker (Google Cloud Core)实例后,您将无法修改此 IP 地址范围。IP 范围分配包括以下选项:

    • 选择使用自动分配的 IP 范围,让 Google 自动分配 IP 范围以为 VPC 预配子网。
    • 选择在专用服务访问通道设置期间定义的 IP 范围。
  13. 加密部分,您可以选择要对实例使用的加密类型。您可以使用以下加密选项:

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

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

  16. 点击创建

gcloud

  1. 如果您使用的是 CMEK,请先按照有关创建服务账号、密钥环和密钥的说明操作,然后再创建 Looker (Google Cloud Core) 实例。
  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 \
    --private-ip-enabled \
    --consumer-network=CONSUMER_NETWORK --reserved-range=RESERVED_RANGE
    [--no-public-ip-enabled]
    [--public-ip-enabled]
    

    替换以下内容:

    • 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:实例的版本和环境类型(生产环境或非生产环境)。对于专用 IP 实例,此值应为 core-enterprise-annualcore-embed-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) 实例预配子网。

    您可以添加以下标志:

    • --private-ip-enabled 用于启用专用 IP。必须包含此参数才能创建专用 IP 实例。
    • --public-ip-enabled 用于启用公共 IP。
    • --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]
    [--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 级合规性

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

如果您创建的是仅使用专用 IP 地址的实例,实例页面上不会显示网址。如需详细了解如何设置对专用 IP 实例的访问权限,请参阅下文中的创建后访问专用 IP 实例部分。

在创建专用 IP 实例后访问该实例

如果您创建的实例仅启用了专用 IP,则不会收到该实例的网址。如需访问该实例,您必须为该实例配置自定义网域,并将该自定义网域添加到实例的 OAuth 凭据中。如需了解用于设置和访问自定义网域的不同专用 IP 网络选项,请访问 Looker (Google Cloud Core) 专用 IP 实例的自定义网域网络选项文档页面。

后续步骤