Google-App-Engine

如何使用內部 IP 將 Google App Engine 中的應用程序連接到 Cloud SQL 中的 MySQL

  • September 29, 2019

1 - 在 Google Cloud SQL 上有一個 MySQL 實例,內部 IP 為 10.22.etc(無外部/公共 IP) 2 - 將 Java Web 應用部署到 Google App Engine,內部 IP 為 10.140.etc(無外部/公共 IP)

如何在同一網路上獲得 1 和 2,或者至少能夠使用從我的 Java Web 應用程序到我的 MySQL 的 JDBC 連接,而不使用公共 IP。

在控制台、eclipse 外掛或有關如何執行此操作的文件中看不到任何地方。Google Cloud 真的讓每個人都使用公共 IP 從 App Engine 標準連接到 Google Cloud SQL 嗎?如果是這樣,這是因為兩者都是完全託管的 PaaS 嗎?

如果您使用應用引擎柔性環境,它會託管在您的私有網路中的一個實例上,讓您可以訪問內部 IP。

我假設您在標準環境中。這是一個不錯的連結,我發現它可以告訴您兩者之間的區別-> https://cloud.google.com/appengine/docs/flexible/java/migrating

要切換,您需要確保將 env 設置為 flexapp.yaml文件。

runtime: java
env: flex

轉到App Engine文件中的Cloud SQL MySQL Connecting並按照說明(包括連結)中的說明進行操作。

然後,您可以通過 Beta 發布階段的一項功能(即無伺服器 VPC 訪問)來實現您想要的。

注意:這些說明要求您的 Cloud SQL 實例使用可公開訪問的 IP 地址。如果要使用私有 IP 地址,請參閱配置無伺服器 VPC 訪問

引用自:https://serverfault.com/questions/985982