配置专用 IP 网络

Cloud Composer 1 |Cloud Composer 2 |Cloud Composer 3

本页面介绍如何为专用 IP 环境配置 Google Cloud 项目网络。

对于专用 IP 环境,Cloud Composer 仅会为您的环境中的代管式 Google Kubernetes Engine 和 Cloud SQL 虚拟机分配专用 IP (RFC 1918) 地址。

您也可以选择以不公开方式使用的公共 IP 地址IP 伪装代理来节省 IP 地址空间,并使用非 RFC 1918 地址。

如需了解如何连接到环境中的资源,请参阅专用 IP

准备工作

检查网络要求

您需要验证项目的 VPC 网络是否满足以下要求:

  • 确保不存在专用 IP 块冲突。如果您的 VPC 网络及其已建立的 VPC 对等体与 Google 管理的租户项目中的 VPC 网络之间存在重叠的 IP 地址块,Cloud Composer 将无法创建您的环境。如需了解每个区域中使用的默认值,请参阅默认 IP 范围表

  • 确保 Cloud Composer GKE pod 和服务具有足够的次要 IP 范围。GKE 会在次要 IP 范围内搜索 IP 别名。如果 GKE 找不到某一范围,则 Cloud Composer 无法创建您的环境。

  • 确保子网中的次要范围数不超过 30 个。请考虑以下事项:

    • 专用 IP 环境的 GKE 集群会在子网中创建两个次要范围。您可以在同一区域中为同一 VPC 网络创建多个子网。
    • 最多支持 30 个次要范围。每个专用 IP 环境都需要两个次要范围(用于 Cloud Composer GKE pod 和服务)。
  • 请确保项目的网络可以承受该限制 单个 VPC 网络的连接数上限。 您可以创建的专用 IP 环境的数量上限取决于您的 VPC 网络中已有的 VPC 对等互连连接的数量。

  • 每个专用 IP 环境最多可使用两个 VPC 对等互连。Cloud Composer 会为 项目网络。第二个对等互连由 环境的 GKE 集群 GKE 集群可以重复使用此连接

选择网络、子网和网络范围

为您的专用 IP 环境选择网络范围(或使用默认范围)。稍后您在创建专用 IP 环境时会使用这些网络范围。

如需创建专用 IP 环境,您需要提供以下信息:

  • 您的 VPC 网络 ID
  • 您的 VPC 子网 ID
  • VPC 子网中的两个次要 IP 范围:
    • pod 的次要 IP 范围
    • Service 的次要 IP 范围
  • 环境组件的 IP 范围:

    • GKE 控制平面 IP 范围。的 IP 范围 GKE 控制平面
      • Web 服务器 IP 范围。
    • 网络服务器 IP 范围。Airflow 网络服务器实例的 IP 范围。
    • Cloud SQL IP 范围。Cloud SQL 实例的 IP 范围。

如需了解每个区域中使用的默认值,请参阅默认 IP 范围表

默认 IP 范围

区域 GKE 控制平面 IP 范围 网络服务器 IP 范围 Cloud SQL IP 地址范围
africa-south1 172.16.64.0/23 172.31.223.0/24 10.0.0.0/12
asia-east1 172.16.42.0/23 172.31.255.0/24 10.0.0.0/12
asia-east2 172.16.0.0/23 172.31.255.0/24 10.0.0.0/12
asia-northeast1 172.16.2.0/23 172.31.254.0/24 10.0.0.0/12
asia-northeast2 172.16.32.0/23 172.31.239.0/24 10.0.0.0/12
asia-northeast3 172.16.30.0/23 172.31.240.0/24 10.0.0.0/12
asia-south1 172.16.4.0/23 172.31.253.0/24 10.0.0.0/12
asia-south2 172.16.50.0/23 172.31.230.0/24 10.0.0.0/12
asia-southeast1 172.16.40.0/23 172.31.235.0/24 10.0.0.0/12
asia-southeast2 172.16.44.0/23 172.31.233.0/24 10.0.0.0/12
australia-southeast1 172.16.6.0/23 172.31.252.0/24 10.0.0.0/12
australia-southeast2 172.16.56.0/23 172.31.227.0/24 10.0.0.0/12
europe-central2 172.16.36.0/23 172.31.237.0/24 10.0.0.0/12
europe-north1 172.16.48.0/23 172.31.231.0/24 10.0.0.0/12
europe-southwest1 172.16.58.0/23 172.31.226.0/24 10.0.0.0/12
europe-west1 172.16.8.0/23 172.31.251.0/24 10.0.0.0/12
europe-west10 172.16.62.0/23 172.31.224.0/24 10.0.0.0/12
europe-west12 172.16.62.0/23 172.31.224.0/24 10.0.0.0/12
europe-west2 172.16.10.0/23 172.31.250.0/24 10.0.0.0/12
europe-west3 172.16.12.0/23 172.31.249.0/24 10.0.0.0/12
europe-west4 172.16.42.0/23 172.31.234.0/24 10.0.0.0/12
europe-west6 172.16.14.0/23 172.31.248.0/24 10.0.0.0/12
europe-west8 172.16.60.0/23 172.31.225.0/24 10.0.0.0/12
europe-west9 172.16.46.0/23 172.31.232.0/24 10.0.0.0/12
me-central1 172.16.58.0/23 172.31.226.0/24 10.0.0.0/12
me-west1 172.16.54.0/23 172.31.228.0/24 10.0.0.0/12
northamerica-northeast1 172.16.16.0/23 172.31.247.0/24 10.0.0.0/12
northamerica-northeast2 172.16.46.0/23 172.31.232.0/24 10.0.0.0/12
southamerica-east1 172.16.18.0/23 172.31.246.0/24 10.0.0.0/12
southamerica-west1 172.16.58.0/23 172.31.226.0/24 10.0.0.0/12
us-central1 172.16.20.0/23 172.31.245.0/24 10.0.0.0/12
us-east1 172.16.22.0/23 172.31.244.0/24 10.0.0.0/12
us-east4 172.16.24.0/23 172.31.243.0/24 10.0.0.0/12
us-east5 172.16.52.0/23 172.31.229.0/24 10.0.0.0/12
us-south1 172.16.56.0/23 172.31.227.0/24 10.0.0.0/12
us-west1 172.16.38.0/23 172.31.236.0/24 10.0.0.0/12
us-west2 172.16.34.0/23 172.31.238.0/24 10.0.0.0/12
us-west3 172.16.26.0/23 172.31.242.0/24 10.0.0.0/12
us-west4 172.16.28.0/23 172.31.241.0/24 10.0.0.0/12

(可选)配置与 Google API 和服务的连接

您可以选择将所有流量路由到 Google API 和服务。 通过属于该 private.googleapis.com 的多个 IP 地址发送 网域。在此配置中,您的环境将访问 Google API 和 且只能通过 Google Cloud 内部路由的 IP 地址来扩展这些服务。

如果您的专用 IP 环境也使用 VPC Service Controls,请使用 使用 VPC Service Controls 的环境的说明

Cloud Composer 环境使用以下网域:

  • *.googleapis.com 用于访问其他 Google 服务。

  • *.pkg.dev 用于获取环境映像,例如在创建或更新环境时。

  • *.gcr.io 无论 Cloud Composer 版本如何,GKE 都需要与 Container Registry 网域保持连接。

配置与 private.googleapis.com 端点的连接:

网域 DNS 名称 CNAME 记录 A 记录
*.googleapis.com googleapis.com. DNS 名称:*.googleapis.com.
资源记录类型:CNAME
规范名称:googleapis.com.
资源记录类型:A
IPv4 地址:199.36.153.8199.36.153.9199.36.153.10199.36.153.11
*.pkg.dev pkg.dev. DNS 名称:*.pkg.dev.
资源记录类型:CNAME
规范名称:pkg.dev.
资源记录类型:A
IPv4 地址:199.36.153.8199.36.153.9199.36.153.10199.36.153.11
*.gcr.io gcr.io. DNS 名称:*.gcr.io.
资源记录类型:CNAME
规范名称:gcr.io.
资源记录类型:A
IPv4 地址:199.36.153.8199.36.153.9199.36.153.10199.36.153.11

如需创建 DNS 规则,请执行以下操作:

  1. 创建一个新的 DNS 区域并使用 DNS 名称作为 DNS 名称 资源。

    示例:pkg.dev.

  2. CNAME 记录添加记录集

    示例:

    • DNS 名称:*.pkg.dev.
    • 资源记录类型:CNAME
    • 规范名称:pkg.dev.
  3. A 记录添加一个记录集

    示例:

    • 资源记录类型:A
    • IPv4 地址:199.36.153.8199.36.153.9199.36.153.10199.36.153.11

如需了解详情,请参阅设置与 Google API 和服务的专用连接

(可选)配置防火墙规则

仅当您的项目具有非默认防火墙规则(例如覆盖隐含防火墙规则或修改默认网络中的预先填充的规则)时,才应执行此步骤。

例如,如果存在以下情况,Cloud Composer 可能无法创建环境: 您有一条拒绝所有出站流量的防火墙规则。为避免出现问题 定义遵循列表且具有更高优先级的选择性 allow 规则 全局规则deny

将您的 VPC 网络配置为允许来自您环境的流量:

  • 请参阅使用防火墙规则,了解如何检查、添加和更新 VPC 网络的规则。
  • 使用连接性工具验证 IP 网段之间的连接性。
  • 您可以使用网络标记进一步 限制访问。您可以在创建环境时设置这些标记。
说明 方向 操作 来源或目的地 协议 端口
DNS 出站 允许 任何目标 (0.0.0.0/0) 或 DNS 服务器 IP 地址 TCP、UDP 53
Google API 和服务 出站 允许 您为 Google API 和服务选择的网域的 IP 地址范围。如果您使用默认网域,请参阅默认网域的 IP 地址 TCP 443
环境的集群节点 出站 允许 环境的子网主要 IP 地址范围 TCP、UDP 全部
环境的集群 Pod 出站 允许 环境子网中 Pod 的次要 IP 地址范围 TCP、UDP 全部
环境的集群控制平面 出站 允许 GKE 控制平面 IP 地址范围 TCP、UDP 全部
Web 服务器 出站 允许 Web 服务器网络 IP 范围 TCP 3306、3307

如需获取 IP 地址范围,请执行以下操作:

  • Pod、Service 和控制平面地址范围 环境集群的集群页面上:

    1. 在 Google Cloud 控制台中,前往环境页面。

      转到“环境”

    2. 在环境列表中,点击您的环境名称。环境详情页面会打开。

    3. 转到环境配置标签页。

    4. 点击查看集群详情链接。

  • 您可以在环境配置标签页上查看环境的 Web 服务器 IP 地址范围。

  • 您可以查看环境的 环境配置标签页上的网络 ID。如需获取子网的 IP 地址范围,请前往 VPC 网络页面,然后点击网络名称以查看详细信息:

    前往“VPC 网络”页面

VPC 原生集群配置

Cloud Composer 支持在您的环境中使用 VPC 原生 GKE 集群。

创建环境期间,您可以启用 VPC 原生(使用别名 IP)功能并配置网络(例如 IP 分配),而不启用专用 IP。

由于 Airflow 任务需要使用 VPC 原生集群来与可通过专用 IP 访问的其他虚拟机通信,因此您还必须启用 VPC 原生功能来配置专用 IP 环境。

配置代理服务器设置

您可以设置 HTTP_PROXYHTTPS_PROXY 环境变量 环境Web 客户端会使用以下标准 Linux 变量: 这些容器在环境集群的容器内运行,用于将流量通过 指定的代理。

默认情况下,NO_PROXY 变量会设置为 Google 网域列表,以便将这些网域从代理中排除:.google.com,.googleapis.com,metadata.google.internal。通过此配置,当代理未配置为处理 Google 服务的流量时,您可以创建设置了 HTTP_PROXYHTTPS_PROXY 环境变量的环境。