You need to enable JavaScript to run this app. GCP同项目VPC Service Controls下Cloud Composer与Cloud Functions的防火墙、DNS配置问题
优惠活动
大模型
产品
解决方案
定价
更多

GCP同项目VPC Service Controls下Cloud Composer与Cloud Functions的防火墙、DNS配置问题

同GCP项目下Cloud Composer与Cloud Functions叠加VPC Service Controls后服务异常排查指引

核心问题根源定位

  • 私有DNS路由冲突:为Cloud Functions配置私有DNS时,若误解绑、覆盖原有为Cloud Composer创建的googleapis.com私有托管区,会导致Composer核心组件(web服务器、SQL客户端、监控上报模块)无法解析GCP内部API端点,触发健康检查失败
  • 常见场景:单独为Functions新建独立的googleapis.com私有区域,未同步包含Composer依赖的sql-component.googleapis.com、monitoring.googleapis.com、composer.googleapis.com细分解析记录
  • 防火墙规则配置覆盖:为Cloud Functions配置Serverless VPC访问对应的防火墙规则时,若误修改原有Composer节点的网络访问权限,会切断Composer节点到Cloud SQL实例、集群内部组件的连通性
  • 常见场景:将原有允许Composer节点网段访问Cloud SQL 3306端口的规则,替换为仅允许Functions服务网段访问的规则
  • VPC Service Controls边界权限错位:配置第二个服务的VPC SC规则时,若将原有已加入边界的Composer相关资源、服务身份移出访问范围,会触发SC策略的访问拦截,导致Composer组件的跨服务调用被阻断
  • 镜像版本兼容问题:当前使用的composer-1.16.3-airflow-1.10.15版本存在已知适配缺陷,Airflow内置组件默认通过公网出口访问Cloud Functions端点,未适配私有DNS解析逻辑,会在叠加SC规则时被拦截,进而判定整体环境不健康

两项服务共存的标准化配置流程

  • 统一规划私有DNS配置
  • 集中托管所有依赖的私有解析记录,不拆分独立DNS区域:将googleapis.com、cloudfunctions.net、pkg.dev、gcr.io四类域名的解析记录全部纳入绑定VPC的私有托管区,同时补齐Composer依赖的Cloud SQL、监控、日志、Composer API的细分解析条目,避免域名路由优先级冲突
  • 确认私有DNS区域的绑定范围覆盖Composer私有IP所在的整个VPC网段,不做网段级的拆分绑定
  • 分层叠加防火墙规则
  • 保留原有Composer网络规则:保留Composer节点到Cloud SQL 3306端口的出站规则、Composer Web Server 8080端口的入站规则、节点到GCP私有API地址段的出站规则,不做源地址、目标地址、端口范围的修改
  • 新增Functions专属规则:单独添加允许Serverless VPC Access Connector网段到VPC内资源的访问规则,不覆盖原有Composer规则的配置条目
  • 统一配置VPC Service Controls服务边界
  • 将项目内所有受保护资源统一纳入同一个SC服务边界:包括Cloud Composer环境、关联Cloud SQL实例、核心Cloud Storage桶、所有Cloud Functions服务、Artifact Registry仓库、底层GKE集群
  • 配置统一的出入站权限,允许本项目内所有服务身份的互访,不为单个服务配置独立的高优先级拒绝规则
  • 版本适配调整
  • 针对composer-1.16.3-airflow-1.10.15镜像版本,在Airflow配置中强制指定Cloud Functions的内部私有端点作为默认调用地址,避免组件走公网出口触发SC拦截

内容的提问来源于stack exchange,提问作者elaspog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.22 14:45:00