

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 中的 SaaS 產品的進階聯網存取案例 AWS 雲端
<a name="advanced"></a>

[中的 SaaS 產品聯網存取案例 AWS 雲端](options.md) 一節中討論的架構應可協助您尋找大多數使用案例的解決方案。不過，有些案例有特定的技術需求。許多 超出本指南的範圍。

**Topics**
+ [雙向通訊](#advanced-bidirectional-communication)
+ [TCP、UDP 和專屬通訊協定](#advanced-protocols)

## 雙向通訊
<a name="advanced-bidirectional-communication"></a>

在某些情況下，應用程式需要雙向流量，才能如預期般運作。常見的使用案例是 Webhook 或通知服務。一般而言，您可以在伺服器與用戶端之間建立 WebSocket 連線來達成此目的。此連線會保持 TCP 工作階段開啟，並允許兩個參與者透過連線傳送流量。本指南中討論的大多數服務原生支援 WebSocket，包括 Network Load Balancer、Application Load Balancer、Amazon API Gateway AWS PrivateLink和 AWS AppSync （透過[私有即時端點](https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html))。

在其他情況下，SaaS 供應商端的應用程式可能需要存取取用者端的資源，例如資料庫。當您透過雙向管道連線時，例如 AWS Site-to-Site VPN 連線，這不是問題。

另一方面， AWS PrivateLink 和 Elastic Load Balancing 僅支援單向流量。如果您使用這些服務，則必須為從 SaaS 產品啟動的流量設定另一個網路路徑。例如，這可能是往反方向的額外 AWS PrivateLink 連線。

## TCP、UDP 和專屬通訊協定
<a name="advanced-protocols"></a>

許多應用程式是透過 HTTP 或 HTTPS 提供，但並非全部。有些 可能會在 TCP 上使用其他第 7 層通訊協定，例如訊息佇列遙測支援 (MQTT)。其他人甚至可能使用 UDP 為消費者提供服務。在極少數情況下， 服務會使用必須在封包 （第 3 層） 內傳輸的專屬通訊協定。對於這些案例，請務必了解哪些服務支援您的 SaaS 產品。

對於 Layer 3 服務，您可以使用 AWS PrivateLink 和 Network Load Balancer，這兩者都支援所有 TCP 和 UDP 流量。

對於 Layer 7 服務，Application Load Balancer 和 Amazon CloudFront 支援 HTTP、HTTPS、WebSocket 和 Google 遠端程序呼叫 (gRPC)。同樣地，Amazon API Gateway 和 AWS AppSync 每個 都支援 HTTP、HTTPS 和 WebSocket。Amazon CloudFront 是目前唯一支援 HTTP/3 的服務。

您可以使用 Amazon VPC Lattice 來連接 Layer 7 應用程式和 Layer 3 資源。它支援 HTTP、HTTPS、gRPC、TCP 和 TLS 傳遞。

如果應用程式只能透過第 3 層提供流量，請務必使用核心 AWS 聯網服務 AWS Transit Gateway，例如 AWS Direct Connect AWS Site-to-Site VPN， 和 VPC 對等互連。然後，流量應該直接從 SaaS 取用者路由到 SaaS 產品的運算層。