使用 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 地址進行通訊。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IPAllow", "Effect": "Allow", "Principal": "*", "Action": "iotfleetwise:*", "Resource": "arn:aws:iotfleetwise:*", "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 端點

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

使用 AWS CLI 和 AWS 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。當您執行命令時,必須依據是否要使用雙堆疊端點來指定所要使用的設定檔。