診斷連線問題 - AWS IoT Core

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

診斷連線問題

協助我們改善此主題

成功的連線 AWS IoT 需要:

  • 有效的連線

  • 有效且作用中的憑證

  • 允許所需連線和作業的政策

連線

如何找到正確的端點?
如何找到正確的伺服器名稱指示 (SNI) 值?

正確的 SNI 值是 describe-endpoint 傳回的 endpointAddress,或是 describe-domain-configuration 命令傳回的 domainName。其地址與上一個步驟中的端點相同。將裝置連線到時 AWS IoT Core,用戶端可以傳送伺服器名稱指示 (SNI) 延伸模組,這不是必要的,但強烈建議使用。您必須使用 SNI 擴充功能,才能使用如多帳戶註冊自訂網域及 VPC 端點等功能。如需詳細資訊,請參閱中的傳輸安全性 AWS IoT

如何解決持續存在的連線問題?

您可以使用 AWS 裝置建議程式協助疑難排解。Device Advisor 的預先建置測試可協助您針對最佳實務,驗證您的裝置軟體是否使用了 TLSMQTTAWS IoT Device Shadow,以及 AWS IoT 工作

這是現有 Device Advisor 內容的連結。

身分驗證

裝置必須經過驗證才能連線到 AWS IoT 端點。對於用於驗證的裝置,憑證必須在中註冊 AWS IoT 並處X.509 用戶端憑證於作用中狀態。

我的裝置如何驗證 AWS IoT 端點?

將 AWS IoT CA 憑證新增至用戶端的信任存放區。請參閱 AWS IoT Core中的伺服器驗證文件,然後遵循連結下載適當的憑證授權機構憑證。

設備連接到時檢查什麼 AWS IoT?

當裝置嘗試連接至 AWS IoT時:

  1. AWS IoT 檢查是否有效的憑證和伺服器名稱指示 (SNI) 值。

  2. AWS IoT 檢查使用的憑證是否已在「 AWS IoT 帳戶」中註冊,以及是否已啟用。

  3. 當裝置嘗試在中 AWS IoT執行任何動作 (例如訂閱或發佈訊息) 時,系統會檢查附加至其連線憑證的原則,以確認裝置已獲授權執行該動作。

如何驗證憑證是否正確設定?

請使用 OpenSSL s_client 命令來測試與 AWS IoT 端點的連線:

openssl s_client -connect custom_endpoint.iot.aws-region.amazonaws.com:8443 -CAfile CA.pem -cert cert.pem -key privateKey.pem

如需使用 openssl s_client 的詳細資訊,請參閱 OpenSSL s_client 文件

如何檢查憑證的狀態?
  • 列出憑證

    若您不知道憑證 ID,您可使用 aws iot list-certificates 命令,查看您所有憑證的狀態。

  • 顯示憑證的詳細資訊

    若您知道憑證的 ID,此命令會顯示更多有關憑證的詳細資訊。

    aws iot describe-certificate --certificate-id "certificateId"
  • 在 AWS IoT 主控台中檢閱憑證

    AWS IoT 主控台 的左側選單中,依序選擇 Secure (安全) 和 Certificates (憑證)。

    從清單中選擇您用來連線的憑證,開啟其詳細資訊頁面。

    於憑證的詳細資訊頁面中,您可查看其目前的狀態。

    可使用詳細資訊頁面右上角的 Actions (動作)選單來變更憑證的狀態。

授權

AWS IoT 資源用AWS IoT Core 政策於授權這些資源以執行動作。若要獲得授權的動作,指定的 AWS IoT 資源必須附加一份原則文件,以授與執行該動作的權限。

我從代理程式收到 PUBNACKSUBNACK 的回應? 我要怎麼做?

請確定您用來呼叫的憑證上有附加原則 AWS IoT。根據預設,所有發佈/訂閱的操作都會遭拒。

請確定連接的政策會授權您正嘗試執行的動作

請確定連接的政策會授權您正嘗試執行授權動作的資源

我的日誌中有一則 AUTHORIZATION_FAILURE 項目。

請確定您用來呼叫的憑證上有附加原則 AWS IoT。根據預設,所有發佈/訂閱的操作都會遭拒。

請確定連接的政策會授權您正嘗試執行的動作

請確定連接的政策會授權您正嘗試執行授權動作的資源

如何查看政策授權的內容?

AWS IoT 主控台 的左側選單中,依序選擇 Secure (安全) 和 Certificates (憑證)。

從清單中選擇您用來連線的憑證,開啟其詳細資訊頁面。

於憑證的詳細資訊頁面中,您可查看其目前的狀態。

於憑證詳細資訊頁面的左側選單中,選擇 Policies (政策),查看連接至憑證的政策。

選擇想要的政策以查看其詳細資訊頁面。

於政策的詳細資訊頁面中,檢閱政策的政策文件以查看其授權內容。

選擇 Edit policy document (編輯政策文件),對政策文件進行變更。

安全性與身分

當您為 AWS IoT 自訂網域組態提供伺服器憑證時,憑證最多有四個網域名稱。

如需詳細資訊,請參閱 AWS IoT Core 端點和配額