从App Engine Flexible连接到Cloud SQL时遇到的问题

问题描述 投票:1回答:1

我的ASP NET CORE服务作为App Engine Flexible在Google Cloud上运行。 PostgreSQL数据库也在SQL Cloud上运行。服务连接到数据库并获取数据。

如果我在本地主机上运行服务并从浏览器或Fidler测试api,则可以正常工作。当服务在云中运行但api响应是模拟的时,它也可以正常工作。但是,如果服务需要连接数据库,则会出现HTTP ERROR500。没有更多有关错误的其他信息。

也许某人知道为什么它像描述中那样工作?

连接字符串看起来像:

“” ConnectionString“:”服务器= 11.11.11.11;端口= 1111;数据库=名称数据库;;用户ID =用户;密码=通过; Keepalive = 1;“,

postgresql http google-cloud-platform cloud asp-net-core
1个回答
0
投票

为了避免将IP列入白名单,这是一项繁琐的工作,有两种方法可以从App Engine Flex进行连接,而您无需这样做。

一种方法是使用beta settings并连接到本地地址。如果仅连接到一个数据库,则这种方法很好为此,您需要将以下行添加到app.yaml

beta_settings:
  cloud_sql_instances: <INSTANCE_CONNECTION_NAME>=tcp:<PORT>

另一种方法是通过内部IP连接。为此,您需要将App Engine和CloudSQL放在同一区域。并将以下行添加到您的app.yaml

   network:
       name: projects/<HOST_PROJECT_ID>/global/networks/<NETWORK_NAME>

© www.soinside.com 2019 - 2024. All rights reserved.