本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
搭配 Amazon Kinesis Video WebRTC 使用 IPv6/雙堆疊端點
您可以設定 Amazon Kinesis Video WebRTC 為控制平面和資料平面操作使用 IPv6。這可讓您的應用程式透過雙堆疊端點,使用 IPv6 地址與 Kinesis Video WebRTC 服務通訊。
注意
IPv6 支援需要特定的 SDK 版本和組態設定。確保您的 Kinesis Video WebRTC SDK 和 Amazon Web Services SDK 版本支援 IPv6 雙堆疊端點。雙堆疊端點同時支援 IPv4 和 IPv6 流量,適用於某些區域中的某些 服務。
Amazon Kinesis Video WebRTC 透過雙堆疊端點支援主要和檢視器應用程式的 IPv6。您可以設定應用程式使用 IPv6/雙堆疊端點進行控制平面 API 呼叫和資料平面操作。
設定適用於 IPv6-Dual-Stack 端點的 Amazon Web Services SDK
如果您使用 Amazon Web Services SDK 在生產設定中呼叫 Kinesis Video WebRTC 控制平面 APIs,您可以透過設定雙堆疊端點來啟用 IPv6。Amazon Web Services SDK 提供多種標準化方法來啟用雙堆疊端點。
重要
啟用雙堆疊端點時,軟體開發套件會嘗試使用雙堆疊端點來提出網路請求。如果服務或區域不存在雙堆疊端點,則請求會失敗。
使用環境變數
設定下列環境變數以啟用 IPv6 雙堆疊端點:
export AWS_USE_DUALSTACK_ENDPOINT=true
使用 Amazon Web Services 組態檔案
將下列設定新增至您的 Amazon Web Services 組態檔案 (~/.aws/config):
[default] use_dualstack_endpoint = true
使用 JVM 系統屬性 (僅限 Java 和 Kotlin SDKs)
對於 Java 和 Kotlin 應用程式,設定下列 JVM 系統屬性:
-Daws.useDualstackEndpoint=true
或以程式設計方式在您的 Java 程式碼中:
System.setProperty("aws.useDualstackEndpoint", "true");
開發套件支援
下列 Amazon Web Services SDKs支援雙堆疊端點組態:
| SDK | 支援 | 組態方法 |
|---|---|---|
| AWS CLI v2 | 是 | 環境變數、組態檔案 |
| 適用於 C++ 的 SDK | 是 | 環境變數、組態檔案 |
| 適用於 Go V2 的 SDK (1.x) | 是 | 環境變數、組態檔案 |
| 適用於 Go 的 SDK 1.x (V1) | 是 | 環境變數、組態檔案 |
| 適用於 Java 2.x 的 SDK | 是 | 環境變數、組態檔案、JVM 屬性 |
| 適用於 Java 1.x 的 SDK | 否 | 不支援 |
| 適用於 JavaScript 3.x 的 SDK | 是 | 環境變數、組態檔案 |
| 適用於 JavaScript 2.x 的 SDK | 是 | 環境變數、組態檔案 |
| SDK for Kotlin | 是 | 環境變數、組態檔案、JVM 屬性 |
| 適用於 .NET 4.x 的 SDK | 是 | 環境變數、組態檔案 |
| 適用於 .NET 3.x 的 SDK | 是 | 環境變數、組態檔案 |
| 適用於 PHP 的 SDK 3.x | 是 | 環境變數、組態檔案 |
| 適用於 Python 的 SDK (Boto3) | 是 | 環境變數、組態檔案 |
| 適用於 Ruby 的 SDK 3.x | 是 | 環境變數、組態檔案 |
| 適用於 Rust 的 SDK | 是 | 環境變數、組態檔案 |
| 適用於 Swift 的 SDK | 是 | 環境變數、組態檔案 |
| Tools for PowerShell V5 | 是 | 環境變數、組態檔案 |
| Tools for PowerShell V4 | 是 | 環境變數、組態檔案 |
設定雙堆疊端點之後,Amazon Web Services SDK 會在呼叫 Kinesis Video WebRTC 控制平面 APIs 時自動使用 IPv6 端點。
設定適用於 IPv6/雙堆疊端點的 Kinesis Video WebRTC 開發套件
Kinesis Video WebRTC SDK 為控制平面和資料平面操作提供雙堆疊組態選項。這些設定適用於 Amazon Web Services SDK 雙堆疊端點組態。
設定 WebRTC C 開發套件
若要使用雙堆疊 AWS KVS 端點並嘗試收集 IPv6 ICE 候選項目,請設定下列環境變數:
export KVS_DUALSTACK_ENDPOINTS=ON
在雙堆疊模式中,ICE 收集會嘗試包含 IPv6 候選項目,但相容性最終取決於本機網路組態和接收對等的功能。
若要停用雙堆疊模式,請取消設定環境變數:
unset KVS_DUALSTACK_ENDPOINTS
資料平面端點解析
對於資料平面操作,Kinesis Video WebRTC SDK 使用 GetSignalingChannelEndpoint API 擷取適當的 IPv6/雙堆疊資料平面端點。設定 IPv6/雙堆疊時,軟體開發套件會自動請求 IPv6/雙堆疊端點。
重要
GetSignalingChannelEndpoint API 已更新以支援 IPv6 端點。請確定您使用的是支援此功能的相容 SDK 版本。
設定 IPv6/Dual-Stack AWS CLI 的
如果您使用 AWS CLI 進行 Kinesis Video WebRTC 操作 (通常用於proof-of-concept工作),您可以透過設定雙堆疊端點來啟用 IPv6。
使用環境變數
export AWS_USE_DUALSTACK_ENDPOINT=true
使用 Amazon Web Services 組態檔案
將下列項目新增至您的 AWS CLI 組態檔案 (~/.aws/config):
[default] use_dualstack_endpoint = true
設定雙堆疊端點之後, AWS CLI 會將 IPv6 雙堆疊端點用於所有 Amazon Web Services 呼叫,包括 Kinesis Video WebRTC 操作。
考量事項
IoT 登入資料供應商
如果您使用 IoT 登入資料進行身分驗證:
IoT 登入資料端點支援 IPv6
使用上述標準 Amazon Web Services SDK 組態方法設定雙堆疊端點
IoT 登入資料流程與 Kinesis Video WebRTC 特定的 IPv6 組態不同
網路需求
確保您的網路基礎設施支援 IPv6 連線
確認您的安全群組和網路 ACLs IPv6 流量
從部署環境測試 Amazon Web Services IPv6 端點的連線
某些 區域中的某些服務可使用雙堆疊端點 - 驗證目標區域的可用性
開發套件相容性
確保您使用的是支援的 Amazon Web Services SDK 版本 (請參閱相容性資料表)
適用於 Java 的 Amazon Web Services 開發套件 1.x 不支援雙堆疊端點組態
對於適用於 Go 1.x (V1) 的 SDK,您必須啟用從組態檔案載入,才能使用共用的組態檔案設定
測試和驗證
將IPv6-enabled Kinesis Video WebRTC 應用程式部署到生產環境之前:
測試控制平面操作 (頻道建立、刪除、列出)
驗證資料平面操作 (STUN、TURN 和 WebRTC 訊號)
驗證成功建立peer-to-peer串流工作階段
驗證網路環境中的效能和連線
執行 Canary 測試以確保一致的 IPv6 功能
雙堆疊端點無法使用時的測試容錯移轉行為
受 IPv6 升級影響的客戶
當您為 Amazon Kinesis Video WebRTC 啟用 IPv6 時,可能需要更新現有組態和政策以確保持續功能。本節概述轉換到IPv6-enabled的端點時需要注意的關鍵區域。
IAM 政策和 IP 地址篩選
如果您在 IAM 使用者政策、角色政策或資源型政策中使用來源 IP 地址篩選,則需要更新這些政策以包含 IPv6 地址範圍。
重要
在 IpAddress 或 NotIpAddress 條件中使用 IPv4 CIDR 區塊的現有 IAM 政策不會自動使用 IPv6 地址。您必須明確新增 IPv6 範圍以維護存取控制。
IPv6 的 IAM 政策更新範例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "kinesisvideo:*", "Resource": "*", "Condition": { "IpAddress": { "aws:SourceIp": [ "192.0.2.0/24", "203.0.113.0/24", "2001:db8::/32" ] } } } ] }
IAM 政策更新的重要考量事項:
新增 IPv6 CIDR 區塊與現有的 IPv4 範圍
使用 IPv4 和 IPv6 地址的 aws:SourceIp 條件索引鍵
在非生產環境中測試政策再部署
考慮使用 aws:RequestedRegion 作為增強安全性的額外條件
網路安全群組和存取控制清單
如果您在 Amazon EC2 執行個體或其他 Amazon Web Services 服務上執行 Kinesis Video WebRTC 應用程式,則需要更新您的安全群組和網路 ACLs以允許 IPv6 流量。
安全群組 – 新增 IPv6 CIDR 區塊的傳入和傳出規則 (所有 IPv6 流量或特定 IPv6 範圍::/0)
網路 ACLs – 更新子網路層級網路 ACLs,以允許必要連接埠上的 IPv6 流量
路由表 – 確保您的 VPC 路由表包含 IPv6 流量到達網際網路閘道或 NAT 閘道的路由
日誌記錄和監控
IPv6 地址的格式與 IPv4 地址不同,這可能會影響您的記錄、監控和分析系統。
AWS CloudTrail 日誌
AWS CloudTrail 當透過 IPv6 提出請求時, 日誌會在 sourceIPAddress 欄位中包含 IPv6 地址。更新您的日誌剖析工具和指令碼,以處理 IPv6 地址格式。
AWS CloudTrail 日誌中 IPv6 地址的範例:
{ "sourceIPAddress": "2001:db8::1", "eventName": "CreateSignalingChannel", "eventSource": "kinesisvideo.amazonaws.com" }
應用程式記錄
如果您的應用程式記錄用戶端 IP 地址或執行 IP 型分析,請確定您的記錄基礎設施可以處理 IPv6 地址:
更新日誌剖析規則運算式以符合 IPv6 格式
如果您使用固定長度欄位存放 IP 地址,請修改資料庫結構描述
更新分析查詢和儀表板以使用 IPv6 地址
考慮使用 IP 地址標準化程式庫進行一致處理
監控和提醒
更新您的監控和提醒系統,以考量 IPv6 流量:
依 IP 地址篩選的 Amazon CloudWatch 指標和警示
追蹤 IP 模式的自訂指標
分析流量模式的安全性監控工具
將 IP 地址映射至 位置的地理位置服務
第三方整合
檢閱和更新與 Kinesis Video WebRTC 應用程式整合的第三方服務和工具:
內容交付網路 CDNs) – 如果您使用 CDNs 組態支援 IPv6
負載平衡器 – 設定 Application Load Balancer 或 Network Load Balancer 來處理 IPv6 流量
DNS 服務 – 更新 DNS 記錄以包含 IPv6 地址的 AAAA 記錄
防火牆和安全設備 – 設定網路安全設備以允許 IPv6 流量
監控工具 – 驗證第三方監控和分析工具是否支援 IPv6 地址格式
應用程式程式碼更新
檢閱您的應用程式程式碼,了解可能需要更新的 IPv4-specific假設:
IP 地址驗證 – 更新輸入驗證以接受 IPv6 地址格式
資料庫結構描述 – 確保 IP 地址欄位可以存放 IPv6 地址 (通常需要較大的欄位大小)
組態檔案 – 更新任何硬式編碼 IPv4 地址或 CIDR 區塊
用戶端程式庫 – 驗證 HTTP 用戶端和網路程式庫支援 IPv6
錯誤處理 – 更新錯誤處理以考量 IPv6-specific網路錯誤
測試和驗證
在生產環境中啟用 IPv6 之前,請徹底測試您的應用程式和基礎設施:
連線測試 – 驗證所有元件都可以透過 IPv6 進行通訊
效能測試 – 比較 IPv6 和 IPv4 效能以識別任何問題
安全測試 – 驗證安全控制是否與 IPv6 流量正常運作
容錯移轉測試 – 無法使用 IPv6 連線時的測試行為
日誌分析 – 驗證日誌記錄和監控系統是否正確處理 IPv6 地址
整合測試 – 測試所有啟用 IPv6 的第三方整合
遷移策略
考慮實作 IPv6 採用的分階段方法:
評估階段 – 清查所有系統並識別 IPv6 準備程度
準備階段 – 更新政策、安全群組和應用程式碼
測試階段 – 在開發和預備環境中啟用 IPv6
試驗階段 – 為生產流量的子集啟用 IPv6
完整部署 – 逐漸增加 IPv6 流量,直到完全部署為止
監控階段 – 持續監控問題並最佳化效能
疑難排解
常見問題
連線失敗 – 驗證 IPv6 網路連線和 DNS 解析
SDK 錯誤 – 確保您使用的是支援雙堆疊端點的相容 SDK 版本
身分驗證問題 – 確認 IAM 政策和登入資料可與 IPv6 端點搭配使用
端點無法使用 – 如果服務或區域不存在雙堆疊端點,則請求會失敗
驗證步驟
檢查您的組態檔案中是否已設定 AWS_USE_DUALSTACK_ENDPOINT=true 或使用_dualstack_endpoint = true
確認 Kinesis Video WebRTC SDK IPv6 組態旗標已正確設定
測試 Amazon Web Services IPv6 端點的網路連線能力
檢閱應用程式日誌是否有 IPv6-specific錯誤訊息
確認您的區域支援 Kinesis Video WebRTC 的雙堆疊端點
組態驗證
您可以檢查以下項目來驗證雙堆疊端點組態:
環境變數:回應 $AWS_USE_DUALSTACK_ENDPOINT
Amazon Web Services 組態檔案:cat ~/.aws/config | grep use_dualstack_endpoint
JVM 屬性 (Java):檢查應用程式日誌中的系統屬性
如需其他支援和故障診斷,請參閱 AWS 文件或聯絡人 AWS。