程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在同一项目中使用 Cloud Composer 和 Cloud Functions 时,如何使用 VPC Service Controls 在 GCP 上配置防火墙规则和 DNS 设置?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在同一项目中使用 Cloud Composer 和 Cloud Functions 时,如何使用 VPC service Controls 在 GCP 上配置防火墙规则和 DNS 设置??

开发过程中遇到在同一项目中使用 Cloud Composer 和 Cloud Functions 时,如何使用 VPC service Controls 在 GCP 上配置防火墙规则和 DNS 设置?的问题如何解决?下面主要结合日常开发的经验,给出你关于在同一项目中使用 Cloud Composer 和 Cloud Functions 时,如何使用 VPC service Controls 在 GCP 上配置防火墙规则和 DNS 设置?的解决方法建议,希望对你解决在同一项目中使用 Cloud Composer 和 Cloud Functions 时,如何使用 VPC service Controls 在 GCP 上配置防火墙规则和 DNS 设置?有所启发或帮助;

我们在为单个项目配置 VPC service Controls 下的两个 GCP 组件(GCP Cloud Composer、GCP Functions)时遇到问题。我们可以使用 VPC service Controls 单独配置它们,但是一旦我们添加第二个组件,我们就会遇到麻烦。

一旦我们为 Cloud Function 配置了防火墙规则和 DNS 设置,Composer 就会开始失败。 Composer 监控工具(用于网络服务器、sql 服务器等)显示 Composer 不健康。

我们做错了什么?

我们使用过的文档:
https://cloud.google.com/functions/docs/securing/using-vpc-service-controls
https://cloud.google.com/composer/docs/configuring-vpc-sc

对于 Composer,我们使用以下设置:

  • 3 个节点
  • 标准机器类型
  • 镜像版本:composer-1.16.3-airflow-1.10.15
  • python: v3
  • 私有 IP 编辑器

我们为 VPC service Controls 启用的 API:

  • Google Cloud Dataproc API
  • 云函数 API
  • Google Cloud Pub/Sub API
  • Cloud sql API
  • Google 云存储 API
  • Google 计算引擎 API
  • Google Kubernetes 引擎 API
  • Google Container Registry API
  • 云监控 API
  • Cloud Composer API
  • Artifact Registry API

防火墙设置(基于文档):

姓名 类型 目标 过滤器 协议/端口 动作 优先级
composer-egress-gke-cluster-all-port 出口 适用于所有人 IP 范围:10.10.0.0/16 tcp、udp 允许 1000
composer-egress-healthcheck 出口 适用于所有人 IP 范围:130.211.0.0/22、35.191.0.0/16 tcp:80,443 允许 1000
composer-egress-port53 出口 适用于所有人 IP 范围:0.0.0.0/0 tcp:53,udp:53 允许 1000
composer-egress-webserver 出口 适用于所有人 IP 范围:172.31.251.0/24 tcp:3306,3307 允许 1000
reStricted-Google-APIs 出口 适用于所有人 IP 范围:199.36.153.4/30 tcp:443 允许 1000
作曲家拒绝所有 出口 适用于所有人 IP 范围:0.0.0.0/0 全部 拒绝 2000
composer-ingress-Helthcheck 入口 适用于所有人 IP 范围:130.211.0.0/22、35.191.0.0/16 tcp:80,443 允许 1000
入口-iap 入口 适用于所有人 IP 范围:35.235.240.0/20 tcp 允许 1000
gke-europe-West1-composer-dns-xxx-xxx-all 入口 gke-europe-West1-composer-dns-xxx-xxx-node IP 范围:10.124.0.0/14 tcp;udp;esp;ah;sctp;icmp 允许 1000
gke-europe-West1-composer-dns-xxx-xxx-master 入口 gke-europe-West1-composer-dns-xxx-xxx-node IP 范围:172.16.8.0/28 tcp:10250,443 允许 1000
gke-europe-West1-composer-dns-xxx-xxx-vms 入口 gke-europe-West1-composer-dns-xxx-xxx-node IP 范围:10.10.0.0/16 tcp:1-65535;udp:1-65535;icmp 允许 1000

DNS 设置(基于文档):

DNS 名称:GoogleAPIs.com。 类型:私人

DNS 名称 类型 TTl(秒) 数据
*.GoogleAPIs.com. Cname 300 reStricted.GoogleAPIs.com。
GoogleAPIs.com。 SOA 21600 ns-gcp-private.Googledomains.com。云-dns-hostmaster.Google.com。 1 21600 3600 259200 300
GoogleAPIs.com。 NS 21600 ns-gcp-private.Googledomains.com。

DNS 名称:cloudfunctions.net。 类型:私人

DNS 名称 类型 TTl(秒) 数据
*.cloudfunctions.net. A 300 199.36.153.4,199.36.153.5,199.36.153.6,199.36.153.7
cloudfunctions.net NS 21600 ns-gcp-private.Googledomains.com。云-dns-hostmaster.Google.com。 1 21600 3600 259200 300
cloudfunctions.net. SOA 21600 ns-gcp-private.Googledomains.com。

DNS 名称:pkg.dev。 类型:私人

DNS 名称 类型 TTl(秒) 数据
*.pkg.dev. Cname 300 pkg.dev.
pkg.dev. SOA 21600 ns-gcp-private.Googledomains.com。云-dns-hostmaster.Google.com。 1 21600 3600 259200 300
pkg.dev. NS 21600 ns-gcp-private.Googledomains.com。
pkg.dev. A 300 199.36.153.4,199.36.153.7

DNS 名称:gcr.io。 类型:私人

DNS 名称 类型 TTl(秒) 数据
*.gcr.io. Cname 300 gcr.io.
gcr.io. SOA 21600 ns-gcp-private.Googledomains.com。云-dns-hostmaster.Google.com。 1 21600 3600 259200 300
gcr.io. NS 21600 ns-gcp-private.Googledomains.com。
gcr.io. A 300 199.36.153.4,199.36.153.7

感谢您提供任何想法或帮助。

解决方法

@H_618_470@

与此同时,我们已经找到了问题所在:

  • 最大的问题是 A 中缺少包含 IP 地址的 googleapis.com. 类型的 DNS 记录。
  • 第二个问题是来自 Cloud Function 的 VPC SC 设置文档的防火墙规则阻止了以下之间的通信:
    • 子网中 Composer 的节点
    • 在 Worker 节点和 Master 节点(为 Composer 创建的 Kubernetes 集群)之间,该节点在不同的项目中自动创建并通过网络对等连接到 Composer 工人的子网

当这两个服务中的两个应该一起使用时,这两个文档显然没有涵盖这种特殊情况。解决上述问题后,它已开始工作。

我们仍然遇到的问题:

  • 这种问题很难调试,因为 Composer 的监控 UI 似乎以不一致的方式显示信息
  • 在子网上启用 StackDriver 日志后很难使用它进行调试,因为它的信息太多,而且它们记录在“信息”级别,而不是“警告”或“错误”级别

大佬总结

以上是大佬教程为你收集整理的在同一项目中使用 Cloud Composer 和 Cloud Functions 时,如何使用 VPC Service Controls 在 GCP 上配置防火墙规则和 DNS 设置?全部内容,希望文章能够帮你解决在同一项目中使用 Cloud Composer 和 Cloud Functions 时,如何使用 VPC Service Controls 在 GCP 上配置防火墙规则和 DNS 设置?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。