诊断连接问题
帮助我们改进此主题
成功连接到 Amazon IoT 需要:
-
有效的连接
-
有效且已激活的证书
-
允许所需连接和操作的策略
Connection
- 如何找到正确的端点?
-
-
aws iot describe-endpoint返回的--endpoint-type iot:Data-ATS endpointAddress或
-
aws iot describe-domain-configuration返回的–-domain-configuration-name " domain_configuration_name"domainName
-
- 如何找到正确的 Server Name Indication(SNI)值?
-
正确的 SNI 值是由 describe-endpoint
返回的 endpointAddress或由 describe-domain-configuration命令返回的 domainName。它是与上一步中的端点相同的地址。将设备连接到 Amazon IoT Core 时,客户端可以发送服务器名称指示(SNI)扩展,这不是必需的,但强烈建议您这样做。要使用多账户注册、自定义域和 VPC 端点等特征,必须使用 SNI 扩展。有关更多信息,请参阅 Amazon IoT 中的传输安全。 - 我该如何解决持续存在的连接问题?
-
您可以使用 Amazon Device Advisor 帮助进行故障排除。Device Advisor 的预构建测试可帮助您根据最佳实践验证您的设备软件,以便使用 TLS、MQTT、Amazon IoT 设备影子和 Amazon IoT Jobs。
以下是现有 Device Advisor 内容的链接。
身份验证
设备必须经过身份验证以连接到 Amazon IoT 端点。对于使用 X.509 客户端证书 进行身份验证的设备,则必须将证书注册到 Amazon IoT 并使其处于活动状态。
- 我的设备如何对 Amazon IoT 端点进行身份验证?
-
将 Amazon IoT CA 证书添加到客户端的信任存储。请参阅 Amazon IoT Core 中的服务器身份验证上的文档,然后通过链接下载适当的 CA 证书。
- 当设备连接到 Amazon IoT 时需要检查什么?
-
当设备尝试连接到 Amazon IoT 时:
-
Amazon IoT 检查有效的证书和 Server Name Indication(SNI)值。
-
Amazon IoT 检查所使用的证书是否已注册到 Amazon IoT 账户,并且是否已被激活。
-
当设备尝试在 Amazon IoT 中执行任何操作时(例如订阅或发布消息),则会检查附加到用于连接的证书策略,以确认设备是否有权执行该操作。
-
- 如何验证证书的配置是否正确?
-
请使用 OpenSSL
s_client命令测试与 Amazon IoT 端点的连接:openssl s_client -connectcustom_endpoint.iot.aws-region.amazonaws.com:8443 -CAfileCA.pem-certcert.pem-keyprivateKey.pem有关如何使用
openssl s_client的更多信息,请参阅 OpenSSL s_client 文档。 - 如何检查证书的状态?
-
-
列出证书
如果您不知道该证书 ID,则可以使用
aws iot list-certificates命令查看所有证书的状态。 -
显示证书的详细信息
如果您知道证书的 ID,此命令将显示有关证书的更详细信息。
aws iot describe-certificate --certificate-id "certificateId" -
在 Amazon IoT 控制台中查看证书
在 Amazon IoT 控制台
,在左侧菜单中,选择安全,然后选择证书。 从列表中选择用于连接的证书以打开其详细信息页面。
在证书的详细信息页面中,您可以查看其当前状态。
证书的状态可以通过使用详细信息页面右上角的 Actions(操作)菜单来更改。
-
授权
Amazon IoT 资源使用 Amazon IoT Core 策略 授权这些资源执行操作。对于要授权的操作,指定的 Amazon IoT 资源必须附加一个策略文档,该文档将授予执行该操作的权限。
- 我收到了代理发送的
PUBNACK或SUBNACK回复。我应该怎么办? -
请确保当前有策略附加到您用于调用 Amazon IoT 的证书。默认情况下,所有的发布/订阅操作均将被拒绝。
确保附加的策略授权您尝试执行的操作。
确保附加的策略授权正在尝试执行授权操作的资源。
- 我的日志中有一个 AUTHORIZATION_FAILURE 的条目。
-
请确保当前有策略附加到您用于调用 Amazon IoT 的证书。默认情况下,所有的发布/订阅操作均将被拒绝。
确保附加的策略授权您尝试执行的操作。
确保附加的策略授权正在尝试执行授权操作的资源。
- 如何检查策略授权的内容?
-
在 Amazon IoT 控制台
的左侧菜单中,选择安全性,然后选择证书。 从列表中选择用于连接的证书以打开其详细信息页面。
在证书的详细信息页面中,您可以查看其当前状态。
在证书详细信息页面的左侧菜单中,选择 Policies(策略)查看附加到该证书的策略。
选择所需策略以查看其详细信息页面。
在策略的详细信息页面中,查看策略的策略文档以查看它授权的内容。
选择 Edit policy document(编辑策略文档)对策略文档进行更改。
安全和身份
当您为 Amazon IoT 自定义域配置提供服务器证书时,证书最多有四个域名。
有关更多信息,请参阅 Amazon IoT Core 端点和限额。