将 Amazon IoT Core 和接口 VPC 终端节点一起使用 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

将 Amazon IoT Core 和接口 VPC 终端节点一起使用

Amazon IoT Core 使您能够使用接口 VPC 端点在您的 VPC 中创建 IoT 数据端点。接口 VPC 终端节点由 Amazon PrivateLink 提供支持,Amazon 技术使您能够通过使用私有 IP 地址访问在 Amazon 上运行的服务。有关更多信息,请参阅 Amazon Virtual Private Cloud

为了将远程网络上的现场设备(如企业网络)连接到 Amazon VPC,请参阅网络到 Amazon VPC 的连接矩阵中列出的各种选项。

章节主题:

创建 Amazon IoT Core 的 VPC 终端节点

要开始使用 VPC 终端节点,只需创建接口 VPC 终端节点,然后选择 Amazon IoT Core 作为 Amazon 服务。如果您使用 CLI,首先调用 describe-vpc-endpoint-services,确保您选择了一个可用区域,其中 Amazon IoT Core 存在于您的特定 Amazon Web Services 区域 中。例如,在 us-east-1 中,此命令将类似于:

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

用于自动创建 DNS 记录的 VPC 功能已被禁用。要连接到这些端点,您必须手动创建私有 DNS 记录。有关私有 VPC DNS 记录的更多信息,请参阅 接口终端节点的私有 DNS。有关 Amazon IoT Core VPC 限制的更多信息,请参阅 VPC 终端节点的限制

要将 MQTT 客户端连接到 VPC 端点接口,您必须在附加到 VPC 的私有托管区中手动创建 DNS 记录。要开始使用,请参阅创建私有托管区域。在您的私有托管区域中,为 VPC 终端节点的每个弹性网络接口 IP 创建别名记录。如果您有多个 VPC 终端节点的多个网络接口 IP,请在所有加权记录之间创建权重相等的加权 DNS 记录。通过描述字段中的 VPC 终端节点 ID 进行筛选时,可通过DescribeNetworkInterfaces API调用获得这些IP地址。

使用 VPC 终端节点控制对 Amazon IoT Core 的访问

您可以将设备访问限制为 Amazon IoT Core 仅允许使用 VPC 条件上下文键通过 VPC 终端节点访问。Amazon IoT Core 支持以下 VPC 相关的上下文键:

注意

例如,以下策略授予权限以使用与事物名称匹配的客户端 ID 连接到 Amazon IoT Core,并发布到任何以事物名称为前缀的主题,具体条件是设备连接到具有特定 VPC 终端节点 ID 的 VPC 终端节点。此策略将拒绝连接到您的公有 IoT 数据终端节点的尝试。

{ "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}/*" ] } ] }

VPC 终端节点的限制

本部分介绍与公有终端节点相比,VPC 终端节点的限制。

  • 当前,VPC 终端节点仅受 IoT 数据终端节点支持

  • MQTT 保持活动状态的时间限制为 230 秒。保持活动状态超过该时段的时间将自动减少到 230 秒

  • 每个 VPC 终端节点总共支持 100,000 台并发互联设备。如果您需要更多连接,请参阅 使用 IoT Core 扩缩 VPC 终端节点

  • VPC 终端节点仅支持 IPv4 流量。

  • VPC 终端节点将仅提供 ATS 证书,但自定义域除外。

  • 目前不支持 VPC 终端节点策略

  • 对于为 Amazon IoT Core 数据面板创建的 VPC 端点,Amazon IoT Core 不支持使用地区或区域性公有 DNS 记录。

使用 IoT Core 扩缩 VPC 终端节点

Amazon IoT Core 接口 VPC 终端节点仅限于通过单个接口终端节点连接的 100,000 台互联设备。如果您的使用案例需要更多的并发连接到代理,那么我们建议您使用多个 VPC 终端节点并在接口终端节点之间手动路由您的设备。创建私有 DNS 记录将流量路由到 VPC 终端节点时,确保创建与 VPC 终端节点 数量相同的加权记录,以便在多个终端节点之间 分配流量。

将自定义域用于 VPC 终端节点

如果要将自定义域与 VPC 终端节点结合使用,必须在私有托管区域中创建自定义域名记录并在 Route53 中创建路由记录。有关更多信息,请参阅创建私有托管区域

适用于 Amazon IoT Core 的 VPC 终端节点的可用性

Amazon IoT Core 接口 VPC 端点在所有 Amazon IoT Core 支持的区域中都可用。