IBM Cloud Docs
使用外联连接功能 Code Engine

使用外联连接功能 Code Engine

IBM Cloud® Code Engine 出站连接功能支持通过CIDR表示法为出站连接指定允许的目的地IP地址范围,从而为您的 Code Engine 项目定义可到达的终端。 允许的目的地确保出站流量仅限于您定义的安全地址。 因此,您可以阻止对互联网的非法访问,并提高合规性和安全性。

出站连接规则不会影响内部群集通信:指定出站连接不会阻止 Code Engine 项目中的应用程序相互通信。

您的使用案例将决定您的出站连接规格。 典型的用例如下所示:

  • 如果项目中的 Code Engine 应用程序不应该到达任何外部终端,则说明没有规则(即没有允许的IP地址)。

  • 指定一个允许的目的地IP地址范围(0.0.0.0/0 ),以允许所有可能的终端。 默认情况下,有一个名为 “允许所有”的规则,其IP范围设置为 0.0.0.0/0。

  • 指定规则,允许的IP地址范围,允许您的 Code Engine 项目中的工作负载仅到达您指定的端点范围(例如,您的本地数据中心)。

您可以使用控制台或 CLI 创建出站连接。

使用控制台管理允许的目的地IP地址范围

添加允许的出站连接目标IP地址范围

您可以创建允许的目的地IP地址范围,以限制您的工作负载可通过外部网络连接的位置。

  1. 转到连接页面:
    1. 在 Code Engine 控制面板的项目页面中选择您的项目。
    2. 点击“项目设置”>“连接”,查看现有允许的目的地IP地址范围列表。
  2. 点击 “添加” 创建允许的目的地IP地址范围。
  3. 提供名称。
  4. 以 CIDR 符号提供 IP 地址范围。
  5. 确认您的配置。

更新允许的出站连接目的地IP地址范围

您可以更改允许的目的地IP地址范围,以禁止您的工作负载连接到非预期的终端(例如,连接到公共互联网)。

  1. 转到连接页面:
    1. 在 Code Engine 控制面板的项目页面中选择您的项目。
    2. 点击“项目设置”>“连接”,查看现有允许的目的地IP地址范围列表。
  2. 点击您要编辑的允许的目的地IP地址范围所在行。
  3. 请提供更新的IP地址范围并保存您的更改。

当您更新出站连接规则时,请注意:

  • 允许的目的地IP地址范围不冲突,可以叠加。 当您定义多个范围时,允许的目的地会创建所有指定范围的并集,因此添加范围的顺序不会影响最终允许的目的地。 如果添加的第二个范围已经包含在现有范围内,系统会拒绝创建,因为这是多余的。

  • 指定IP地址范围 0.0.0.0/0 将删除所有现有规则并开启完全连接。

  • 在您限制了出站连接规则后,您的工作负载可能需要一些时间来适应这些规则。 例如,如果您在更新出站连接规则之前,代码中使用的 HTTP 客户端建立了连接,则该客户端可能会打开与该端点的连接。 为确保您的出站连接规则立即生效,请重置所有连接。 您可以通过重新部署工作负载或在代码中处理此类情况来重置。

  • 在限制了 Code Engine 项目的出站连接后,您会看到一些意想不到的副作用,例如构建运行失败,因为无法进行任何外部请求。

删除允许的出站连接目标IP地址范围

如果您不再需要为出站连接定义之前定义的允许目标IP地址范围,可以将其删除。

删除允许的目标IP地址范围,将阻止项目中的 Code Engine 应用程序、功能和作业的出站流量。

  1. 转到连接页面:
    1. 在 Code Engine 控制面板的项目页面中选择您的项目。
    2. 点击“项目设置”>“连接”,查看现有允许的目的地IP地址范围列表。
  2. 找到您要删除的允许的目的地IP地址范围,点击删除(垃圾桶)图标。
  3. 出现提示时,确认删除。

使用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地址范围,以限制您的工作负载可通过外部网络连接的位置。

  1. 选择 Code Engine 项目。 例如:

    ibmcloud ce project select --name myproject
    
  2. 通过指定 --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