在 Code Engine

IBM Cloud® Code Engine 向外连接功能支持为 Code Engine 项目定义可到达的端点。

  • 使用 CIDR 符号表示允许的出站连接目标 IP 地址范围。
  • 使用 Code Engine 控制台或 CLI 将 Code Engine 项目与 IBM Cloud VPC Private Path 服务 连接。

您可以通过控制台或命令行界面(CLI)建立出站连接。

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

允许的目标 IP 地址范围可确保出站流量仅限于您定义为安全的地址。 因此,您可以防止不必要的互联网访问,并提高合规性和安全性。

CIDR 范围规范不影响项目内部通信、专用路径连接或专用服务连接,它们始终是允许的目的地。 因此,根据 CIDR 范围限制出站流量并不能阻止 Code Engine 项目中的应用程序相互通信,或与连接的私有路径服务或 IBM Cloud 服务 API 的私有端点通信。

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

  • 如果 Code Engine 项目中的应用程序不能与任何外部端点连接,则不指定规则(即不允许 IP 地址)。
  • 指定单个允许的目标 IP 地址范围 (0.0.0.0/0) 以允许所有可能的端点。 默认情况下,有一条名为 allow-all 的规则,设置的 IP 范围为 0.0.0.0/0。
  • 在允许的目标 IP 地址范围内指定一条规则,使 Code Engine 项目中的工作负载只能到达指定范围的端点(例如,到达企业内部数据中心)。

私人路径连接

专用路径允许在 IBM Cloud 服务(如 Code Engine )和您的 VPC 之间建立连接,而不会影响安全性或使您的 VPC 面临风险。 请参阅 启用 IBM Cloud 服务连接到提供商的 VPC

本图说明了如何建立与 Code Engine 应用程序和 VPC 的 VPE 网关连接的专用路径服务。 首先,Code Engine 应用程序连接到 Code Engine VPC 内的 VPE 网关。 然后,VPE 网关连接到提供商 VPC 中的专用路径 NLB。 反过来,专用路径 NLB 会连接到提供商的应用程序。 然后,提供商的应用程序对请求做出响应。 这种专用路径服务活动完全包含在 IBM Cloud 专用网络的单个区域内(如 us-south )。

使用专用路径将 Code Engine 项目通过专用网络连接到 VPC。
使用专用路径将 Code Engine 项目通过专用网络连接到 VPC。

下图举例说明了 Private Path 如何将 Code Engine 项目与其他项目连接起来:

使用专用路径将 Code Engine 项目连接到 VPC 或其他外部网络中的各种目标。
使用专用路径将 Code Engine 项目连接到 VPC 或其他外部网络中的各种目标

私人服务连接

作为所有 Code Engine 项目允许出站目的地的一部分,连接到一组通用 IBM Cloud 平台服务的专用端点已启用。 启用的平台服务因地区而异,详见下表。

每个地区启用专用端点的平台服务
平台服务 在各地区提供私人终端
全局搜索 (端点 URL ) 和全局标记 (端点 URL ) au-syd, br-sao, ca-tor, eu-de, eu-es, eu-gb, in-che, 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 地址范围,以限制您的工作负载可以通过外部网络连接到哪里。

  1. 转到“连接”页面:
    1. Code Engine 控制台的项目页面选择项目。
    2. 单击“项目设置”>“连接性”>“CIDR 范围”选项卡,查看现有允许的目标 IP 地址范围列表。
  2. 单击添加创建允许的目标 IP 地址范围。
  3. 提供名称。
  4. 请以 CIDR 表示法提供一个 IP 地址范围。
  5. 确认配置。

为出站连接添加专用路径连接

您可以在 Code Engine 项目和 VPC 之间建立专用路径连接。

  1. 转到“连接”页面:
    1. Code Engine 控制台的项目页面选择项目。
    2. 单击“项目设置”>“连接性”>“专用路径连接”选项卡,查看现有专用路径连接列表。
  2. 点击 “添加” 以创建一个私有路径连接。
  3. 提供名称。
  4. 您可以通过名称或 CRN 指定要连接的“专用路径”服务实例。
    1. 根据名称,从下拉列表中选择专用路径服务实例。
    2. 通过 CRN,提供专用路径服务实例 CRN。
  5. 选择隔离策略:
    1. 共享- 允许在 Code Engine 项目之间重复使用专用路径连接,这些项目与目标 VPC 位于同一 IBM Cloud 账户,或同一企业账户系列内的账户。
    2. 专用- 将此“专用路径”连接的使用范围限制为一个 Code Engine 项目。
  6. 确认配置。

一旦创建了与 VPC 的连接,专用路径服务所有者就会收到连接请求。 业主可以审查、批准或拒绝这一连接申请。 使用专用路径连接详细信息视图中显示的消费者 Code Engine account IDVPE gateway creation timestamp 来识别专用路径服务中的连接请求。

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

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

  1. 转到“连接”页面:
    1. Code Engine 控制台的项目页面选择项目。
    2. 单击“项目设置”>“连接性”>“CIDR 范围”选项卡,查看现有允许的目标 IP 地址范围列表。
  2. 单击包含要编辑的允许目标 IP 地址范围的行。
  3. 提供更新的 IP 地址范围并保存更改。

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

  • 允许的目标 IP 地址范围不会冲突;它们是相加的。 当您定义多个范围时,允许的目的地会创建所有指定范围的联合,因此添加范围的顺序不会影响生成的允许目的地。 如果您添加的第二个范围已被现有范围覆盖,系统会拒绝创建,因为它是多余的。

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

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

  • 在限制 Code Engine 项目的向外连接后,你可能会看到意想不到的副作用,例如由于无法发出外部请求而导致构建运行失败。

更新用于出站连接的专用路径连接

您可以将 Code Engine 项目与 VPC 之间的“专用路径”连接更改为 dedicatedshared

  • 专用路径连接可在 shared,因此可在与目标 VPC 位于同一 IBM Cloud 账户的 Code Engine 项目或同一企业账户系列内的账户之间重复使用。
  • 要将“专用路径”连接的使用限制在一个 Code Engine 项目内,请将其隔离策略设为 dedicated
  • dedicated 专用路径连接可随时更改为 shared
  • shared 专用路径连接只有在不被一个以上 Code Engine 项目使用的情况下才能更改为 dedicated

更新专用路径连接的隔离策略:

  1. 转到“连接”页面:
    1. Code Engine 控制台的项目页面选择项目。
    2. 单击“项目设置”>“连接性”>“专用路径连接”选项卡,查看现有专用路径连接列表。
  2. 转到包含要更新的私有路径连接的行,单击三点行操作图标,选择更改隔离策略选项。
  3. 在对话框中单击“更改”确认更改。

删除允许出站连接的出站目的地

如果不想再为出站连接定义以前定义的允许出站目的地,可以删除它们。

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

  1. 转到“连接”页面:
    1. Code Engine 控制台的项目页面选择项目。
    2. 单击“项目设置”>“连接性”>“CIDR 范围”选项卡,查看现有允许的目标 IP 地址范围列表,或单击“专用路径连接”选项卡,查看现有专用路径连接列表。
  2. 转到包含要删除的允许出站目的地的行,单击三点行操作图标并选择删除选项。
  3. 出现提示时确认删除。

使用 CLI 管理允许的出站目的地

要使用 CLI 命令处理允许的出站目的地,请登录 IBM Cloud 账户选择 Code Engine 账户和资源组

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

对于 Code Engine 连接出站 CLI 命令,您可以指定 --name--cidr 值,以配置允许的目标 IP 地址范围。 请遵循以下 CIDR 指南:

  • 请勿使用 保留 IP 范围中的 IP 范围。
  • 请勿重复使用 --name--cidr 值。
  • 请勿使用不支持的 CIDR 名称。
  • 请勿使用不受支持的 IP 地址范围。 遵循 CIDR 符号。

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

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

    ibmcloud ce project select --name myproject
    
  2. 通过指定 --name--cidr 选项,创建允许的目标 IP 地址范围。 提供有效的名称和 IP 地址。 请参考这些示例:

    ibmcloud ce connectivity outbound create --name mycidr1 --cidr 192.68.5.0/24
    
    ibmcloud ce connectivity outbound create --name mycidr2-allow-all --cidr 0.0.0.0/0
    
    ibmcloud ce connectivity outbound create --name mycidr2-allow-all --cidr 0.0.0.0/0 --force
    

为出站连接添加专用路径连接

对于 Code Engine 连接出站 CLI 命令,您可以指定 --name--format--pps-crn 和可选的 --isolation-policy 值,以在 Code Engine 项目和 VPC 之间建立专用路径连接。

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

    ibmcloud ce project select --name myproject
    
  2. 通过指定 --name--format--pps-crn,创建用于向外连接的专用路径连接。 提供有效的名称、格式和 CRN。 如果指定 --isolation-policy,请提供 shareddedicated。 请参考这些示例:

    ibmcloud ce connectivity outbound create --name my-pps-connection --format pps --pps-crn crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::private-path-service-gateway:r010-2b2b2b2b-3c3c-4d4d-5e5e-6f6f6f6f6f6f
    
    ibmcloud ce connectivity outbound create --name my-pps-connection-2 --format pps --pps-crn crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::private-path-service-gateway:r010-2b2b2b2b-3c3c-4d4d-5e5e-6f6f6f6f6f5e --isolation-policy dedicated
    

一旦创建了与 VPC 的连接,专用路径服务所有者就会收到连接请求。 业主可以审查、批准或拒绝这一连接申请。 使用专用路径连接详细信息视图中显示的消费者 Code Engine account IDVPE gateway creation timestamp 来识别专用路径服务中的连接请求。

显示允许出站连接的现有目的地

要显示允许的特定出站目的地,请指定名称。 例如:

ibmcloud ce connectivity outbound get --name my-allowed-destination

要显示所有允许的出境目的地,请运行

ibmcloud ce connectivity outbound list

要显示所选的允许出站目的地格式,请运行示例:

ibmcloud ce connectivity outbound list --format cidr,pps

ibmcloud ce connectivity outbound list --format cidr

ibmcloud ce connectivity outbound list --format pps

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

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

通过指定 --name--cidr 选项,更新允许的目标 IP 地址范围。 提供有效的名称和 IP 地址。 请参考这些示例:

ibmcloud ce connectivity outbound update --name mycidr1 --cidr 192.68.5.0/24

ibmcloud ce connectivity outbound update --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 --name mycidr2-allow-all --cidr 0.0.0.0/0 --force

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

  • 允许的目标 IP 地址范围不会冲突;它们是相加的。 当您定义多个范围时,允许的目的地会创建所有指定范围的联合,因此添加范围的顺序不会影响生成的允许目的地。 如果您添加的第二个范围已被现有范围覆盖,系统会拒绝创建,因为它是多余的。

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

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

  • 在限制 Code Engine 项目的向外连接后,你可能会看到意想不到的副作用,例如由于无法发出外部请求而导致构建运行失败。

更新用于出站连接的专用路径连接

您可以将 Code Engine 项目与 VPC 之间的“专用路径”连接更改为 dedicatedshared

  • 专用路径连接可在 shared,因此可在与目标 VPC 位于同一 IBM Cloud 账户内的 Code Engine 项目或同一企业账户系列内的账户之间重复使用。
  • 要将“专用路径”连接的使用限制在一个 Code Engine 项目内,请将其 --isolation-policy 设置为 dedicated
  • dedicated 专用路径连接可随时更改为 shared
  • shared 专用路径连接只有在不被一个以上 Code Engine 项目使用的情况下才能更改为 dedicated

要更新专用路径连接,请指定 --name--isolation-policy 选项。 请参考这些示例:

ibmcloud ce connectivity outbound update --name my-pps-connection --isolation-policy dedicated

ibmcloud ce connectivity outbound update --name my-pps-connection --isolation-policy shared

删除允许出站连接的出站目的地

如果不想再为出站连接定义以前定义的允许出站目的地,可以删除它们。

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

要删除已确认的允许出站目的地,请指定名称。 例如:

ibmcloud ce connectivity outbound delete --name my-allowed-destination

要强制删除允许的出站目的地(即不经确认),请运行

ibmcloud ce connectivity outbound delete --name my-allowed-destination --force