公用網路連線
本頁面說明整合連接器如何連線至可公開存取的後端應用程式。
以下是連線至公開後端應用程式的兩種方式:
- 直接連線至公開後端應用程式。
- 透過防火牆連線至公開後端應用程式。
直接連線至公開後端應用程式
如果您可以公開連線至後端應用程式,您可以透過在 Hostname
欄位中指定端點,設定連線以使用公開端點。連線可直接存取後端應用程式。
透過防火牆連線至公開後端應用程式
如果您想透過防火牆限制存取公開端點的權限,可以設定 Integration Connectors,讓其使用一組靜態 IP 位址,用於來自連線的流量。設定完成後,連線的所有通話都會來自一組靜態 IP 位址,您可以在防火牆中將這組 IP 位址加入許可清單。如要允許連線透過防火牆連線,您必須執行下列高階步驟:
- 建立防火牆,並將輸出流量路由至防火牆。
- 為連線指派靜態 IP 位址。
- 在防火牆中將指派的靜態 IP 位址加入許可清單。
建立及設定防火牆的步驟不在本頁的討論範圍內。本頁面僅說明如何為連線指派靜態 IP 位址。
根據預設,整合連接器會自動分配 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 位址
如想隨時取得已指派給區域 (位置) 的靜態 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 位址時,請考量下列事項:
- 專案內的不同區域,其預留的靜態 IP 位址集合皆不同。
- 將區域的出口模式從
STATIC_IP
變更為AUTO_IP
時,系統不會保留原始的靜態 IP 位址組合,因此當您再次將出口模式從AUTO_IP
變更為STATIC_IP
時,系統會分配新的靜態 IP 位址組合。 - 將出口模式從
AUTO_IP
變更為STATIC_IP
(或反之) 時,您可能會遇到數秒的停機時間。