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

专用 IP 连接使您无需通过互联网或使用外部 IP 地址即可访问服务。由于它们不遍历互联网,因此通过专用 IP 的连接通常可缩短延迟时间并限制攻击途径。专用 IP 连接可让您的 Looker (Google Cloud Core) 实例与虚拟私有云 (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
      • 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 实例,并且使用的是已设置的专用网络,则无需这些权限。

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

    启用 API

创建和配置 VPC 网络

您必须先创建和配置虚拟私有云 (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 范围,RFC 1918 指定了分配给内部(即组织内)使用且不通过互联网路由的 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 会在 Service Networking 租户项目的 VPC 中创建一个代理专用子网。代理专用子网会使用您在创建 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 中创建实例

如果要在共享 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 网络中的说明,在共享 VPC 中分配 IPv4 IP 范围,并将专用服务访问通道连接添加到共享 VPC。

创建实例期间的网络配置

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

控制台

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

  1. 如果系统显示启用必需的 API 弹出式窗口,您必须为 Google Cloud 项目启用其他 API。如需启用专用网络连接所需的 API,请点击全部启用
  2. 网络下拉菜单中,选择您的 VPC 网络。专用 IP 网络需要专用服务访问通道连接,确保您的服务只使用内部 IP 地址进行通信。如需详细了解如何设置专用 IP 连接,请参阅配置专用服务访问通道文档页面。如果您在创建 VPC 网络时未设置专用服务连接,可以在消息需要专用服务访问通道连接下点击设置连接。此操作会打开一个侧边栏,您可以在其中分配 IP 范围并创建连接。
  3. 分配了一个 IP 范围下,您可以选择 Google 将在其中为您的 Looker (Google Cloud Core) 实例预配子网的 VPC 中的一个 IP 地址范围。子网预留的 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 实例,以允许或限制与互联网或外部资源的通信。

后续步骤