View a markdown version of this page

搭配 Amazon Kinesis Video WebRTC 使用 IPv6/雙堆疊端點 - Kinesis Video Streams

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

搭配 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 採用的分階段方法:

  1. 評估階段 – 清查所有系統並識別 IPv6 準備程度

  2. 準備階段 – 更新政策、安全群組和應用程式碼

  3. 測試階段 – 在開發和預備環境中啟用 IPv6

  4. 試驗階段 – 為生產流量的子集啟用 IPv6

  5. 完整部署 – 逐漸增加 IPv6 流量,直到完全部署為止

  6. 監控階段 – 持續監控問題並最佳化效能

疑難排解

常見問題

  • 連線失敗 – 驗證 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。