为 Vercel 服务添加 Google Cloud Platform 防火墙规则

为 Vercel 服务添加 Google Cloud Platform 防火墙规则

我目前在 Google Cloud Platform VM 上托管我的数据库,并且连接到它的无服务器 API 托管在 Vercel 上。

我已经设法允许我的 IP 进入 GCP 防火墙,但在允许通过 API 连接到数据库方面遇到了困难。

GCP 防火墙不接受任何非 IP 值,所以我不能简单地添加我的主机名。

我拥有 API 使用的域名,但 IP 显然由 Vercel 控制。我尝试 ping 我的域名以找出 Vercel 的 IP ( 76.76.21.21),并将其作为IP 范围 76.76.21.21/32,但我的 API 在尝试连接时仍然超时。

我已经允许来自 Postgres 的所有连接,因此我知道不可能是那样。

关于如何允许我的 API 通过防火墙,您有什么想法吗?

答案1

我建议您启用 VPC 和防火墙日志记录几个小时,以便确认来自 Vercel API 的 IP,然后您可以将其列入白名单,但是我发现由于平台的动态特性,Vercel 部署使用动态 IP 地址,因此,IP 将一直变化。

您必须在 GCP 防火墙规则 0.0.0.0/0 中允许通过 TCP/UDP 端口的开放范围来查阅 GCP 中的数据库,并且为了正确保护数据库,他们建议使用随机生成的密码,存储为环境变量,长度至少为 32 个字符,并定期轮换此密码。

请查看以下链接以获取更多参考。

[1]。https://vercel.com/knowledge/how-to-allowlist-deployment-ip-address [2]。https://cloud.google.com/vpc/docs/using-flow-logs#console [3]。https://cloud.google.com/vpc/docs/using-firewall-rules-logging#gcloud

相关内容