我試圖從另一個項目上的App Engine應用程序訪問存儲在一個Cloud Platform項目中的Google Cloud SQL實例,但它不工作。儘管設置了IAM權限,但無法訪問來自不同GCP項目的Google Cloud SQL實例
連接到SQL實例失敗,此錯誤: OperationalError: (2013, "Lost connection to MySQL server at 'reading initial communication packet', system error: 38")
我跟谷歌的文檔中的說明,並且增加了App Engine服務帳戶的第二個項目的IAM權限列表中的項目住房的Cloud SQL實例(以「Cloud SQL Editor」爲角色)。我在我的應用程序中使用的連接詳細信息和配置與在與Cloud SQL實例位於同一項目中的功能完美的App Engine應用程序中使用的連接詳細信息和配置完全相同。
,似乎離我的配置的唯一的事情是,在我的第二個GCP項目,雖然看起來像一個默認([MY-PROJECT-NAME]@appspot.gserviceaccount.com
)的App Engine服務帳戶出現在IAM權限列表,這個服務帳戶不列在IAM &管理員的服務帳戶選項卡下。列出的唯一服務帳戶是Compute Engine default service account
。我沒有刪除任何服務帳戶;此處列出的App Engine默認服務帳戶從未有過,但除了MySQL連接,App Engine應用程序運行良好。
不確定它是否相關,但我在App Engine標準環境中運行Python 2.7應用程序,使用MySQLdb連接。