在安全通道中使用同時TCP連線 - AWS IoT Core

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

在安全通道中使用同時TCP連線

AWS IoT 安全通道支援每個資料串流同時支援多個TCP連線。當您需要同時連線至遠端裝置時,可以使用此功能。如果來自用戶端的多個請求,使用同時TCP連線可減少逾時的可能性。例如,當存取在其上執行多個元件的 Web 伺服器時,同時TCP連線可以縮短載入網站所需的時間。

注意

同時TCP連線的頻寬限制為每秒 800 KB AWS 帳戶。 AWS IoT 安全通道可根據傳入請求的數量為您設定此限制。

範例使用案例

假設您需要遠端存取位於目的地裝置本機上,且其上有多個元件運行的 Web 服務器。透過單一TCP連線,在嘗試存取 Web 伺服器時,循序載入可能會增加載入網站資源所需的時間。同時TCP連線可以透過滿足站台的資源需求來縮短載入時間,進而縮短存取時間。下圖顯示資料串流如何支援與遠端裝置上執行之 Web 伺服器應用程式的同步TCP連線。

注意

如果您想要使用通道存取遠端裝置上執行的多個應用程式,您可以使用通道多工處理。如需詳細資訊,請參閱多工處理安全通道中的多個資料串流

顯示透過 TCP和 WSS通訊協定連線的來源裝置、本機代理、代理伺服器和目的地裝置的 IoT 雲端設定圖解。

如何使用同時TCP連線

下列程序會逐步說明如何使用同時TCP連線來存取遠端裝置上的 Web 瀏覽器。當來自用戶端的多個請求時, AWS IoT 安全通道會自動設定同時TCP連線來處理請求,進而縮短載入時間。

  1. 開啟通道

    使用 OpenTunnelAPI操作或 open-tunnelCLI命令開啟通道。將 HTTP 指定為與遠端裝置對應的服務和 AWS IoT 物件名稱,以設定目的地。您的 Web 伺服器應用程式正在此遠端裝置上執行。您必須已在 AWS IoT 登錄檔中建立 IoT 物件。如需詳細資訊,請參閱使用登錄檔管理物件

    aws iotsecuretunneling open-tunnel \ --destination-config thingName=RemoteDevice1,services=HTTP

    執行此命令會產生您將用來執行本機 Proxy 的來源和目的地存取字符。

    { "tunnelId": "b2de92a3-b8ff-46c0-b0f2-afa28b00cecd", "tunnelArn": "arn:aws:iot:us-west-2:431600097591:tunnel/b2de92a3-b8ff-46c0-b0f2-afa28b00cecd", "sourceAccessToken": source_client_access_token, "destinationAccessToken": destination_client_access_token }
  2. 配置並啟動本機代理

    在您執行本機代理之前,請從 下載本機代理原始程式碼,GitHub然後針對您選擇的平台建置它。然後,您可以啟動目的地和來源本機 Proxy,以連線到安全通道,並開始使用遠端 Web 伺服器應用程式。

    注意

    若要 AWS IoT 安全通道同時使用同時TCP連線,您必須升級至最新版本的本機代理。如果您使用 AWS IoT 裝置用戶端設定本機 Proxy,則無法使用此功能。

    // Start the destination local proxy ./localproxy -r us-east-1 -d HTTP=80 -t destination_client_access_token // Start the source local proxy ./localproxy -r us-east-1 -s HTTP=5555 -t source_client_access_token

    如需設定和使用本機 Proxy 的詳細資訊,請參閱 如何使用本機代理

您現在可以使用通道來存取 Web 伺服器應用程式。當用戶端提出多個請求時, AWS IoT 安全通道會自動設定和處理同時TCP連線。