本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在安全通道中使用同時TCP連線
AWS IoT 安全通道支援每個資料串流同時支援多個TCP連線。當您需要同時連線至遠端裝置時,可以使用此功能。如果來自用戶端的多個請求,使用同時TCP連線可減少逾時的可能性。例如,當存取在其上執行多個元件的 Web 伺服器時,同時TCP連線可以縮短載入網站所需的時間。
注意
同時TCP連線的頻寬限制為每秒 800 KB AWS 帳戶。 AWS IoT 安全通道可根據傳入請求的數量為您設定此限制。
範例使用案例
假設您需要遠端存取位於目的地裝置本機上,且其上有多個元件運行的 Web 服務器。透過單一TCP連線,在嘗試存取 Web 伺服器時,循序載入可能會增加載入網站資源所需的時間。同時TCP連線可以透過滿足站台的資源需求來縮短載入時間,進而縮短存取時間。下圖顯示資料串流如何支援與遠端裝置上執行之 Web 伺服器應用程式的同步TCP連線。
注意
如果您想要使用通道存取遠端裝置上執行的多個應用程式,您可以使用通道多工處理。如需詳細資訊,請參閱多工處理安全通道中的多個資料串流。
如何使用同時TCP連線
下列程序會逐步說明如何使用同時TCP連線來存取遠端裝置上的 Web 瀏覽器。當來自用戶端的多個請求時, AWS IoT 安全通道會自動設定同時TCP連線來處理請求,進而縮短載入時間。
-
開啟通道
使用
OpenTunnel
API操作或open-tunnel
CLI命令開啟通道。將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
} -
配置並啟動本機代理
在您執行本機代理之前,請從 下載本機代理原始程式碼,GitHub
然後針對您選擇的平台建置它。然後,您可以啟動目的地和來源本機 Proxy,以連線到安全通道,並開始使用遠端 Web 伺服器應用程式。 注意
若要 AWS IoT 安全通道同時使用同時TCP連線,您必須升級至最新版本的本機代理。如果您使用 AWS IoT 裝置用戶端設定本機 Proxy,則無法使用此功能。
// Start the destination local proxy ./localproxy -r
us-east-1
-d HTTP=80
-tdestination_client_access_token
// Start the source local proxy ./localproxy -rus-east-1
-s HTTP=5555
-tsource_client_access_token
如需設定和使用本機 Proxy 的詳細資訊,請參閱 如何使用本機代理。
您現在可以使用通道來存取 Web 伺服器應用程式。當用戶端提出多個請求時, AWS IoT 安全通道會自動設定和處理同時TCP連線。