現在已提供 AWS IoT Beta

建立免費帳戶

AWS 免費方案包括每月 250,000 則免費訊息 (發佈或交付),為期 12 個月。

查看 AWS 免費方案詳細資訊 

問:什麼是 AWS IoT?

AWS IoT 是一個受管的雲端平台,可讓連線的裝置輕鬆安全地與雲端應用程式及其他裝置進行互動。AWS IoT 能夠支援數十億個裝置和數兆則訊息,並能可靠且安全地處理和路由這些訊息至 AWS 終端節點。有了 AWS IoT,您的應用程式可以隨時追蹤所有裝置並進行通訊,即便是在裝置未連線時。

AWS IoT 讓您可以輕鬆使用 AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Machine Learning、Amazon DynamoDB、Amazon CloudWatch、AWS CloudTrail 及 Amazon Elasticsearch Service 搭配內建 Kibana 整合的 AWS 服務來建置物聯網 (IoT) 應用程式,以收集、處理、分析連線裝置上產生的資料並採取行動,而不必管理任何基礎設施。

問:AWS IoT 提供哪些功能?

裝置和 AWS 雲端的連線能力。首先,使用 AWS IoT 可以用低延遲和低開銷的方式與連網裝置進行安全的通訊。您可以無限制地擴展通訊的裝置數量。AWS IoT 服務支援標準通訊協定 (目前支援 HTTP、MQTT 和 WebSocket)。而使用 TLS 可以很安全地進行通訊。

裝置和 AWS 雲端的連線能力。首先,使用 AWS IoT 可以用低延遲和低開銷的方式與連網裝置進行安全的通訊。您可以無限制地擴展通訊的裝置數量。AWS IoT 服務支援標準通訊協定 (目前支援 HTTP、MQTT 和 WebSocket)。而使用 TLS 可以很安全地進行通訊。

處理連網裝置傳送的資料。其次,使用 AWS IoT 可以持續導入、篩選、轉換和路由來自連網裝置的資料串流。您可以根據資料採取動作,並路由該資料以進行進一步的處理和分析。

與連網裝置的應用程式互動。最後,AWS IoT 服務可加速物聯網應用程式開發。它可為在雲端和行動裝置上執行的應用程式提供簡單易用的界面,以存取連網裝置傳送的資料及將資料和命令傳回裝置。

問:AWS IoT 如何運作?

感應器、傳動器、內嵌裝置、智慧型設備和穿戴式裝置等連網裝置可透過 HTTPS、WebSocket 或安全 MQTT 連接至 AWS IoT。包含在 AWS IoT 內的是裝置閘道,可在連網裝置及雲端與行動應用程式之間進行安全、低延遲、低開銷以及雙向的通訊。

AWS IoT 服務還包含規則引擎,可不間斷地處理連網裝置傳來的資料。您可以設定規則來篩選和轉換資料,您也可以設定規則,透過 Lambda 將資料路由至其他 AWS 服務 (像是 DynamoDB、Kinesis、Lambda、SNS、SQS、CloudWatch、Elasticsearch Service 搭配內建 Kibana 整合) 及非 AWS 服務,以進行進一步的處理、儲存或分析。

您還可以使用裝置登錄功能來登錄和追蹤連線到 AWS IoT 的裝置,或將來可能連線的裝置。AWS IoT 服務中的裝置陰影可使用簡單的 REST API 讓雲端和行動應用程式查詢裝置傳送的資料以及將命令傳送到裝置,同時讓 AWS IoT 處理與裝置之間的基礎通訊。陰影透過提供統一的界面給裝置來加速應用程式的開發,即使裝置使用可能與應用程式不相容的其中一種物聯網通訊和安全協定也適用。即使連網裝置受限於不穩定的網路連線、有限的頻寬、運算能力或電力,陰影也能透過提供裝置永遠可用的界面來加速應用程式的開發。

與 AWS IoT 之間通訊很安全。服務需要所有用戶端 (連網裝置、伺服器應用程式、行動應用程式或人類使用者) 使用增強式身份驗證 (X.509 憑證、AWS IAM 登入資料或透過 AWS Cognito 進行的第三方身份驗證)。所有通訊都會經過加密。AWS IoT 還提供精確的授權來隔離和保護已驗證用戶端的通訊安全。

與其他 AWS 服務相似,使用者可透過 AWS 管理主控台和 CLI 存取 AWS IoT。透過多種程式設計語言可用的 AWS 開發套件,應用程式可使用 AWS 開發套件來輕鬆存取 AWS IoT。AWS IoT 透過與 Amazon CloudWatch 整合,可進一步簡化物聯網應用程式的開發和操作。

為了簡化在連網裝置上執行的程式碼開發,AWS IoT 為 C、Node.js 和 Arduino Yún 平台提供開放原始碼裝置開發套件。AWS IoT 也已與硬體製造商合作,在數種物聯網、內嵌作業系統和微型控制器平台上提供 AWS IoT 裝置開發套件。

問:哪些 AWS 區域提供 AWS IoT 服務?

目前下列 AWS 區域提供 AWS IoT:

• 美國東部 (維吉尼亞北部)
• 美國東部 (俄亥俄)
• 美國西部 (奧勒岡)
• 歐洲 (愛爾蘭)
• 歐洲 (法蘭克福)
• 歐洲 (倫敦)
• 亞太區域 (中國)
• 亞太區域 (雪梨)
• 亞太區域 (首爾)
• 亞太區域 (東京)
• 亞太區域 (新加坡)

 

只要您擁有上述其中一個 AWS 區域的存取權,無論在哪個地理位置都能使用 AWS IoT。

問:如何開始使用 AWS IoT?

使用 AWS IoT 主控台或參閱開發人員指南的快速啟動章節,在幾分鐘內就能試用 AWS IoT 服務。

此外,請參考合作夥伴提供且由 AWS 支援的入門套件

請參閱 AWS IoT 文件以取得更進一步的詳細資訊。

問:AWS IoT 主控台支援哪些語言?

AWS IoT 主控台支援英文、簡體中文、法文和日文。

問:如何切換主控台的語言?

按一下主控台左下方的語言,然後選取語言。語言選項會套用到不同 AWS 服務的主控台。

 

問:有哪些方法可以存取 AWS IoT?

您可以使用 AWS 管理主控台AWS 開發套件、AWS CLI 和 AWS IoT API 來存取 AWS IoT 服務。連網裝置則可使用 AWS IoT 裝置開發套件來簡化與 AWS IoT 服務之間的通訊。

AWS IoT API 和命令大概可分成兩類:控制平面操作和資料平面操作。控制平面操作可讓您執行例如設定安全性、登錄裝置、設定路由資料規則及設定日誌等任務。資料平面操作則可以讓您用低延遲和高輸送率大規模地將資料從連網裝置導入 AWS IoT。

問:AWS IoT 支援哪些通訊和身份驗證協定?

對於控制平面操作,AWS IoT 支援 HTTPS。對於資料平面操作,AWS IoT 則支援 HTTPS、WebSocket 和安全 MQTT (IoT 案例中常用的協定)。

傳送至 AWS IoT 的 HTTPS 和 WebSocket 請求會透過 AWS IAM 或 AWS Cognito 進行身份驗證,這兩者都支援 AWS SigV4 身份驗證。如果您使用 AWS 開發套件或 AWS CLI,則會在幕後自動幫您處理 SigV4 身份驗證。HTTPS 請求還會使用 X.509 憑證進行身份驗證。傳送至 AWS IoT 的 MQTT 訊息會使用 X.509 憑證進行身份驗證。

透過 AWS IoT,您可以使用 AWS IoT 產生的憑證,也可以使用偏好的憑證授權單位 (CA) 所簽署的憑證。

問:未直接連接網際網路的裝置是否可存取 AWS IoT?

是,可透過實體集線器。連接至私有 IP 網路的裝置和使用非 IP 無線協定 (像是 ZigBee 或 Bluetooth LE) 的裝置都可存取 AWS IoT,只要在裝置和 AWS IoT 之間使用實體集線器做為媒介以進行通訊和提供安全性即可。

問:應用程式應如何存取 AWS IoT?

連接至 AWS IoT 的應用程式分成兩類:1. 配套應用程式和 2. 伺服器應用程式。配套應用程式是行動或用戶端瀏覽器應用程式,可透過雲端與連網裝置進行互動。讓消費者從遠端解除家裡智慧鎖的行動應用程式就是配套應用程式的其中一個範例。伺服器應用程式旨在同時監視和控制大量連網裝置。伺服器應用程式的其中一個範例就是車隊管理網站,這種網站可以即時在地圖上繪出數千輛貨車的位置。

AWS IoT 可讓配套應用程式和伺服器應用程式透過統一的 RESTful API 來存取連網裝置。應用程式還能選擇使用發佈/訂閱來和連網裝置進行直接通訊。

配套應用程式通常會使用最終使用者身分進行身份驗證,而這些身分可能由您自己的身分存放區或第三方身分供應商 (例如 Facebook 和 Login with Amazon) 管理。對於使用與多個身分供應商整合的 Amazon Cognito 的配套應用程式。Cognito 身分可獲授權以存取 AWS IoT,而且可將他們的存取權限制為只能存取與其相關的資源。例如,若您是一家連線洗衣機製造商,您可以授權消費者只能存取與他們自己的洗衣機有關的 AWS IoT 資訊。

伺服器應用程式 (例如在 Amazon EC2 上執行的映射應用程式) 可以使用 IAM 角色來存取 AWS IoT。

問:是否可取得從我的帳戶發出的 AWS IoT API 呼叫歷史記錄,以便用於安全分析和操作故障排除?

是,要取得從您的帳戶發出的 AWS IoT API 呼叫歷史記錄,您只需在 AWS 管理主控台中開啟 CloudTrail 即可。

主控台有哪些新功能?
AWS IoT 主控台支援英文、簡體中文和法文。

如何切換主控台的語言?
按一下主控台左下方的語言,然後選取語言。語言選項會套用到不同 AWS 服務的主控台。

如何傳送意見反應?
要傳送意見反應,按一下主控台註腳列上的 "Feedback" 連結。

問:什麼是 AWS IoT 裝置閘道?

裝置閘道形成了連網裝置和雲端功能 (例如 AWS IoT 規則引擎、裝置陰影和其他 AWS 和第三方服務) 之間的通訊骨幹。

裝置閘道支援發佈/訂閱簡訊模式,以支援可擴展、低延遲和低開銷的通訊。這對預計有數十億部裝置,且要經常通訊並將延遲降到最低的物聯網案例而言特別有用。發佈/訂閱涉及用戶端在稱為「主題」的邏輯通訊通道上發佈訊息,以及用戶端訂閱主題以接收訊息。裝置閘道讓發佈者與訂閱者之間可以進行通訊。組織過去需要佈建、操作、擴展和維護自己的伺服器做為裝置閘道,以充分利用發佈/訂閱的優點。AWS IoT 服務透過提供 AWS IoT 裝置閘道來消除這個障礙。

裝置閘道會隨著用量自動擴展,您無須負擔任何營運開銷。AWS IoT 支援與裝置閘道間的安全通訊、AWS 帳戶層級隔離,以及 AWS 帳戶內的精確授權。裝置閘道目前支援透過安全 MQTT 和 WebSocket 發佈和訂閱,以及透過 HTTPS 發佈。

問:什麼是 MQTT?

MQTT 是輕量型發佈/訂閱網路協定,旨在大幅降低網路頻寬和裝置資源需求。MQTT 還支援使用 TLS 進行安全通訊。MQTT 通常用於物聯網使用案例。MQTT v3.1.1 是一種 OASIS 標準,且 AWS IoT 裝置閘道支援大部分的 MQTT 規格。

問:什麼是 AWS IoT 規則引擎?

AWS IoT 規則引擎可不間斷地處理連接至 AWS IoT 服務之裝置的傳入資料。您可以使用類似 SQL 的直覺式語法在規則引擎中設定規則,以自動篩選和轉換所傳入的資料。您還可進一步設定規則,將資料從 AWS IoT 服務路由至多個其他 AWS 服務,或是路由到自有的服務或第三方服務。
以下是規則的一些範例使用案例:
• 篩選和轉換內送訊息並以時間序列資料的形式存放在 DynamoDB。
• 當來自感應器的資料超過特定閾值時,透過 SNS 傳送推送通知。
• 將韌體檔案儲存至 S3
• 使用 Kinesis 同時處理來自大量裝置的訊息
• 叫用 Lambda 對傳入資料進行自訂處理
• 傳送命令至一組裝置,其中包含自動重新發佈

問:如何定義及觸發規則?

AWS IoT 規則由兩個主要部分組成:

  • SQL 陳述式可指定要套用規則的發佈/訂閱網路主題、要執行的資料轉換 (如果有),以及應執行規則的條件。規則會套用到針對指定主題發佈的每則訊息。
  • 動作清單可定義執行規則時要採取的動作,也就是當內送訊息符合規則中指定的條件時。

規則定義會使用 JSON 結構描述。您可以直接編輯 JSON 或使用 AWS 管理主控台中的規則編輯器。
舉例來說,底下的規則指定每當溫度超過 50,就將來自感應器的溫度資料儲存至 DynamoDB:

{

"sql": "SELECT * from 'iot/tempSensors/#' WHERE temp > 50",

"description": "Rule to save sensor data when temperature is about 50",

"actions": [

{

"dynamoDB": {

"tableName": "HighTempTable",

"roleArn": "arn:aws:iam::your-aws-account-id:role/dynamoPut",

"hashKeyField": "key",

"hashKeyValue": "${topic(3)}",

"rangeKeyField": "timestamp",

"rangeKeyValue": "${timestamp()}"

}

      }

  ]

}

在這個範例中,感應器在 "iot/tempSensors/" 下的主題進行發佈。規則的第一行定義了用來查詢 "iot/tempSensors/#" 主題的 SQL SELECT 陳述式。其中包含一個 WHERE 子句,它會擷取訊息承載中 ‘temp’ 欄位的值,並檢查該值是否符合「大於 50」這個條件。如果符合條件,就會將資料存放至指定的 DynamoDB 表。這個範例使用內建函數來處理周遊訊息承載和取得目前時間等任務。

問:哪裡可以進一步了解規則?

您可以在這裡進一步了解規則的相關資訊:AWS IoT 規則文件

問:什麼是 AWS IoT 裝置登錄,而又該用於何處?

物聯網案例包含數量不多的關鍵任務裝置到大型裝置叢集等各種案例。AWS IoT 裝置登錄可讓您整理並追蹤這些裝置。您可以針對連接至 AWS IoT 的每個裝置,在裝置登錄中維護一個邏輯控點。裝置登錄中的每個裝置都可被唯一識別,而且有與其關聯的中繼資料,例如型號、支援聯絡方式和憑證。您可以根據中繼資料在裝置登錄中搜尋連網裝置。

問:什麼是裝置類型?

使用裝置類型可透過定義相同裝置類別中的裝置共同特性,有效地管理裝置的目錄。此外,與裝置類別關聯的裝置現在可有高達 50 個屬性,包含 3 個可搜尋屬性。

問:什麼是簡化的許可管理?

此功能可讓您使用參考登錄或 X.509 憑證屬性的變數,輕鬆地管理大量裝置的許可政策。登錄和憑證屬性與裝置政策的整合提供了以下好處:

  • 您現在可以參考裝置許可政策中的裝置登錄屬性。參考裝置登錄中定義的裝置屬性可讓您的政策反映裝置登錄所做的任何變更。例如,透過參考名為 "building-address" 的 Thing Attribute 做為政策中的變數,裝置就會在移動建置時自動繼承一組新的許可。
  • 您可以讓多個裝置共用一個普遍政策。相同類別裝置可以共用一個普遍政策,無須為各裝置建立唯一的政策。例如,參考 "serial-number" 做為變數的政策可連接到相同型號的所有裝置。當連接相同序號的裝置時,政策變數會自動被它們的序號取代。

問:什麼是裝置陰影?

裝置陰影可讓雲端和行動應用程式輕鬆地與在 AWS IoT 登錄的連網裝置互動。AWS IoT 中的裝置陰影包含連網裝置的屬性。您可以定義適用於使用案例的任何屬性集。例如,針對智慧燈泡,您可以定義「開或關」、「顏色」和「亮度」做為屬性。連網裝置應該要回報那些屬性的實際值,而這些值會存放在裝置陰影。應用程式使用 AWS IoT 服務提供的 RESTful API 就能輕鬆取得及更新屬性。AWS IoT 服務和 AWS IoT 裝置開發套件會負責在 AWS IoT 中同步連網裝置及其陰影之間的屬性值。

問:我必須使用裝置登錄與裝置陰影嗎?

您可以使用 AWS IoT 中的裝置閘道和/或規則引擎,讓應用程式直接與連網裝置進行通訊。不過,我們建議您使用裝置登錄和裝置陰影,因為它們能提供較為豐富和更有結構的開發和管理經驗,讓您專注在為客戶建立獨特的價值,而不是著重在連網裝置和雲端之間的基礎通訊和同步。

問:AWS IoT 中裝置及其陰影的生命週期為何?

• 您在裝置登錄中登錄裝置 (像是燈泡)。
• 您將連網裝置的程式設計為發佈一組屬性值或「狀態」(「我已開啟且我的顏色是紅色」) 至 AWS IoT 服務。
• 上次回報的狀態會存放在 AWS IoT 的裝置陰影。
• 應用程式 (例如,控制燈泡的行動應用程式) 使用 RESTful API 來查詢 AWS IoT 以取得燈泡上次回報的狀態,免除與燈泡直接進行通訊的複雜性。
• 當使用者想要變更狀態 (像是將燈泡從開變更為關) 時,應用程式會使用 RESTful API 來請求更新,也就是在 AWS IoT 設定裝置「所需」的狀態。AWS IoT 會負責將所需的狀態同步到裝置。
•當連網裝置將狀態更新為所需狀態時,應用程式會收到通知。

問:哪裡可以進一步了解裝置登錄和裝置陰影?

如需裝置登錄的詳細資訊,請參閱 AWS IoT 裝置登錄。如需陰影的詳細資訊,請參閱 AWS IoT 裝置陰影

問:是否可在 AWS IoT 設定精確的授權?

是。與其他 AWS 服務相似,您在 AWS IoT 可精確控制每個身分授權叫用的一組 API 動作。此外,您還可精確控制身分可發佈或訂閱的發佈/訂閱網路主題,以及身分可存取之裝置登錄的裝置和陰影。

問:哪裡可以進一步了解 AWS IoT 的安全和存取控制?

如需詳細資訊,請參閱 AWS IoT 安全與身分

問:什麼是憑證的 Just-in-time 註冊?

裝置憑證的 Just-in-time 註冊 (JITR) 是 2016 年 4 月推出的「使用自有憑證」功能的延伸,可簡化在 AWS IoT 註冊裝置的程序。支援 JITR 之前,裝置註冊程序需要兩個步驟:首先,在 AWS IoT 註冊憑證授權單位 (CA) 憑證,然後個別註冊 CA 簽署的裝置憑證。使用 JITR,您現在可以在裝置第一次連接到 AWS IoT 時自動註冊裝置憑證,以完成第二個步驟。如此可節省註冊裝置憑證的時間,還能在製造過程中讓裝置保持離線狀態。要進一步自動化 IoT 裝置佈建,您可以使用啟用憑證及連接政策的 Lambda 動作建立 AWS IoT 規則。如需詳細資訊,請參閱 AWS 上的物聯網部落格開發人員文件

問:什麼是 AWS IoT 裝置開發套件?

AWS IoT 裝置開發套件可簡化和加速在連網裝置 (微型控制器、感應器、傳動器、智慧型裝置、穿戴式裝置等) 上執行之程式碼的開發。首先,裝置可使用裝置開發套件來優化記憶體、電力和網路頻寬耗用情形。同時,裝置開發套件可透過內建 TLS、WebSocket 和 MQTT 支援來進行高度安全、低延遲和低開銷的通訊。裝置開發套件還支援較高層級的抽象 (例如,在 AWS IoT 服務同步裝置及其陰影的狀態),以加速物聯網應用程式的開發。

AWS IoT 裝置開發套件以開放原始碼專案的形式免費提供。如需詳細資訊,請瀏覽我們的裝置開發套件頁面

問:AWS IoT 裝置開發套件支援哪些程式設計語言和硬體平台?

AWS 目前提供 C 和 Node.js 語言及 Arduino Yún 平台的 AWS IoT 裝置開發套件。

此外,有多家硬體製造商已與 AWS 合作,在各自的平台上提供 AWS IoT 裝置開發套件。如需硬體平台的詳細資訊,請瀏覽我們的入門頁面

最後,AWS IoT 裝置開發套件是開放原始碼。如果您的語言和硬體平台尚未受到支援,則可以將開發套件移植到您選擇的語言和硬體平台。

 

問:我應該使用 AWS IoT 裝置開發套件還是 AWS 開發套件?

AWS IoT 裝置開發套件可補足 AWS 開發套件不足之處。物聯網專案通常涉及在微型控制器和其他資源受限裝置上執行的程式碼。不過,物聯網專案通常包含在雲端和行動裝置上執行的應用程式,這些應用程式會與微型控制器/資源受限裝置互動。AWS IoT 裝置開發套件適用於微型控制器/資源受限裝置,而 AWS 開發套件則適用於雲端和行動應用程式。

問:哪裡可以進一步了解 AWS IoT 裝置開發套件?

如需 AWS IoT 裝置開發套件的詳細資訊,請參閱 AWS IoT 裝置開發套件

問:AWS 免費方案中是否提供 AWS IoT 服務?

是。AWS IoT 是 AWS 免費方案的一部分,在前 12 個月提供每月 250,000 則免費訊息。

問:AWS IoT 服務的費用是多少?

請瀏覽我們的定價頁面以取得相關資訊。