公用網路連線
本頁說明 Integration Connectors 如何連線至可公開存取的後端應用程式。
以下是連線至公開後端應用程式的兩種方式:
- 直接連線至公開後端應用程式。
- 透過防火牆連線至公開後端應用程式。
直接連線至公開後端應用程式
如果您可以公開連線至後端應用程式,只要在 Hostname
欄位中指定端點,即可設定連線以使用公開端點。連結可直接存取後端應用程式。
透過防火牆連線至公開後端應用程式
如要使用防火牆限制公開端點的存取權,您可以將 Integration Connectors 設為使用一組靜態 IP 位址,處理來自連線的流量。設定完成後,連線的所有通話都會來自一組靜態 IP 位址,您可以在防火牆中將這些位址加入許可清單。如要允許連線通過防火牆,請完成下列高階步驟:
- 建立防火牆,並透過防火牆傳送輸出流量。
- 為連線指派靜態 IP 位址。
- 在防火牆中將指派的靜態 IP 位址加入許可清單。
本頁面不提供建立及設定防火牆的步驟。本頁面僅說明如何為連線指派靜態 IP 位址。
根據預設,Integration Connectors 會自動分配 IP 位址。不過,您可以設定 Integration Connectors,產生靜態 IP 位址,而非自動 IP 位址。Integration Connectors 會在區域層級指派靜態 IP 位址。舉例來說,us-east1
區域的靜態 IP 位址與 us-west2
區域的靜態 IP 位址不同。
如要為連線指派靜態 IP 位址,請按照下列步驟操作:
- 取得要分配靜態 IP 位址的連線區域。
您可以在「連線」頁面的
Location
欄中查看連線區域。 -
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
- 設定 Integration Connectors,為您在步驟 1 中取得的區域指派靜態 IP 位址。在 Cloud Shell 中執行下列指令:
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"networkConfig": {"egressMode": "static_ip"}}' \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/regionalSettings?updateMask="networkConfig"
將 LOCATION 設為您在步驟 1 中取得的區域。
執行這項指令後,會傳回類似下列內容的回應:
{ "name": "projects/test-01/locations/us-central1/operations/operation-1696840994443-6074494b6d138-8215226d-516faaf8", "metadata": { "@type": "type.googleapis.com/google.cloud.connectors.v1.OperationMetadata", "createTime": "2023-10-09T08:43:14.467058513Z", "target": "projects/test-01/locations/us-central1/regionalSettings", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
這項指令會傳回作業 ID,並啟動長時間執行作業 (LRO),可能需要一段時間才能完成。等待 LRO 完成。您可以使用下列指令追蹤作業進度:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
如果靜態 IP 位址分配成功,您會收到類似以下的回應:
... ... "response": { "@type": "type.googleapis.com/google.cloud.connectors.v1.RegionalSettings", "name": "projects/test-01/locations/us-central1/regionalSettings", "networkConfig": { "egressMode": "STATIC_IP", "egressIps": [ "35.193.227.203", "34.133.63.9", "35.223.253.58", "34.170.27.253" ] } }
在本範例回應中,系統為
us-central1
區域分配了四個靜態 IP 位址,且該區域的egressMode
設為STATIC_IP
。 - 在防火牆規則中,將靜態 IP 位址 (在步驟 4 中取得) 加入許可清單。
- 專案中不同區域的保留靜態 IP 位址集不同。
- 將區域的輸出模式從
STATIC_IP
變更為AUTO_IP
時,系統不會保留原始的靜態 IP 位址集,因此當您再次將輸出模式從AUTO_IP
變更為STATIC_IP
時,系統會分配一組新的靜態 IP 位址。 - 將輸出模式從
AUTO_IP
變更為STATIC_IP
,或反向變更時,停機時間預計會以秒為單位。
取得區域的靜態 IP 位址
如要隨時取得分配給區域 (位置) 的靜態 IP 位址,請執行下列指令:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/regionalSettings
執行這項指令會傳回類似以下的回應:
"response": { "@type": "type.googleapis.com/google.cloud.connectors.v1.RegionalSettings", "name": "projects/test-01/locations/us-central1/regionalSettings", "networkConfig": { "egressMode": "STATIC_IP", "egressIps": [ "35.193.227.203", "34.133.63.9", "35.223.253.58", "34.170.27.253" ] } }
為區域指派自動 IP 位址
如要移除區域的靜態 IP 位址設定,並自動指派 IP 位址,請在終端機中執行下列指令:
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"networkConfig": {"egressMode": "auto_ip"}}' \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/regionalSettings?updateMask="networkConfig"
與先前設定靜態 IP 位址的指令類似,這個指令也會傳回作業 ID,並啟動長時間執行作業 (LRO),可能需要一段時間才能完成。等待 LRO 完成。
注意事項
為區域分配靜態 IP 位址時,請考量下列幾點: