Private Connect 出站连接

出站连接是入站连接的补充,让 Salesforce 到 AWS 的数据流也走私有互联网。本文跟随 Ursa Major Solar 的 Maria,讲解出站连接的定义与三个核心组件,动手授权 Salesforce Transit VPC(IAM Role 白名单)、在 Salesforce 创建与配置出站连接、关联命名凭据并用 Apex callout 端到端验证,完成双向安全跨云集成。...

📅 2026/10/7 ✍️ ponybai 🏷️ salesforce, headless

一、创建出站连接

slide_2
slide_3

本单元处理另一个方向——用出站连接把数据从 Salesforce 安全传输到 AWS 的 ERP 系统。

学完本单元,你将能够:解释什么是出站连接、在 AWS 创建出站连接、在 Salesforce 创建出站连接。

什么是出站连接

slide_4

从 Private Connect 的角度看,任何从 Salesforce 通过私有互联网发送到外部云提供商的 callout 都称为出站(outbound)。出站连接中,数据起源于 Salesforce,流出到公共云;callout 指对外部服务的 API 调用。

上图展示了两个云——Salesforce 与 AWS,箭头从 Salesforce 指向 AWS(出站方向)。出站连接是入站连接的补充:入站处理从 AWS 流入 Salesforce 的数据,出站处理从 Salesforce 流出到 AWS 的数据,两者共同提供 Salesforce org 与外部云提供商之间的双向私有连接,两个方向都无公共互联网暴露。

出站连接背后的组件

slide_5

好消息:Maria 已经从入站设置中熟悉了这些组件。同样的三个核心组件:Salesforce 管理的 Transit VPC(部署在与应用相同的 AWS 区域,作为 Salesforce 与你的 VPC 之间的安全桥梁)、AWS PrivateLink(VPC 间的私有连接)、AWS Endpoint Service Name(运行在网络负载均衡器上的端点服务标识,目标转发到你的后端系统如 ERP)。

组件相同但方向相反:Transit VPC 仍是桥梁,PrivateLink 仍是私有隧道,但现在端点服务运行在 Maria 的客户 VPC 中、把流量转发到 ERP。前提:Maria 已有一个端点服务运行在网络负载均衡器上,目标转发到其 ERP 系统。

在 AWS 授权 Salesforce Transit VPC——获取 IAM 角色

slide_6

Maria 必须授权 Salesforce Transit VPC 调用进入她的客户 VPC,这是每个 VPC 配置的一次性操作。第一步:从 Salesforce Setup 获取 IAM Role——Setup → Private Connect → AWS Regions,找到 VPC 所在区域(Maria 用 us-west-2),复制对应的 IAM Role。

IAM Role 代表 Salesforce Transit VPC 的身份;把这个角色加入客户 VPC 端点服务的白名单,就是授权 Transit VPC 调用你的 VPC——相当于"Salesforce Transit VPC,你获准连接我的 VPC"。

上图是 Private Connect 页,突出显示 us-west-2 区域的 IAM Role。这个 IAM 角色授权是两 VPC 之间的安全握手。

在 AWS 授权 Salesforce Transit VPC——更新端点服务

slide_7

第二步:在 AWS 控制台登录到与 IAM Role 相同的区域(us-west-2),导航到 VPC dashboard → Endpoint Services,编辑已在 VPC 中运行的端点服务,把复制的 IAM Role 加入 Whitelisted Principles 标签。第三步:在 AWS 控制台顺便复制 Endpoint Service Name(下一步在 Salesforce 创建出站连接时需要)。结果:Salesforce Transit VPC 现在获准调用 Maria 的客户 VPC 端点服务。接下来在 Salesforce 创建对应的出站连接。

在 Salesforce 创建出站连接

slide_8

用从 AWS 复制的 endpoint service name 在 Salesforce 创建连接:Setup → Private Connect → Create Outbound Connection,Connection Type 选 AWS PrivateLink,输入 Connection Name、Description 与 Endpoint Service Name,点 Save。状态显示 Unprovisioned。

未配置意味着 Salesforce org 与 VPC 环境之间的私有连接尚未建立。可以有无限个未配置连接;只有已配置的连接才计入许可;未配置连接可打包(可包含在管理包中供订阅 org 使用)。下一单元配置连接以激活它。

二、配置并使用出站连接

slide_9
slide_10

本单元通过配置、AWS 接受与同步激活出站连接,然后把它关联到命名凭据并用 Apex callout 验证。

学完本单元,你将能够:在 Salesforce 配置出站连接、了解出站连接的不同状态、通过运行时调用验证连接设置正确。

在 Salesforce 配置连接

slide_11

通过配置激活私有隧道:Setup → Private Connect → 找到连接 → Actions → Provision,状态变为 Allocating(Salesforce Transit VPC 正在创建 PrivateLink 端点以调用你的端点服务)。

关键概念:每个端点都有分配给 Salesforce org ID 的唯一 PrivateLink,每个 org 都拥有自己专属的安全私有通道——不共享、不池化,确保不同 Salesforce 客户之间的流量隔离。Allocating 是过渡状态,下一步在 AWS 侧接受连接。

在 AWS 接受端点连接

slide_12

从 AWS 侧验证并接受端点:AWS Console → Endpoint Services → 找到你的服务,查看 Transit VPC 创建的新 endpoint ID。若端点服务要求手动接受,则手动接受连接;若配置了自动接受(IAM 角色已预先白名单),则连接自动接受。接受后,端点可能需要长达 5 分钟才可用。Maria 已白名单 IAM 角色,所以自动接受——但她仍验证端点出现在服务中。

在 Salesforce 同步出站连接状态

slide_13

等待状态从 Allocating 变为 Ready,然后同步确认最新状态:Setup → Private Connect → Actions → Sync(拉取 AWS 最新状态)。关键指标:VPC Endpoint ID 列已填充——意味着端点已在 Transit VPC 中创建并与客户 VPC 中的端点服务通信。连接状态:Unprovisioned(PrivateLink 未建立)、Allocating(Transit VPC 创建中)、PendingAcceptance(等待 AWS 管理员批准)、PendingActivation(Transit VPC 完成中)、Ready(PrivateLink 可用)、RejectedRemotely(AWS 管理员拒绝)、TeardownInProgress(删除中)。Salesforce 只能在 Ready 状态发送出站流量。

把出站连接关联到命名凭据

slide_14

要从 Salesforce 使用出站连接,把它关联到命名凭据(named credential)。命名凭据用 Setup 中的声明式工具管理 Salesforce 出站 callout 的认证,无需在 Apex 代码中硬编码凭据。步骤:Setup → Named Credential → 新建或编辑 → Callout Options → Outbound Network Connection 查找字段选你的出站连接。结果:使用该命名凭据的任何 callout 都自动通过私有互联网而非公共互联网路由。

上图显示名为 toERPuswest2 的出站连接关联到 ERPNamedCredential 命名凭据。现有 Apex 代码无需改变——只需更新命名凭据配置,所有 callout 即变私有。

验证命名凭据是否有效

slide_15

用匿名 Apex callout 测试连接:Developer Console → Debug → Open Execute Anonymous Window,执行引用命名凭据的 Apex 代码(如 hr.setEndpoint('callout:ERPNamedCredential'))。返回 200 响应码即连接正常工作。要求:用户需有 Customize Application 权限,只有 Salesforce 管理员能在 Anonymous Apex 中执行命名凭据。这验证了端到端链路:Apex → 命名凭据 → 出站连接 → PrivateLink → Transit VPC → 客户 VPC → ERP 系统,全程私有、安全。

出类拔萃

slide_16

Maria 成功创建了出站连接!完成的工作:通过 IAM Role 授权 Salesforce Transit VPC、在 Salesforce 创建出站连接、配置并同步连接到 Ready 状态、关联到命名凭据、用 Apex callout 端到端验证。Salesforce → AWS 的数据流现在安全了:所有 callout 走私有互联网、无公共 API 暴露、现有 Apex 代码无需改变(只更新命名凭据)。双向 Private Connect 完成:入站(AWS → Salesforce)✅、出站(Salesforce → AWS)✅。Maria 可以去度个海滩假期了。


文章来源:Trailhead - Private Connect Outbound Connections