資安

設計實踐:AWS IoT解決方案

7.18.19-Design-Practices-AWS-IoT-Solutions.jpg

物聯網(IoT)為每個行業提供了無與倫比的機會來應對其業務挑戰。隨著設備的增加,人們需要一種解決方案來連接、收集、存儲和分析設備的數據。Amazon Web Services提供了各種服務,可幫助連接的設備輕鬆、安全地與雲應用程序和其他設備進行交互,以適應各種用戶場景。話雖如此,該領域的每個解決方案架構師都知道AWS Cloud的功能和可靠性。在AWS平臺上遷移或設計物聯網(IoT)解決方案使人們可以專注於核心業務,而無需進行基礎架構管理和監控的麻煩。這將確保客戶的高可用性。無論設計哪種解決方案,都應該選擇最佳平臺來保持解決方案的穩定性。AWS正是這樣一種平臺。

在使用AWS設計IoT解決方案時需要考慮一些實踐。如果將正確的AWS服務用於客戶需求,則IoT解決方案將能夠以更安全、可靠和可擴展的方式交付結果。

可靠地大規模運行的設計

物聯網系統必須處理設備和網關捕獲的高速、大容量數據。可能由於業務的突然增長或有時由於惡意攻擊而導致傳入數據的溢出。在這種情況下,雲系統架構應可擴展以處理此類數據。

最好的方法是在存儲數據之前將數據發送到實時內存數據庫中的隊列和緩衝區。這有助於實現實時事件並降低數據插入速率,以防止數據庫崩潰或防止響應速度變慢。

設備可以將數據發佈到AWS Kinesis,或者可以使用AWS IoT規則將數據轉發到AWS SQS和Kinesis以將其存儲在時間序列存儲中,例如AWS S3,Redshift,Data Lake或Elastic搜索數據存儲。這些數據存儲可用於生成自定義儀表板或AWS Quick Sight儀表板。

1.png

通過數據管道路由大數據量

將來自設備主題的傳入數據直接消耗到單個服務會阻止系統實現完全的可伸縮性。有時,這種方法會在發生故障和數據氾濫時限制系統的可用性。

AWS IoT規則引擎旨在以可擴展的方式將終端連接到AWS IoT Core。但是,所有AWS服務都具有不同的數據流屬性,各有優缺點。所有服務都不能用作系統的單個入口點。有時,它會導致後續故障而無法恢復。例如,對於大容量數據,請在調用其他服務之前考慮對傳入的數據進行緩衝(Elasti Cache)或排隊(SQS),這使得能夠從後續故障中恢復。

AWS IoT規則引擎允許並行觸發多個AWS服務,例如Lambda,S3,Kinesis,SQS或SNS。物聯網系統捕獲數據後,它將使AWS終端節點(其他AWS服務)能夠處理和轉換數據。這使您可以將數據同時存儲到多個數據存儲中。 確保所有數據都得到處理和存儲的最安全方法是將所有設備主題數據重定向到SNS,該SNS用於處理數據洪泛處理,以確保傳入的數據得到可靠的維護,處理並傳遞到正確的通道。 為了使其更具擴展性,可以使用針對不同/組AWS設備主題的多個SNS主題,SQS隊列和Lambda。在處理數據之前,應考慮將數據存儲在隊列,Amazon Kinesis,Amazon S3或Amazon Redshift等安全存儲中。這種做法可確保不會由於消息氾濫、不需要的異常代碼或部署問題而導致數據丟失。

Volansys-AWS-IoT.png

自動化設備配置和升級

隨著業務的增長和眾多設備連接到IoT生態系統,手動操作(例如設備配置,引導軟件,安全配置,規則操作設置和設備OTA升級)是不可行的。在初始化過程和升級過程中最小化人機交互對於節省時間和降低成本非常重要。

在設備內設計內置功能以進行自動配置並利用AWS提供的用於處理設備配置和管理的適當工具,可使系統以最少的人工干預達到所需的運營效率。

AWS IoT提供了一組功能,可用於具有一組可與儀表板和製造流程集成的策略的批量導入,在該儀表板和製造流程中,可以將設備預註冊到AWS IoT,並可以在設備上安裝證書。之後,設備供應流程可以聲明一個設備並將其附加到另一個用戶或任何其他實體。AWS提供了觸發和跟蹤設備OTA升級的功能。

為自定義組件採用可擴展架構

物聯網系統連接到外部設備時,範圍不會因連接、控制和報告設備而結束。考慮採用諸如數據科學和機器學習之類的最新技術,或將第三方組件集成到IFTTT,Alexa或Google Home等物聯網系統中。物聯網的架構應確保外部組件可以輕鬆集成到解決方案中,而不會出現性能瓶頸。

檢查離線訪問和處理

有時,不必在雲中處理所有設備的數據。在許多情況下,沒有連續的互聯網連接可用。對於這種情況,請在邊緣添加AWS Greengrass。Greengrass在邊緣上本地處理和過濾數據,並減少了向上遊發送所有設備數據的需要。可以捕獲所有數據,將其保留有限的時間,然後根據錯誤事件或按需/請求將其發送到雲中。如果需要時序數據,則可以安排一個定期過程,將設備數據發送到雲,該數據可用於將來的增強,例如AWS Machine Learning模型和雲分析工具。

volansys-AWS-Greengrass.png

選擇正確的數據存儲

物聯網系統生成高速,大容量和多種數據。每個物聯網設備或設備主題可以具有不同的格式,這些格式可能無法通過單個數據庫或類似類型的數據存儲來管理。架構師在選擇數據庫格式和數據存儲時應該小心。經常使用的靜態數據可以存儲在Elastic緩存中,這有助於提高性能。這樣的做法有助於實現系統的可伸縮性和可維護性。

在處理之前過濾和轉換數據

所有輸入物聯網系統的數據可能需要處理或轉換,然後可以重定向到存儲。AWS IoT規則提供將消息重定向到不同AWS服務的操作。架構師應該將所有數據分成不同的形式(即需要處理、忽略/靜態數據(如配置)和直接存儲)。

AWS IoT服務架構

Volansys-AWS-IoT-Put-all-data-together.png
原文鏈接

Leave a Reply

Your email address will not be published. Required fields are marked *