专用 IP 环境

Cloud Composer 1 | Cloud Composer 2

本页面介绍了专用 IP Cloud Composer 环境。

对于专用 IP 环境,Cloud Composer 仅会为您的环境中的代管式 Google Kubernetes Engine 和 Cloud SQL 虚拟机分配专用 IP (RFC 1918) 地址,从而导致无法通过公共互联网对这些代管式虚拟机进行入站访问。您也可以选择使用以不公开方式使用的公共 IP 地址

默认情况下,在专用 IP 环境中,Cloud Composer 工作流没有出站互联网访问权限。对 Google Cloud API 和服务的访问不受 Google 专用网络路由的影响。

VPC 原生 GKE 集群

当您创建环境时,Cloud Composer 会在 Google 管理的租户项目和您的客户项目之间分配环境的资源

对于专用 IP 环境,Cloud Composer 会在客户项目中针对您的环境创建一个 VPC 原生 GKE 集群。

VPC 原生集群使用 VPC 网络内置的别名 IP 路由机制,进而让 VPC 能够管理 pod 路由。当您使用 VPC 原生集群时,GKE 会自动选择次要范围。如有特定的网络要求,您还可以在创建环境期间为 GKE pod 和 GKE 服务配置次要范围

专用 IP Cloud Composer 环境

您可以在创建环境时选择专用 IP 环境。使用专用 IP 意味着环境中的 GKE 和 Cloud SQL 虚拟机不会被分配公共 IP 地址,并且只能通过 Google 的内部网络进行通信。

当您创建专用 IP 环境时,该环境的 GKE 集群会配置为专用集群,并且 Cloud SQL 实例会配置专用 IP。此外,Cloud Composer 还会在客户项目的 VPC 网络与租户项目的 VPC 网络之间建立对等互连连接。

为您的环境启用 VPC 对等互连和专用 IP 后,环境的 GKE 集群与 Cloud SQL 数据库之间的 IP 流量将通过 VPC 对等互连连接进行私密传输,因而您的工作流将与公共互联网彼此隔离。

这一层额外的安全保护会影响您连接这些资源的方式以及环境访问外部资源的方式。使用专用 IP 不会影响您通过公共 IP 访问 Cloud Storage 或 Airflow Web 服务器的方式。

GKE 集群

使用专用 GKE 集群可以控制对集群控制平面的访问权限(集群节点没有公共 IP 地址)。

创建专用 IP Cloud Composer 环境时,您需要指定是否对主控制平面进行公开访问,并指定控制平面的 IP 地址范围。控制平面 IP 地址范围不得与 VPC 网络中的任何子网重叠。

选项 说明
停用公共端点访问权限 如需连接到集群,您必须从一个与专用 IP 环境位于相同区域和相同 VPC 网络中的虚拟机进行连接。您要从中进行连接的虚拟机实例需要具备以下访问权限范围授予对所有 Cloud API 的完整访问权限
您可以从该虚拟机使用 gcloud composer environments run 命令运行 Airflow 命令。
启用公共端点访问权限和主要授权网络 在此配置中,集群节点通过 Google 的专用网络与控制平面进行通信。节点可以访问您的环境和已获授权的网络中的资源。您可以在 GKE 中添加已获授权的网络
在已获授权的网络上,您可以运行 kubectl 命令和 gcloud composer environments run 命令。

Cloud SQL

由于 Cloud SQL 实例不具有公共 IP 地址,因此专用 IP 环境中的 Cloud SQL 流量不会向公共互联网公开。

Cloud Composer 会将 Cloud SQL 配置为接受通过专用服务访问通道传入的连接。您可以使用 VPC 网络的专用 IP 地址访问该网络中的 Cloud SQL 实例。

为工作流开放公共互联网访问权限

操作器和操作可能无法在需要的情况下访问未经授权的网络或公共互联网中的资源。例如,Dataflow Python 操作需要通过公共互联网连接从 pip 下载 Apache Beam。

要在没有外部 IP 地址和专用 GKE 集群的情况下允许虚拟机连接到互联网,需要使用 Cloud NAT

如需使用 Cloud NAT,请使用 Cloud Router 路由器为您的专用 IP Cloud Composer 环境所在的 VPC 网络和区域创建 NAT 配置

后续步骤