使用外联连接功能 Code Engine
IBM Cloud® Code Engine 出站连接功能支持通过CIDR表示法为出站连接指定允许的目的地IP地址范围,从而为您的 Code Engine 项目定义可到达的终端。 允许的目的地确保出站流量仅限于您定义的安全地址。 因此,您可以阻止对互联网的非法访问,并提高合规性和安全性。
CIDR 范围规范不会影响项目内部通信、专用路径连接或专用服务连接,所有这些都是始终允许的目的地。 因此,根据 CIDR 范围限制出站流量并不能阻止 Code Engine 项目中的应用程序相互通信,或与连接的私有路径服务或 IBM Cloud 服务 API 的私有端点通信。 {: note} CIDR 范围规范不会影响项目内部通信、专用路径连接或专用服务连接,所有这些都是始终允许的目的地。 因此,根据 CIDR 范围限制出站流量并不能阻止 Code Engine 项目中的应用程序相互通信,或与连接的私有路径服务或 IBM Cloud 服务 API 的私有端点通信。
您的使用案例将决定您的出站连接规格。 典型的用例如下所示:
-
如果项目中的 Code Engine 应用程序不应该到达任何外部终端,则说明没有规则(即没有允许的IP地址)。
-
指定一个允许的目的地IP地址范围(
0.0.0.0/0
),以允许所有可能的终端。 默认情况下,有一个名为 “允许所有”的规则,其IP范围设置为 0.0.0.0/0。 -
指定规则,允许的IP地址范围,允许您的 Code Engine 项目中的工作负载仅到达您指定的端点范围(例如,您的本地数据中心)。
您可以使用控制台或 CLI 创建出站连接。
私人服务连接
作为所有 Code Engine 项目允许出站目的地的一部分,连接到一组通用 IBM Cloud 平台服务的专用端点已启用。 启用的平台服务因地区而异,详见下表。
平台服务 | 在各地区提供私人终端 |
---|---|
全局搜索 (端点 URL ) 和全局标记 (端点 URL ) | au-syd , br-sao , ca-tor , eu-de , eu-es , eu-gb , jp-osa , jp-tok , us-east , us-south |
全球目录 (端点 URL ) | au-syd , br-sao , eu-de , jp-osa , us-east , us-south |
客户管理(端点 URL (https://private.accounts.cloud.ibm.com) ) |
eu-de , us-east , us-south |
用量计量 (终端 URL ) | eu-de , us-east , us-south |
企业管理 (端点 URL ) | eu-de , us-east , us-south |
资源控制器 (端点 URL ) | eu-de , us-east , us-south |
用户管理 (终端 URL ) | eu-de , us-east , us-south |
使用控制台管理允许的目的地IP地址范围
添加允许的出站连接目标IP地址范围
您可以创建允许的目的地IP地址范围,以限制您的工作负载可通过外部网络连接的位置。
- 转到连接页面:
- 在 Code Engine 控制面板的项目页面中选择您的项目。
- 点击“项目设置”>“连接”,查看现有允许的目的地IP地址范围列表。
- 点击 “添加” 创建允许的目的地IP地址范围。
- 提供名称。
- 以 CIDR 符号提供 IP 地址范围。
- 确认您的配置。
更新允许的出站连接目的地IP地址范围
您可以更改允许的目的地IP地址范围,以禁止您的工作负载连接到非预期的终端(例如,连接到公共互联网)。
- 转到连接页面:
- 在 Code Engine 控制面板的项目页面中选择您的项目。
- 点击“项目设置”>“连接”,查看现有允许的目的地IP地址范围列表。
- 点击您要编辑的允许的目的地IP地址范围所在行。
- 请提供更新的IP地址范围并保存您的更改。
当您更新出站连接规则时,请注意:
-
允许的目的地IP地址范围不冲突,可以叠加。 当您定义多个范围时,允许的目的地会创建所有指定范围的并集,因此添加范围的顺序不会影响最终允许的目的地。 如果添加的第二个范围已经包含在现有范围内,系统会拒绝创建,因为这是多余的。
-
指定IP地址范围
0.0.0.0/0
将删除所有现有规则并开启完全连接。 -
在您限制了出站连接规则后,您的工作负载可能需要一些时间来适应这些规则。 例如,如果您在更新出站连接规则之前,代码中使用的 HTTP 客户端建立了连接,则该客户端可能会打开与该端点的连接。 为确保您的出站连接规则立即生效,请重置所有连接。 您可以通过重新部署工作负载或在代码中处理此类情况来重置。
-
在限制了 Code Engine 项目的出站连接后,您会看到一些意想不到的副作用,例如构建运行失败,因为无法进行任何外部请求。
删除允许的出站连接目标IP地址范围
如果您不再需要为出站连接定义之前定义的允许目标IP地址范围,可以将其删除。
删除允许的目标IP地址范围,将阻止项目中的 Code Engine 应用程序、功能和作业的出站流量。
- 转到连接页面:
- 在 Code Engine 控制面板的项目页面中选择您的项目。
- 点击“项目设置”>“连接”,查看现有允许的目的地IP地址范围列表。
- 找到您要删除的允许的目的地IP地址范围,点击删除(垃圾桶)图标。
- 出现提示时,确认删除。
使用CLI管理允许的目的地IP地址范围
要使用CLI命令允许目标IP地址范围,请登录您的 IBM Cloud 账户,并 选择 Code Engine 账户和资源组。
对于 Code Engine 连接CLI命令,您可以指定 --cidr-name
和 --cidr
的值 请遵循以下CIDR指南:
- 请勿使用 保留IP地址范围内的 IP地址。
- 请勿重复使用
--cidr-name
和--cidr
。 - 请勿使用不支持的CIDR名称。
- 不要使用不支持的 IP 地址范围。 遵循CIDR表示法。
添加允许的出站连接目标IP地址范围
您可以创建允许的目的地IP地址范围,以限制您的工作负载可通过外部网络连接的位置。
-
选择 Code Engine 项目。 例如:
ibmcloud ce project select --name myproject
-
通过指定
--cidr-name
和--cidr
选项,创建允许的目的地IP地址范围。 请提供有效的姓名和IP地址。 参考以下例子:ibmcloud ce connectivity outbound create --cidr-name mycidr1 --cidr 192.68.5.0/24 ibmcloud ce connectivity outbound create --cidr-name mycidr2-allow-all --cidr 0.0.0.0/0 ibmcloud ce connectivity outbound create --cidr-name mycidr2-allow-all --cidr 0.0.0.0/0 --force
显示允许的出站连接目标IP地址范围
要显示特定的允许目标IP地址范围,请指定CIDR名称。 例如:
ibmcloud ce connectivity outbound get --cidr-name mycidr
要显示所有允许的目的地IP地址范围,请运行:
ibmcloud ce connectivity outbound list
更新允许的出站连接目的地IP地址范围
您可以更改允许的目的地IP地址范围,以阻止您的工作负载连接到非预期的终端(例如连接到公共互联网)。
通过指定 --cidr-name
和 --cidr
选项,更新允许的目的地IP地址范围。 请提供有效的姓名和IP地址。 参考以下例子:
ibmcloud ce connectivity outbound update --cidr-name mycidr1 --cidr 192.68.5.0/24
ibmcloud ce connectivity outbound update --cidr-name mycidr2-allow-all --cidr 0.0.0.0/0
Are you sure you want to update an allowed destination IP address range with '0.0.0.0/0'?, It will remove all other entries [y/N]>
ibmcloud ce connectivity outbound update --cidr-name mycidr2-allow-all --cidr 0.0.0.0/0 --force
当您更新出站连接规则时,请注意:
-
允许的目的地IP地址范围不冲突,可以叠加。 当您定义多个范围时,允许的目的地会创建所有指定范围的并集,因此添加范围的顺序不会影响最终允许的目的地。 如果添加的第二个范围已经包含在现有范围内,系统会拒绝创建,因为这是多余的。
-
指定IP地址范围
0.0.0.0/0
将删除所有现有规则并开启完全连接。 -
即使您限制了出站连接规则,您的工作负载也需要一段时间才能适应这些规则。 例如,如果您在更新出站连接规则之前,代码中使用的 HTTP 客户端建立了连接,则该客户端可能会打开与该端点的连接。 为确保您的出站连接规则立即生效,请重置所有连接。 您可以通过重新部署工作负载或在代码中处理此类情况来重置。
-
在限制了 Code Engine 项目的出站连接后,您会看到一些意想不到的副作用,例如构建运行失败,因为无法进行任何外部请求。
删除允许的出站连接目标IP地址范围
如果您不再需要为出站连接定义之前定义的允许目标IP地址范围,可以将其删除。
删除允许的目标IP地址范围,将阻止项目中的 Code Engine 应用程序、功能和作业的出站流量。
要删除允许的目的地IP地址范围并确认,请指定CIDR名称。 例如:
ibmcloud ce connectivity outbound delete --cidr-name mycidr
要强制删除允许的目的地IP地址范围(即无需确认),请运行:
ibmcloud ce connectivity outbound delete --cidr-name mycidr --force