使用 IPv6 向AWS IoT FleetWise 提出請求 - AWS IoT FleetWise

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 IPv6 向AWS IoT FleetWise 提出請求

您可以透過網際網路通訊協定第 6 版 (IPv6) 和 IPv4 與 AWS IoT FleetWise 通訊,以管理您的 資源。雙堆疊端點支援透過 IPv6 和 IPv4 向AWS IoT FleetWise APIs提出請求。透過 IPv6 進行通訊無需額外費用。

IPv6 通訊協定是具有其他安全功能的新一代 IP 標準。它提供 128 位元長地址空間,而 IPv4 有 32 位元長地址。IPv4 可以產生 4.29 x 10^9 地址,而 IPv6 可以有 3.4 x 10^38 地址。

控制平面端點的 IPv6 先決條件

IPv6 通訊協定支援會自動為控制平面端點啟用。將端點用於控制平面用戶端時,您必須提供伺服器名稱指示 (SNI) 延伸。用戶端可以使用 SNI 延伸來指出正在聯絡的伺服器名稱,以及使用一般端點或雙堆疊端點。請參閱 使用雙堆疊端點

AWS IoT FleetWise 支援使用 界面 VPC 端點的 IPv6 通訊AWS PrivateLink。

測試 IPv6 地址相容性

如果您使用的是 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

如果您使用的是 Microsoft Windows 7 或 Windows 10,您可以使用 ping 命令測試是否可以透過 IPv6 或 IPv4 存取雙堆疊端點,如下列範例所示。

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

在 IAM 原則中使用 IPv6 地址

將 IPv6 用於資源之前,您必須確保用於 IP 地址篩選的任何 IAM 政策都包含 IPv6 地址範圍。如需 IAM 管理存取許可的詳細資訊,請參閱 適用於AWS IoT FleetWise 的 Identity and Access Management

篩選 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 (2001:DB8:1234:5678::/64) 地址範圍,如下列範例所示。

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

使用雙堆疊端點

AWS IoT FleetWise 雙堆疊端點支援透過 IPv6 和 IPv4 向AWS IoT FleetWise APIs提出請求。當您向雙堆疊端點提出請求時,它會自動解析為 IPv4 或 IPv6 地址。在雙堆疊模式中,接受 IPv4 和 IPv6 用戶端連線。

如果您使用 REST API,則可以使用端點名稱 (URI) 直接存取AWS IoT FleetWise 端點。AWS IoT FleetWise 僅支援區域雙堆疊端點名稱,這表示您必須指定AWS 區域做為名稱的一部分。

下表顯示使用 IPv4 和雙堆疊模式時AWS IoT FleetWise 的控制平面端點格式。如需這些端點的詳細資訊,請參閱 AWS IoT FleetWise 端點

Endpoint IPv4 地址 雙堆疊模式
控制平面 iotfleetwise.<region>.amazonaws.com iotfleetwise.<region>.api.aws

使用AWS CLIAWS SDKs時,您可以使用AWS_USE_DUALSTACK_ENDPOINT環境變數或 use_dualstack_endpoint 參數,這是共用組態檔案設定,以變更為雙堆疊端點。您也可以直接將雙堆疊端點指定為組態檔案中AWS IoT FleetWise 端點的覆寫。如需詳細資訊,請參閱雙堆疊和 FIPS 端點

使用 時AWS CLI,您可以將組態值設定為 Config use_dualstack_endpoint true 檔案中的設定檔中的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檔案中設定個別的設定檔。例如,建立一個use_dualstack_endpoint設定為 true 的設定檔,以及一個未設定 的設定檔use_dualstack_endpoint。當您執行命令時,必須依據是否要使用雙堆疊端點來指定所要使用的設定檔。