View a markdown version of this page

向... 提出请求 AWS 物联网 FleetWise 使用 IPv6 - AWS 物联网 FleetWise

AWS 物联网 FleetWise 不再向新客户开放。现有的 AWS 物联网 FleetWise 客户可以继续使用该服务。《互联出行指南》 AWS为如何开发和部署用于实现与 AWS 物联网同等功能的互联移动解决方案的模块化服务提供了指导 FleetWise。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

向... 提出请求 AWS 物联网 FleetWise 使用 IPv6

您可以通过互联网协议版本 6 (IPv6) 和 IPv4 与 AWS IoT FleetWise 通信,以管理您的资源。 Dual-stack终端支持通过 IPv6 和 IPv4 向 AWS 物联网 FleetWise API 发出的请求。通过 IPv6 进行通信不收取额外费用。

IPv6 协议是下一代 IP 标准,具有额外的安全功能。它提供 128 位长地址空间,而 IPv4 具有 32 位长的地址空间。IPv4 可以生成 4.29 x 10^9 地址,而 IPv6 可以生成 3.4 x 10^38 个地址。

控制平面端点的 IPv6 先决条件

控制平面端点自动启用 IPv6 协议支持。使用控制面板客户端的端点时,必须提供服务器名称指示(SNI)扩展名。客户端可以使用 SNI 扩展来指明正在联系的服务器的名称,以及它使用的是常规端点还是双栈端点。请参阅使用双堆栈端点。

AWS 物联网 FleetWise 支持使用 IPv6 通信来接口 VPC 终端节点 AWS PrivateLink。

测试 IPv6 地址兼容性

如果您使用的是 use Linux/Unix 或 Mac OS X,则可以使用 curl 命令测试是否可以通过 IPv6 访问双栈终端节点,如以下示例所示:

curl -v https://iotfleetwise.<us-east-1>.api.aws

您获得的信息如下例所示。如果你通过 IPv6 进行连接,则连接的 IP 地址将是 IPv6 地址。

* Host iotfleetwise.us-east-1.api.aws:443 was resolved. * IPv6: ::ffff:3.82.78.135, ::ffff:54.211.220.216, ::ffff:54.211.201.157 * IPv4: (none) * Trying [::ffff:3.82.78.135]:443... * Connected to iotfleetwise.us-east-1.api.aws (::ffff:3.82.78.135) port 443 * ALPN: curl offers h2,http/1.1

如果你使用的是微软 Windows 7 或 Windows 10,你可以使用 ping 命令测试你能否通过 IPv6 或 IPv4 访问双栈终端节点,如以下示例所示。

ping iotfleetwise.<us-east-1>.api.aws

在 IAM 策略中使用 IPv6 地址

在使用 IPv6 作为资源之前,必须确保任何用于 IP 地址筛选的 IAM 策略都包含 IPv6 地址范围。有关使用 IAM 管理访问权限的更多信息,请参阅 的身份和访问管理 AWS 物联网 FleetWise。

筛选 IP 地址的 IAM 策略使用 IP 地址条件运算符。以下策略使用 IP 地址条件运算符确定允许的 IPv4 地址54.240.143.*范围。由于所有 IPv6 地址都超出允许范围,因此此策略禁止使用 IPv6 地址进行通信。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "IPAllow", "Effect": "Allow", "Principal": "*", "Action": "iotfleetwise:*", "Resource": "arn:aws:iotfleetwise:us-east-1:111122223333:*", "Condition": { "IpAddress": {"aws:SourceIp": "54.240.143.0/24"} } } ] }

要包括 IPv6 地址,您可以修改策略的条件元素以允许两个 IPv4 (54.240.143)。0/24) 和 IPv6 (2001DB8:1234:5678::: /64) 地址范围,如以下示例所示。

"Condition": { "IpAddress": { "aws:SourceIp": [ "54.240.143.0/24", "2001:DB8:1234:5678::/64" ] } }

使用双堆栈端点

AWS 物联网 FleetWise 双栈终端节点支持通过 IPv6 和 IPv4 向 AWS 物联网 FleetWise API 发出的请求。当您向双栈终端节点发出请求时,它会自动解析为 IPv4 或 IPv6 地址。在双栈模式下,IPv4 和 IPv6 客户端连接都被接受。

如果您使用的是 REST API,则可以使用 FleetWise 端点名称 (URI) 直接访问 AWS 物联网终端节点。 AWS IoT 仅 FleetWise 支持区域双栈终端节点名称,这意味着您必须将指定 AWS 区域 为名称的一部分。

下表显示了使用 IPv4 和双栈模式 FleetWise 时 AWS IoT 控制平面端点的格式。有关这些终端节点的更多信息,请参阅 AWS IoT FleetWise 终端节点。

端点 IPv4 地址 Dual-stack 模式
控制面板 iotfleetwise。<region>.amazonaws.com iotfleetwise。<region>.api.aws

使用 AWS CLI 和 AWS SDK 时,您可以使用AWS_USE_DUALSTACK_ENDPOINT环境变量或use_dualstack_endpoint参数(共享配置文件设置)更改为双栈终端节点。您还可以在配置文件中直接将双栈终端节点指定为 AWS IoT FleetWise 终端节点的替代。有关更多信息,请参阅Dual-stack 和 FIPS 终端节点。

使用时 AWS CLI,可以在配置文件true中将配置值设置use_dualstack_endpoint为配置文件中的 AWS 配置值。这会将命令发出的所有 AWS 物联网 FleetWise 请求定向到指定区域的双栈终端节点。您可以在配置文件或命令中使用 --region 选项指定区域。

$ aws configure set default.iotfleetwise.use_dualstack_endpoint true

与其对所有命令使用双栈端点,不如将这些端点用于特定命令:

  • 通过为特定命令设置--endpoint-url参数,您可以将双栈终端节点用于这些命令。例如,在以下命令中,您可以将替换<endpoint-url>为iotfleetwise.<region>.api.aws。

    aws iotfleetwise list-fleets \ --endpoint-url <endpoint-url>
  • 您可以在配置文件中设置单独的 AWS 配置文件。例如,创建一个设置为 true use_dualstack_endpoint 的配置文件和一个未设置的配置文件use_dualstack_endpoint。在运行命令时,根据是否需要使用双堆栈端点来指定要使用的配置文件。