Google cloud platform GCP云函数通过私有IP连接到云sql
我遵循这个示例来建立从Cloud函数到Postgres Cloud SQL的连接: 当我使用公共IP创建一个测试云SQL实例并触发云函数时,它连接到云SQL实例并返回一些内容。出于安全原因,我不能让公共IP保持开启状态,因此当我在云SQL实例上选择私有IP时,我得到:Google cloud platform GCP云函数通过私有IP连接到云sql,google-cloud-platform,google-cloud-functions,google-cloud-sql,google-vpc,Google Cloud Platform,Google Cloud Functions,Google Cloud Sql,Google Vpc,我遵循这个示例来建立从Cloud函数到Postgres Cloud SQL的连接: 当我使用公共IP创建一个测试云SQL实例并触发云函数时,它连接到云SQL实例并返回一些内容。出于安全原因,我不能让公共IP保持开启状态,因此当我在云SQL实例上选择私有IP时,我得到: Error: function crashed. Details: could not connect to server: Connection refused Is the server running locally
Error: function crashed. Details:
could not connect to server: Connection refused
Is the server running locally and accepting
connections on Unix domain socket "/cloudsql/cloud-sql-test-250613:us-central1:myinstance-2/.s.PGSQL.5432"?
我无法从文档中得到云函数和云sql实例之间的契约是什么。如果我们使用的是unix域套接字,我应该关心IP吗?是公共的还是私人的重要吗?
如果这真的很重要,我是否需要经历所有建立私有IP基础设施的过程?我需要无服务器VPC吗?通过这样做,我成功地实现了云函数和云SQL私有实例之间的连接 如果你禁用公共IP,这似乎很重要,每当我禁用公共IP时,我总是得到ERR CONN拒绝,这似乎是你的情况,要让你的云SQL实例只使用私有IP,我认为你必须使用无服务器VPC 这就是我建议您尝试的: 确保您的所有基础设施都位于同一区域(云SQL、云功能、VPC连接器) 请采取以下步骤:
gcloud beta compute networks vpc-access connectors create [CONNECTOR_NAME] \
--network [VPC_NETWORK] \
--region [REGION] \
--range [IP_RANGE]
领域:
美国中部1、美国东部1、欧洲西部1
请让我知道这是否对你有效
更新:
你好,阿洛博兹克
尝试用Python实现云功能(确保前面的所有步骤都正常)
请尝试以下代码:
Cloud Function index.js(用您自己的凭据替换所有连接器数据)
云功能需求.txt
psycopg2==2.7.7
PyMySQL==0.9.3
mysql-connector-python
通过这样做,我成功地实现了云函数和云SQL私有实例之间的连接 如果你禁用公共IP,这似乎很重要,每当我禁用公共IP时,我总是得到ERR CONN拒绝,这似乎是你的情况,要让你的云SQL实例只使用私有IP,我认为你必须使用无服务器VPC 这就是我建议您尝试的: 确保您的所有基础设施都位于同一区域(云SQL、云功能、VPC连接器) 请采取以下步骤:
gcloud beta compute networks vpc-access connectors create [CONNECTOR_NAME] \
--network [VPC_NETWORK] \
--region [REGION] \
--range [IP_RANGE]
领域:
美国中部1、美国东部1、欧洲西部1
请让我知道这是否对你有效
更新:
你好,阿洛博兹克
尝试用Python实现云功能(确保前面的所有步骤都正常)
请尝试以下代码:
Cloud Function index.js(用您自己的凭据替换所有连接器数据)
云功能需求.txt
psycopg2==2.7.7
PyMySQL==0.9.3
mysql-connector-python
嗨,Stefan,我试着按照你建议的步骤去做,但是我仍然没有成功,我的连接被拒绝了。有太多的细节,也许我只是把单个设置搞错了。我说不出来。你好,阿洛博兹克,我已经更新了我的答案,请尝试一下并让我知道。嗨,斯蒂芬,我尝试按照你建议的步骤进行操作,但我仍然没有成功,我的连接被拒绝了。有太多的细节,也许我只是把单个设置搞错了。我不知道。你好,阿洛博兹克,我已经更新了我的答案,请尝试一下,让我知道。