公用網路連線

本頁說明 Integration Connectors 如何連線至可公開存取的後端應用程式。

以下是連線至公開後端應用程式的兩種方式:

  • 直接連線至公開後端應用程式。
  • 透過防火牆連線至公開後端應用程式。

直接連線至公開後端應用程式

如果可以公開連線至後端應用程式,您可以在 Hostname 欄位中指定端點,將連線設為使用公開端點。連結可直接存取後端應用程式。

透過防火牆連線至公開後端應用程式

如要使用防火牆限制公開端點的存取權,您可以設定 Integration Connectors,針對連線產生的流量使用一組靜態 IP 位址。設定完成後,連線的所有通話都會來自一組靜態 IP 位址,您可以在防火牆中將這些位址加入許可清單。如要允許連線透過防火牆連線,請完成下列高階步驟:

  1. 建立防火牆,並透過防火牆傳送輸出流量。
  2. 為連線指派靜態 IP 位址。
  3. 在防火牆中將指派的靜態 IP 位址加入許可清單。

本頁面不提供建立及設定防火牆的步驟。本頁面僅說明如何為連線指派靜態 IP 位址。

根據預設,Integration Connectors 會自動分配 IP 位址。不過,您可以設定 Integration Connectors,產生靜態 IP 位址,而非自動 IP 位址。Integration Connectors 會在區域層級指派靜態 IP 位址。舉例來說,us-east1區域的靜態 IP 位址與 us-west2 區域的靜態 IP 位址不同。

如要為連線指派靜態 IP 位址,請按照下列步驟操作:

  1. 取得要分配靜態 IP 位址的連線區域。 您可以在「連線」頁面的 Location 欄中查看連線區域。

    前往「Connections」(連線) 頁面

  2. 在 Google Cloud 控制台中啟用 Cloud Shell。

    啟用 Cloud Shell

    Google Cloud 主控台底部會開啟一個 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已針對您目前的專案設定好相關值。工作階段可能要幾秒鐘的時間才能初始化。

  3. 設定 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

  4. 在防火牆規則中,將靜態 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,或反向變更時,停機時間預計會以秒為單位。