公共网络连接
本页介绍了 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
区域分配了 4 个静态 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 地址时,请考虑以下几点: