使用 Azure SNAT 为 SAP Commerce Cloud 的 outbound connection 进行端口映射
某些场景需要虚拟机或计算实例具有到 Internet 的出站连接,比如 SAP Commerce Cloud 部署在 CCV2 上, 公共负载均衡器的前端 IP 可用于为后端实例提供到 Internet 的出站连接。
此配置使用源网络地址转换 (source network address translation,缩写为 SNAT) 将虚拟机的专用 IP 转换为负载平衡器的公共 IP 地址。 SNAT 将后端的 IP 地址映射到负载均衡器的公共 IP 地址。SNAT 可防止外部来源拥有指向后端实例的直接地址。
端口用于生成用于维护不同流的唯一标识符。 互联网使用五元组(five-tuple
)来提供这种区别。如果一个端口用于入站连接,它会在该端口上有一个入站连接请求的侦听器。 该端口不能用于出站连接。 为了建立出站连接,使用临时端口为目标提供一个端口,在该端口上进行通信和维护不同的流量。 当这些临时端口用于 SNAT 时,它们被称为 SNAT 端口。
根据定义,每个 IP 地址都有 65,535 个端口。每个端口可用于 TCP(传输控制协议)和 UDP(用户数据报协议)的入站或出站连接。当公共 IP 地址作为前端 IP 添加到负载平衡器时,64,000 个端口有资格进行 SNAT。虽然可以分配作为前端 IP 添加的所有公共 IP,但前端 IP 一次使用一个。例如,如果两个后端实例分别分配了 64,000 个端口,并且可以访问两个前端 IP,则两个后端实例都将使用第一个前端 IP 的端口,直到所有 64,000 个端口都用完。
负载平衡或入站 NAT 规则中使用的每个端口都使用 64,000 个可用 SNAT 端口中的 8 个端口。如果相同的前端 IP 用于出站连接,则此用法会减少符合 SNAT 条件的端口数量。如果负载平衡或入站 NAT 规则中使用的端口与另一个规则使用的八个端口位于同一块中,则不需要额外的端口。
- 点赞
- 收藏
- 关注作者
评论(0)