1

我對Google Cloud非常陌生,一般運行應用程序。我目前在Google Flexible App Engine上的Docker容器中運行了一個Django應用程序,該應用程序連接到同一項目中的Google Cloud SQL(PostgreSQL)實例。最新版本已經運行了大約3天,現在沒有問題。連接拒絕通過代理或App Engine運行Google Cloud SQL實例

問題:

今天,我開始收到OperationalError: server closed the connection unexpectedly錯誤從應用程序反覆。 我可以運行在雲SQL代理和能正常開機(Ready for new connections),但如果我嘗試用psql連接,我收到錯誤:

psql: server closed the connection unexpectedly 
This probably means the server terminated abnormally 
before or while processing the request. 

和代理報告:

couldn't connect to "<instance_name>:us-central1:<instance_name>": 
dial tcp <ip address>:3307: connect: connection refused 

在ssh方式連接到我運行Flex應用程序實例,並運行sudo docker logs <cloud proxy container>,最後線,同樣:

couldn't connect to "<instance_name>:us-central1:<instance_name>": 
dial tcp <ip address>:3307: getsockopt: connection refused 

事情我已經試過/經過

  • 重新啓動的雲sql實例。實例本身運行良好,我可以從控制檯使用雲殼訪問它。
  • 選中的數據庫實例名稱和IP地址 - 它們匹配。
  • 重新啓動flex應用程序引擎實例。據我所知,沒有改變。
  • 將本地副本cloud_sql_proxy升級到1.09。
  • 檢查配額 - 我似乎沒有達到任何API或同時連接限制。
  • 我能通過authorizing我的本地IP地址連接到sql實例。
  • 我可以使用代理在本地連接到不同的(但非常相似)Google雲SQL實例,因此我不確定代理是否有問題。

任何幫助都將不勝感激,在這一點上,我沒有想法。謝謝!

回答

0

我首先重新啓動了Cloud SQL實例。這沒有幫助。然後,我只需簡單地點擊SQL的「停止」實例,一旦點擊「開始」,現在它可以工作。這是非常隨機的和煩人的。

就我而言,我已經在當天早些時候升級了SQL實例的機器類型,似乎這樣做,Google Cloud只是「重新啓動」實例,因爲需要的是「停止」,然後「開始」。這只是一個猜測。

tl; dr停止然後啓動雲端SQL實例。不要重新啓動爲「重新啓動」!=「停止+啓動」

希望它可以幫助別人面對這個隨機問題。

0

我們最終通過回滾到早期的備份來解決問題。 Google支持人員指出:「問題始於雲端SQL實例的維護時段,因此可能導致連接中斷」。

相關問題