创建专用 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 核心)支持 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 实例

如果您在同一 VPC 中有多个专用 IP 实例,请牢记以下注意事项:

  • 如果两个或更多专用 IP Looker (Google Cloud Core) 实例位于同一区域和同一 VPC 中,而您删除了在该区域创建的第一个 Looker (Google Cloud Core) 实例,则代理专用子网不会被释放,因为它仍被其余实例使用。如果尝试使用您用于已删除实例的同一地址范围(包含代理专用子网的 IP 地址范围)创建新的专用 IP Looker (Google Cloud Core) 实例,则创建实例的操作将失败,并且系统会显示“IP 范围已用尽”的错误消息错误。如需检查 IP 范围是否正在使用中,请检查 Service Networking 的 VPC 对等互连,然后检查导入路由,确认它们是否正在使用您感兴趣的 IP 范围。
  • 如果两个或多个专用 IP 实例位于同一 VPC 中,并且您删除了其中一个实例,请重启其余实例,以便为这些实例重新建立 Service Networking 连接。

在共享 VPC 中创建实例

如果您要在共享 VPC 中创建 Looker(Google Cloud 核心)实例,请在共享 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。所选的网络连接类型会影响实例可用的 Looker 功能。您可以使用以下网络连接选项:

    • 公共 IP:分配可通过互联网访问的外部 IP 地址。
    • 专用 IP:分配可在 Virtual Private Cloud (VPC) 上访问的 Google 托管的内部 IP 地址。您可以使用此地址从能够访问 VPC 的其他资源进行连接。只有企业版嵌入式版本支持专用 IP。如果您想使用 VPC Service Controls,则必须仅选择专用 IP
    • 如果同时选择了专用 IP公共 IP,则传入的流量将通过公共 IP 路由,传出流量将通过专用 IP 路由。Looker (Google Cloud Core) 实例不会使用公共 IP 发起互联网出站流量。
  9. 如果系统显示启用所需的 API 弹出式窗口,则您必须为 Google Cloud 项目启用其他 API。如需为专用网络连接启用所需的 API,请点击全部启用

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

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

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

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

  14. 拒绝维护期部分,您可以视需要指定 Looker (Google Cloud Core) 不在哪些时间段安排维护。拒绝维护期最长可达 60 天。您必须在任意 2 个拒绝维护期之间至少留出 14 天允许维护时间。

  15. 点击创建

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 密钥。实例创建后,在 OAuth 客户端的已获授权的重定向 URI部分中输入实例的网址
    • REGION:Looker (Google Cloud Core) 实例的托管区域。选择与订阅合同中的区域匹配的区域。Looker (Google Cloud Core) 位置文档页面列出了可用区域。
    • EDITION:实例的版本。对于专用 IP 实例,这应为 core-enterprise-annualcore-embed-annual。请务必选择年度合同中列出的版本类型,并为您分配配额。实例创建后,版本便无法更改。如果您想要更改版本,可以使用导入和导出功能将 Looker (Google Cloud Core) 实例数据移动到配置了其他版本的新实例。
    • CONSUMER_NETWORK:您的 VPC 网络或共享 VPC 网络。如果您要创建专用 IP 实例,则必须设置此字段。
    • RESERVED_RANGE:Google 将在其中为您的 Looker (Google Cloud Core) 实例预配子网的 VPC 中的 IP 地址范围。

    您可以添加以下标志:

    • --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 实例的自定义网域网络选项文档页面。

后续步骤