中 SaaS 产品的高级网络访问场景 AWS Cloud - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

中 SaaS 产品的高级网络访问场景 AWS Cloud

中 SaaS 产品的网络访问场景 AWS Cloud节中讨论的架构应该可以帮助您找到适合大多数用例的解决方案。但是,有些场景有特定的技术要求。许多都超出了本指南的范围。

本节讨论以下高级技术要求和注意事项:

双向通信

在某些情况下,应用程序需要双向流量才能按预期运行。常见的用例是 Webhook 或通知服务。通常,您可以通过在服务器和客户端之间建立 WebSocket 连接来实现此目的。此连接保持 TCP 会话处于打开状态,并允许两个参与者通过该连接发送流量。本指南中讨论的大多数服务都是原生支持的 WebSocket,包括网络负载均衡器、应用程序负载均衡器、Amazon API Gateway 和 AWS AppSync (通过私有实时终端节点)。 AWS PrivateLink

在其他情况下,SaaS 提供商端的应用程序可能需要访问消费者端的资源,例如数据库。当您通过双向通道(例如连接)进行 AWS Site-to-Site VPN 连接时,这不是问题。

另一方面, AWS PrivateLink Elastic Load Balancing 仅支持单向流量。如果您使用这些服务,则必须为从 SaaS 产品发起的流量设置另一条网络路径。例如,这可能是朝相反方向移动的附加 AWS PrivateLink 连接。

TCP、UDP 和专有协议

许多应用程序都通过 HTTP 或 HTTPS 提供服务,但并非所有应用程序都通过。有些协议可能在 TCP 之外使用其他第 7 层协议,例如消息队列遥测支持 (MQTT)。其他人甚至可能使用UDP为消费者提供服务。在极少数情况下,服务使用必须在数据包内传输的专有协议(第 3 层)。对于这些场景,了解哪些服务支持您的 SaaS 产品非常重要。

对于第 3 层服务,您可以使用 AWS PrivateLink 和网络负载均衡器,两者都支持所有 TCP 和 UDP 流量。

对于第 7 层服务,应用程序负载均衡器和亚马逊 CloudFront 支持 HTTP WebSocket、HTTPS 和谷歌远程过程调用 (gRPC)。同样,Amazon API Gateway AWS AppSync 均支持 HTTP、HTTPS 和 WebSocket。亚马逊 CloudFront 是目前唯一支持 HTTP/3 的服务。

您可以使用 Amazon VPC Lattice 连接第 7 层应用程序和第 3 层资源。它支持 HTTP、HTTPS、gRPC、TCP 和 TLS 直通。

如果应用程序只能通过第 3 层提供流量,则必须使用核心 AWS 网络服务,例如、 AWS Transit Gateway AWS Direct Connect AWS Site-to-Site VPN、和 VPC 对等连接。然后,流量应直接从SaaS使用者路由到SaaS产品的计算层。