我有一个带有应用程序和Cloud SQL实例的Google Cloud项目。来自应用的 SQL 请求超时。已启用专用 IP 连接。如果我将应用实例的 IP 显式添加到 SQL 实例的公共授权网络,它就可以工作。这显然是一个糟糕的解决方案,因为这些 IP 在每次部署时都会更改。如何永久授予对应用的访问权限?
私有 IP 只能由同一虚拟私有云 (VPC) 上的其他服务访问。App Engine 应用目前无法访问 VPC 网络。
编辑:App Engine 最近发布了无服务器 VPC 访问,这意味着现在可以配置为通过私有 IP 进行连接。
App Engine Standard 确实提供了一个 unix 域套接字来与 Cloud SQL 实例进行交互。只需告诉您的应用在 /cloudsql/<INSTANCE_CONNECTION_NAME>;
处使用 socket(带有实例的连接名称),它应该能够连接。如果您使用的是跨产品或跨区域设置,此处提供了更多说明。