本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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) 延伸
AWS PrivateLink 端點的 IPv6 支援
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.awsaws iotfleetwise list-fleets \ --endpoint-url
<endpoint-url>
-
您可以在 Config AWS 檔案中設定不同的設定檔。例如,建立一個
use_dualstack_endpoint
設定為 true 的設定檔,以及一個未設定 的設定檔use_dualstack_endpoint
。當您執行命令時,必須依據是否要使用雙堆疊端點來指定所要使用的設定檔。