Device Advisor VPC 端点 (AWS PrivateLink) - AWS IoT Core

Device Advisor VPC 端点 (AWS PrivateLink)

您可以通过创建接口 VPC 端点 在 VPC 和 AWS IoT Core Device Advisor 测试端点(数据面板)之间建立私有连接。您可以使用此端点验证 AWS IoT 设备 与 AWS IoT Core 之间的连接是否安全和可靠,然后将设备部署到生产环境。Device Advisor 的预构建测试可帮助您根据最佳实践验证您的设备软件,以便使用 TLSMQTT设备影子AWS IoT Jobs

AWS PrivateLink 可为与您的物联网设备结合使用的接口端点提供支持。此服务可帮助您以私有方式访问 AWS IoT Core Device Advisor 测试端点,而无需互联网网关、NAT 设备、VPN 连接或 Direct Connect 连接。VPC 中发送 TCP 和 MQTT 数据包的实例不需要公有 IP 地址来与 AWS IoT Core Device Advisor 测试端点进行通信。您的 VPC 和 AWS IoT Core Device Advisor 之间的流量 不会脱离 AWS 云。IoT 设备和 Device Advisor 测试案例之间的任何 TLS 和 MQTT 通信均在您 AWS 账户 中的资源范围内。

每个接口端点均由子网中的一个或多个弹性网络接口表示。

要了解有关使用接口 VPC 端点的更多信息,请参阅《Amazon VPC 用户指南》中的接口 VPC 端点 (AWS PrivateLink)

AWS IoT Core Device Advisor VPC 端点注意事项

在设置接口 VPC 端点之前,请先查看《Amazon VPC 用户指南》中的接口端点属性和限制。继续之前,请注意以下各项:

  • AWS IoT Core Device Advisor 目前支持从您的 VPC 调用 Device Advisor 测试端点(数据面板)。消息代理使用数据面板通信发送和接收数据。这是在 TLS 和 MQTT 数据包的帮助下实现的。AWS IoT Core Device Advisor 的 VPC 端点将您的 AWS IoT 设备连接到 Device Advisor 测试端点。此 VPC 端点不使用控制面板 API 操作。为了创建或运行测试套件或其他控制面板 API,请通过公共互联网使用控制台、AWS SDK 或 AWS 命令行接口。

  • 以下 AWS 区域 对于 AWS IoT Core Device Advisor 支持 VPC 端点:

    • 美国东部(弗吉尼亚州北部)

    • 美国西部(俄勒冈)

    • 亚太地区(东京)

    • 欧洲地区(爱尔兰)

  • Device Advisor 支持使用 X.509 客户端证书和 RSA 服务器证书的 MQTT。

  • 目前不支持 VPC 端点策略

  • 查看 VPC 端点先决条件,了解有关如何创建连接 VPC 端点的资源的说明。您必须创建 VPC 和私有子网才能使用 AWS IoT Core Device Advisor VPC 端点。

  • 您的 AWS PrivateLink 资源上有配额。有关更多信息,请参阅 AWS PrivateLink 配额

  • VPC 端点仅支持 IPv4 流量。

为 AWS IoT Core Device Advisor 创建接口 VPC 端点

要开始使用 VPC 端点,请创建接口 VPC 端点。接下来,选择 AWS IoT Core Device Advisor 作为 AWS 服务。如果您使用 AWS CLI,请调用 describe-vpc-endpoint-services 以确认 AWS IoT Core Device Advisor 是否存在于 AWS 区域 的可用区中。确认连接到端点的安全组允许对 MQTT 和 TLS 流量使用 TCP 协议通信。例如,在美国东部(弗吉尼亚州北部)区域中,使用以下命令:

aws ec2 describe-vpc-endpoint-services --service-name com.amazonaws.us-east-1.deviceadvisor.iot

您可以使用以下服务名称为 AWS IoT Core 创建 VPC 端点:

  • com.amazonaws.region.deviceadvisor.iot

默认情况下,对于此端点开启私有 DNS。这确保默认测试端点的使用保持在您的私有子网内。要获取您的账户或设备级端点,请使用控制台、AWS CLI 或 AWS SDK。例如,如果您在公有子网或公共互联网上运行 get-endpoint,则可以获取您的端点并使用它来连接到 Device Advisor。有关更多信息,请参阅《Amazon VPC 用户指南》中的通过接口端点访问服务

要将 MQTT 客户端连接到 VPC 端点接口,AWS PrivateLink 服务将在附加到 VPC 的私有托管区中创建 DNS 记录。这些 DNS 记录将 AWS IoT 设备的请求定向到 VPC 端点。

通过 VPC 端点控制对 AWS IoT Core Device Advisor 的访问

您可以将设备访问限制为 AWS IoT Core Device Advisor,并仅允许使用 VPC 条件上下文键通过 VPC 端点进行访问。AWS IoT Core 支持以下 VPC 相关的上下文键:

注意

AWS IoT Core Device Advisor 目前不支持 VPC 端点策略

以下策略授予使用与事物名称匹配的客户端 ID 连接到 AWS IoT Core Device Advisor 的权限。它还会发布到任何以事物名称为前缀的主题。该策略以设备连接到具有特定 VPC 端点 ID 的 VPC 端点为条件。此策略拒绝连接到您的公有 AWS IoT Core Device Advisor 测试端点的尝试。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}" ], "Condition": { "StringEquals": { "aws:SourceVpce": "vpce-1a2b3c4d" } } }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:topic/${iot:Connection.Thing.ThingName}/*" ] } ] }