为 Looker (Google Cloud Core) 创建专用 IP 连接

专用 IP 连接使服务无需通过互联网或使用外部 IP 地址即可访问。由于这类连接不遍历互联网,因此通过专用 IP 建立的连接通常可以缩短延迟时间,并限制攻击途径。专用 IP 连接允许您的 Looker (Google Cloud Core) 实例与 Virtual Private Cloud (VPC) 中的其他资源进行通信,但不允许来自公共互联网的入站通信。

专用 IP 连接与某些 Looker (Google Cloud Core) 功能不兼容。如需了解详情,请参阅功能兼容性表格。

Looker (Google Cloud Core) 支持为符合以下条件的实例使用专用 IP:

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

准备工作

  1. 如需获取创建分配的 IP 地址范围和管理专用连接所需的权限,请让管理员授予您项目的 Compute Network Admin (roles/compute.networkAdmin) IAM 角色。 如需详细了解如何授予角色,请参阅管理访问权限

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

    所需权限

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

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

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

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

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

    启用 API

创建和配置 VPC 网络

您必须先创建并配置虚拟私有云 (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
    • E 类 IPv4 范围 (240.0.0.0/4) 已预留以供日后使用,如 RFC 5735RFC 1112 中所述,Looker (Google Cloud Core) 不支持此类范围。
    在 VPC 中首次创建 Looker (Google Cloud Core) 实例时,Looker 会创建一个代理专用子网。同一 VPC 中的所有后续专用 IP Looker (Google Cloud Core) 实例都使用同一子网。
  3. 使用上一步中为指定的分配分配的 IP 范围,将专用服务访问通道连接添加到您的 VPC 网络。
  4. 创建 VPC 网络后,返回 Google Cloud 项目中的创建 Looker 实例页面。您可能需要刷新页面,以便识别您的 VPC 网络。

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

在共享 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,请选择以下选项之一:

控制台

如果您在创建实例期间仅选择专用 IP 或同时选择专用 IP公共 IP,请使用以下代码完成配置:

  1. 如果系统显示启用所需的 API 弹出式窗口,您必须为 Google Cloud 项目启用其他 API。如需启用专用网络连接所需的 API,请点击全部启用
  2. 网络下拉菜单中,选择您的 VPC 网络。专用 IP 网络需要专用服务访问通道连接,这样您的服务才能使用内部 IP 地址进行专有的通信。如需详细了解如何设置专用 IP 连接,请参阅配置专用服务访问通道文档页面。如果您在创建 VPC 网络时未设置专用服务连接,可以点击需要专用服务访问通道连接消息下的设置连接。系统会打开一个侧边栏,您可以在其中分配 IP 范围并创建连接。
  3. 分配的 IP 范围下,您可以选择 VPC 内的一系列 IP 地址范围,以便 Google 为您的 Looker (Google Cloud Core) 实例配置子网。子网会预留一个 IP 范围,该范围不能供 VPC 网络中的其他资源使用。创建 Looker (Google Cloud Core) 实例后,您将无法修改此 IP 范围。IP 范围分配包括以下选项:
    • 选择使用自动分配的 IP 范围,让 Google 自动分配 IP 范围以为 VPC 预配子网。
    • 选择在专用服务访问通道设置期间定义的 IP 范围。
  4. 完成实例创建,然后点击创建以创建实例。

gcloud

  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]

替换以下内容:

  • 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 启用公共 IP。
  • --no-public-ip-enabled 表示停用公共 IP。

创建实例后的实例配置

如果您创建了一个仅针对专用 IP 启用的实例,则不会收到该实例的网址。如需访问该实例,您必须执行以下两项操作:

您可能还需要通过执行以下操作进一步配置专用 IP 实例:

  • 如果您使用的是 VPC Service Controls,请移除默认路由
  • 创建电子邮件网域许可名单,将电子邮件递送范围限制为外部网域。
  • 配置您的专用 IP 实例,以允许或限制与互联网或外部资源的通信。

后续步骤