

AWS FleetWise 物联网不再向新客户开放。现有的 AWS 物联网 FleetWise 客户可以继续使用该服务。[上的《互联移动指南》 AWS提供了有关如何为](https://aws.amazon.com/solutions/guidance/connected-mobility-on-aws/)互联移动解决方案开发和部署模块化服务的指导，这些解决方案可用于实现与 AWS 物联网同等的功能 FleetWise。

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

# 向提出请求 AWS FleetWise 使用 IPv6 的物联网
<a name="fleetwise-ipv6-access"></a>

您可以通过互联网协议版本 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 先决条件
<a name="fleetwise-ipv6-sni"></a>

将自动为控制平面端点启用 IPv6 协议支持。使用控制面板客户端的端点时，必须提供[服务器名称指示（SNI）扩展名](https://www.rfc-editor.org/rfc/rfc3546#section-3.1)。客户端可以使用 SNI 扩展来指示正在联系的服务器的名称，以及它使用的是常规端点还是双栈端点。请参阅[使用双堆栈端点](#fleetwise-ipv6-dualstack)。

## IPv6 支持 AWS PrivateLink 端点
<a name="fleetwise-ipv6-privatelink"></a>

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

## 正在测试 IPv6 地址兼容性
<a name="fleetwise-ipv6-compatibilty"></a>

如果您使用的是 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 地址
<a name="fleetwise-ipv6-iam"></a>

在对资源使用 IPv6 之前，必须确保任何用于 IP 地址筛选的 IAM 策略都包含 IPv6 地址范围。有关使用 IAM 管理访问权限的更多信息，请参阅 [适用于 Identity and Access 管理 AWS 物联网 FleetWise](security-iam.md)。

筛选 IP 地址的 IAM 策略使用 [IP 地址条件运算符](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Conditions_IPAddress)。以下策略使用 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"
      ]
    }
  }
```

## 使用双堆栈端点
<a name="fleetwise-ipv6-dualstack"></a>

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

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

下表显示了使用 IPv4 和双栈模式 FleetWise 时物 AWS 联网控制平面端点的格式。有关这些终端节点的更多信息，请参阅[AWS 物联网 FleetWise 终端节点](https://docs.aws.amazon.com/general/latest/gr/iotfleetwise.html)。


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

使用 AWS CLI 和 AWS 软件开发工具包时，您可以使用`AWS_USE_DUALSTACK_ENDPOINT`环境变量或`use_dualstack_endpoint`参数（共享配置文件设置）更改为双堆栈端点。您也可以在配置文件中直接将双栈端点指定为 AWS 物联网 FleetWise 端点的替代项。有关更多信息，请参阅[Dual-stack 和 FIPS 端点](https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html)。

使用时 AWS CLI，您可以像在 Config 文件`true`中的配置文件中`use_dualstack_endpoint`一样设置 AWS 配置值。这会将命令发出的所有 AWS IoT 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>}}
  ```
+ 您可以在 Config 文件中设置单独的 AWS 配置文件。例如，创建一个设置为 true `use_dualstack_endpoint` 的配置文件和一个未设置的配置文件`use_dualstack_endpoint`。在运行命令时，根据是否需要使用双堆栈端点来指定要使用的配置文件。