本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 IPv6 /Dual-Stack 终端节点与 Amazon Kinesis Video WebRTC 配合使用
您可以将 Amazon Kinesis Video WebRTC 配置 IPv6 为用于控制平面和数据平面操作。这使您的应用程序能够使用通过双堆栈端点的地址与 Kinesis Video WebRTC 服务进行通信。 IPv6
注意
IPv6 支持需要特定的 SDK 版本和配置设置。确保您的 Kinesis Video WebRTC 软件开发工具包和亚马逊 Web Services 软件开发工具包版本支持双堆栈终端节点。 IPv6 双栈终端节点同时支持 IPv4 和 IPv6 流量,并且适用于某些地区的某些服务。
Amazon Kinesis Video WebRTC IPv6 通过双堆栈终端节点支持主应用程序和查看器应用程序。您可以将应用程序配置为使用 IPv6 /Dual-Stack 端点进行控制平面 API 调用和数据平面操作。
为 IPv6双栈终端节点配置 Amazon Web Services 软件开发工具包
如果您在生产设置中使用亚马逊 Web Services SDK 调用 Kinesis Video WebRTC 控制平面 APIs ,则可以通过配置双栈终端节点来启用。 IPv6 Amazon Web Services 软件开发工具包提供了多种标准化方法来启用双堆栈终端节点。
重要
启用双堆栈终端节点后,SDK 会尝试使用双堆栈终端节点发出网络请求。如果服务或区域不存在双堆栈终端节点,则请求将失败。
使用环境变量
设置以下环境变量以启用 IPv6 双栈端点:
export AWS_USE_DUALSTACK_ENDPOINT=true
使用亚马逊 Web Services 配置文件
将以下设置添加到您的亚马逊 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");
SDK 支持
以下 Amazon Web Services SDKs 支持双栈终端节点配置:
| SDK | 支持 | 配置方法 |
|---|---|---|
| Amazon CLI v2 | 是 | 环境变量,配置文件 |
| 适用于 C++ 的 SDK | 是 | 环境变量,配置文件 |
| 适用于 Go V2 (1.x) 的 SDK | 是 | 环境变量,配置文件 |
| 适用于 Go 1.x(V1)的 SDK | 是 | 环境变量,配置文件 |
| 适用于 Java 2.x 的 SDK | 是 | 环境变量、配置文件、JVM 属性 |
| 适用于 Java 1.x 的 SDK | 否 | 不支持 |
| 适用于 JavaScript 3.x 的软件开发工具包 | 是 | 环境变量,配置文件 |
| 适用于 JavaScript 2.x 的 SDK | 是 | 环境变量,配置文件 |
| 适用于 Kotlin 的 SDK | 是 | 环境变量、配置文件、JVM 属性 |
| 适用于.NET 4.x 的 SDK | 是 | 环境变量,配置文件 |
| 适用于 .NET 3.x 的 SDK | 是 | 环境变量,配置文件 |
| 适用于 PHP 3.x 的 SDK | 是 | 环境变量,配置文件 |
| 适用于 Python (Boto3) 的 SDK | 是 | 环境变量,配置文件 |
| 适用于 Ruby 3.x 的 SDK | 是 | 环境变量,配置文件 |
| 适用于 Rust 的 SDK | 是 | 环境变量,配置文件 |
| 适用于 Swift 的 SDK | 是 | 环境变量,配置文件 |
| 适用于 PowerShell V5 的工具 | 是 | 环境变量,配置文件 |
| 适用于 PowerShell V4 的工具 | 是 | 环境变量,配置文件 |
配置双栈终端节点后,Amazon Web Services SDK 在调用 Kinesis Video WebRTC 控制平面时会自动使用 IPv6 终端节点。 APIs
为 /Dual-Stack 端点配置 Kinesis 视频 WebRTC 软件开发工具包 IPv6
Kinesis Video WebRTC SDK 为控制平面和数据平面操作提供了双栈配置选项。这些设置适用于亚马逊 Web Services 软件开发工具包双栈终端节点配置。
配置 WebRTC C 开发工具包
要使用双栈 Amazon KVS 端点并尝试收集 IPv6 ICE 候选端点,请设置以下环境变量:
export KVS_DUALSTACK_ENDPOINTS=ON
在双栈模式下,ICE 收集将尝试包含 IPv6 候选对象,但兼容性最终取决于本地网络配置和接收对等体的功能。
要禁用双栈模式,请取消设置环境变量:
unset KVS_DUALSTACK_ENDPOINTS
数据平面端点分辨率
对于数据平面操作,Kinesis Video WebRTC SDK 使用 GetSignalingChannelEndpoint 该 API 来检索相应的 /dual-Stack 数据平面端点。 IPv6配置 /Dual-Stack 后,SDK 会自动请求 IPv6 /Dual-stack 端点 IPv6。
重要
GetSignalingChannelEndpoint API 已更新为支持 IPv6 端点。确保您使用的是支持此功能的兼容 SDK 版本。
为 IPv6 /Dual- Amazon CLI Stack 配置
如果您使用用 Amazon CLI 于 Kinesis Video WebRTC 操作(通常用于 proof-of-concept工作),则可以通过配置双堆栈端点来启用。 IPv6
使用环境变量
export AWS_USE_DUALSTACK_ENDPOINT=true
使用亚马逊 Web Services 配置文件
将以下内容添加到您的 Amazon CLI 配置文件中(~/.aws/config):
[default] use_dualstack_endpoint = true
配置双堆栈终端节点后,将 Amazon CLI 使用 IPv6 双堆栈终端节点进行所有亚马逊网络服务调用,包括 Kinesis Video WebRTC 操作。
注意事项
物联网凭证提供商
如果您使用物联网凭据进行身份验证:
物联网凭证端点支持 IPv6
使用前面描述的标准 Amazon Web Services 软件开发工具包配置方法配置双栈终端节点
物联网凭证流程与 Kinesis Video Webrtc 特定的配置是分开的 IPv6
网络要求
确保您的网络基础设施支持 IPv6 连接
验证您的安全组和网络是否 ACLs 允许 IPv6 流量
测试部署环境中与 Amazon Web S IPv6 ervices 终端节点的连接
某些地区的某些服务可以使用双栈终端节点,请验证目标区域的可用性
SDK 兼容性
确保您使用的是受支持的 Amazon Web Services 软件开发工具包版本(参见兼容性表)
适用于 Java 的 Amazon Web Services SDK 1.x 不支持双栈终端节点配置
对于 SDK for Go 1.x (V1),必须启用从配置文件加载才能使用共享配置文件设置
测试和验证
在将 IPv6启用了 Kinesis Video 的 WebRTC 应用程序部署到生产环境之前,请执行以下操作:
测试控制平面操作(频道创建、删除、列出)
验证数据平面操作(眩晕、转弯和 WebRTC 信令)
验证 peer-to-peer直播会话成功建立
验证您的网络环境中的性能和连通性
运行 canary 测试以确保 IPv6 功能一致
在双栈端点不可用时测试故障转移行为
受升级影响的客户包括 IPv6
当您启 IPv6 用 Amazon Kinesis Video WebRTC 时,您可能需要在多个领域更新现有配置和策略,以确保持续运行。本节概述了过渡到 IPv6启用了的端点时需要注意的关键区域。
IAM 策略和 IP 地址筛选
如果您在 IAM 用户策略、角色策略或基于资源的策略中使用源 IP 地址筛选,则需要更新这些策略以包含 IPv6 地址范围。
重要
在 IpAddress 或 NotIpAddress 条件中使用 IPv4 CIDR 块的现有 IAM 策略不会自动适用于 IPv6 地址。您必须明确添加 IPv6 范围以维护访问控制。
以下内容的 IAM 政策更新示例 IPv6:
{ "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 政策更新的关键注意事项:
在现有 IPv4 范围旁边添加 IPv6 CIDR 块
对两个 IPv6 地址都 IPv4 使用 aws: SourceIp 条件密钥
在部署之前,先在非生产环境中测试策略
考虑使用 aw RequestedRegion s: 作为增强安全性的附加条件
网络安全组和访问控制列表
如果您在亚马逊实例或其他 EC2 亚马逊云科技服务上运行 Kinesis Video WebRTC 应用程序,则需要更新安全组和网络以允许流量。 ACLs IPv6
安全组-为 IPv6 CIDR 块添加入站和出站规则(:: /0 适用于所有 IPv6 流量或特定 IPv6 范围)
网络 ACLs-更新子网级别的网络 ACLs 以允许所需 IPv6 端口上的流量
路由表 — 确保您的 VPC 路由表包含 IPv6 流量到达互联网网关或 NAT 网关的路由
日志记录和监控
IPv6 地址的格式与 IPv4 地址不同,这可能会影响您的日志、监控和分析系统。
Amazon CloudTrail 日志
Amazon CloudTrail 发出请求时,日志将在源IPAddress 字段中包含 IPv6 地址 IPv6。更新您的日志解析工具和脚本以处理 IPv6 地址格式。
Amazon 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) — IPv6 如果您使用 CDNs 视频分发,请确保 CDN 配置支持
负载均衡器-配置应用程序负载均衡器或网络负载均衡器以处理流量 IPv6
DNS 服务 — 更新 DNS 记录以包含 AAAA 地址记录 IPv6
防火墙和安全设备-配置网络安全设备以允许 IPv6 流量
监控工具-验证第三方监控和分析工具是否支持 IPv6 地址格式
应用程序代码更新
查看您的应用程序代码,了解可能需要更新的 IPv4特定假设:
IP 地址验证-更新输入验证以接受 IPv6 地址格式
数据库架构-确保 IP 地址字段可以存储 IPv6 地址(通常需要更大的字段大小)
配置文件-更新所有硬编码 IPv4 地址或 CIDR 块
客户端库-验证 HTTP 客户端和网络库是否支持 IPv6
错误处理-更新错误处理以解决 IPv6特定网络错误
测试和验证
在生产环境 IPv6 中启用之前,请彻底测试您的应用程序和基础架构:
连接测试-验证所有组件均可通过以下方式进行通信 IPv6
性能测试 — 比较 IPv6 和 IPv4 性能以发现任何问题
安全测试 — 验证安全控制是否能正常处理 IPv6 流量
故障转移测试- IPv6 连接不可用时测试行为
日志分析-验证日志和监控系统是否正确处理 IPv6 地址
集成测试-在启用后测试所有第三方集成 IPv6
迁移策略
考虑采用分阶段的方法进行 IPv6 采用:
评估阶段 — 清点所有系统并确定 IPv6 准备情况
准备阶段-更新策略、安全组和应用程序代码
测试阶段- IPv6 在开发和暂存环境中启用
试点阶段 — IPv6 为部分生产流量启用
全面部署-逐步增加 IPv6 流量,直到完全部署
监控阶段 — 持续监控问题并优化性能
问题排查
常见问题
连接失败-验证 IPv6 网络连接和 DNS 解析
SDK 错误 — 确保您使用的是支持双栈端点的兼容 SDK 版本
身份验证问题 — 确认 IAM 策略和证书适用于 IPv6 终端节点
终端节点不可用-如果服务或区域不存在双栈终端节点,则请求将失败
验证步骤
检查配置文件中是否设置了 AWS_USE _dualstack_endpoint=True 或者配置文件中是否设置了 use_dualstack_endpoint = true
验证 Kinesis Video WebRTC SDK 配置标志是否设置正确 IPv6
测试与 Amazon Web Services IPv6 终端节点的网络连接
查看应用程序日志,了解 IPv6特定于具体的错误消息
确认您所在的地区支持 Kinesis Video WebRTC 的双栈终端节点
配置验证
您可以通过检查以下内容来验证您的双栈终端节点配置:
环境变量:echo $ AWS_USE _DUALSTACK_ENDPOINT
亚马逊 Web Services 配置文件:cat ~/.aws/config | grep use_dualstack_endpoint
JVM 属性 (Java):检查应用程序日志中的系统属性
如需其他支持和疑难解答,请参阅 Amazon 文档或联系信息 Amazon。