什么是网络功能虚拟化?
什么是网络功能虚拟化?
网络功能虚拟化(NFV)让网络运营商能够通过软件而非物理网络硬件来部署和管理虚拟网络功能。将路由、负载均衡、防火墙等网络功能虚拟化,可以节省基础设施管理、部署和现场资源方面的时间与成本。NFV 最初的设计目的是将网络功能与昂贵的专有硬件设备解耦。
本指南涵盖了在 AWS 上进行 NFV 部署、管理乃至监控的相关内容,包括每个步骤应选用的服务和配置。
网络功能虚拟化(NFV)是一种架构方案,它让负载均衡器、防火墙、会话边界控制器(SBC)和网络加密等专用网络功能能够在虚拟化环境中运行。NFV 可将网络功能与专有硬件解耦,使其能够在市售硬件上运行。
网络功能的每种虚拟化软件实现都称为虚拟化网络功能(VNF)。VNF 可运行在服务器上的虚拟机(VM)中,使运营商能够更高效地部署、管理和扩展网络能力。这些功能也可在云容器中运行,此时它们通常被称为云原生网络功能(CNF)。通信服务提供商(CSP)是 VNF 的主要使用者之一,借助 VNF 来运行其网络。
以往,网络运营商必须投入专用硬件并配备熟练技术人员,才能部署这些网络功能并使其投入运营。通过部署 VNF,您可以减少对昂贵专有网络硬件的采购需求,并因此降低资本支出。由于网络功能虚拟化基础设施支持按需配置,网络运营商能够更主动地顺应消费者趋势、满足消费者需求。例如,您可以根据高峰和非高峰时段的流量变化,对网络防火墙进行扩容或缩容,从而优化成本。
AWS 可通过以下 AWS 服务帮助网络运营商迁移、部署、管理和扩展其 VNF 工作负载:
- 您可以在 Amazon EC2 上部署 VNF,其中某些实例支持高达 100 Gbps 的吞吐量
- 通过将数据平面开发工具包与增强型网络适配器(ENA)配合使用,可以进一步提升实例之间的网络性能,从而实现低时延网络
- 为了支持对时延敏感的边缘环境,您可以在电信合作伙伴的数据中心中使用 Amazon Wavelength
除了部署 VNF 之外,您还可以遵循我们在 Well Architected Framework 中列出的最佳实践来优化网络设计。
如何选择 VNF 部署模式
在选择部署模式之前,有必要了解 NFV 是如何演进以满足行业需求的。正式的 NFV 框架最早由欧洲电信标准协会(ETSI)于 2012 年提出。此后,该框架已发展为一套覆盖广泛的标准体系,并定期进行更新和发布新版本。
网络功能虚拟化定义了若干层,使网络功能能够在虚拟化环境中协同运行。基于 ETSI 的管理与编排(MANO)框架,NFV 架构由以下几层组成:
- NFV 编排器:负责对 VNF 生命周期、外部请求处理和治理进行高层级管控。
- VNF 管理器:负责虚拟化网络功能的启动、复制、扩缩容、自愈和退役。
- 虚拟化基础设施管理器:负责基础设施预置、资源分配、故障排查以及其他运维功能。
这些层协同配合,使 VNF 能够在 NFV 环境中与业务支持系统和运营支持系统进行交互。
NFV 架构让您能够构建经济高效、灵活且敏捷的电信网络,但部署 VNF 有多种可选方式。网络运营商可以将 VNF 部署在虚拟机上,也可以部署在容器中。下面介绍二者的区别。
基于虚拟机的 VNF
虚拟机(VM)是用于模拟计算机的软件程序,模拟范围包括操作系统、驱动程序和硬件依赖项。当 ETSI NFV 框架推出时,网络运营商开始将 VNF 部署在虚拟机中。这种部署方式适合有状态 VNF、传统网络功能或单租户网络服务。
由于基于虚拟机的 VNF 独立于底层硬件运行,网络运营商无需专有硬件即可部署它们。例如,您可以在 Amazon EC2 上部署 VNF。Amazon EC2 是一种云计算解决方案,让您能够在被称为“实例”的可扩展虚拟服务器上运行工作负载。通过使用 Amazon EC2,您几乎可以获得无限的计算、网络和存储容量,从而以可承受的成本确保所部署网络功能的性能。
容器化网络功能(CNF)
容器是一种软件包,包含网络功能的源代码、库以及运行所需的其他依赖项。与虚拟机不同,容器启动时不会加载整个操作系统。容器通过 Kubernetes 之类的服务进行编排。这使得容器化非常适合托管云原生 VNF 和基于微服务的网络服务。
在 AWS 上,您可以使用 Amazon Elastic Kubernetes Service(EKS)部署容器化虚拟网络功能。Amazon EKS 是一项托管服务,可让您在公有云、私有云和混合云环境中预置、管理和扩展 Kubernetes。希望在分布式客户管理服务中实现 5G 的电信运营商,会使用 Amazon EKS 来部署网络组件。
注意:在 AWS 上设计 NFV 架构时,您可以使用 AWS Marketplace 上专门构建的 VNF 应用和服务,例如 Cisco CSR1000v、Juniper vSRX 和 Juniper vMX。这些网络组件(包括虚拟防火墙、云原生路由器和 AI 辅助网络)由领先的网络解决方案提供商提供。
如何规划 VNF 网络架构
要成功部署 VNF,关键在于让功能性和非功能性网络需求在 MANO 基础设施各层之间协调一致。可以把这一过程看作是在云平台上设计、构建和实现专用于不同网络服务的分布式功能。为确保每个 VNF 都具备弹性、功能正常且可扩展,您必须准确描述其生命周期策略、资源需求和连接链路。此外,如果您计划部署容器化网络功能(CNF),还需要考虑如何调整编排方式,因为最初的 MANO 框架是为基于虚拟机的网络功能设计的。例如,您可以指定 Kubernetes 控制平面来调度多集群功能节点,以保证高可用性和灾难恢复。
AWS 支持虚拟化和容器化网络功能的云原生部署。以下是在 AWS 上设计 NFV 架构时的一些常见考虑因素。
VPC 设计
借助 Amazon Virtual Private Cloud(Amazon VPC),您可以设计这样一种环境:多个 VNF 驻留在同一个 VPC 中,同时保持严格隔离。为实现精细的访问控制和高可观测性,您可以在该 VPC 内为每种不同的 VNF 流量角色(例如管理、数据平面和信令)分别创建子网。这种多子网方案让您能够针对每个网络层的独特需求,应用特定的安全组和路由策略。
多接口 VNF
多接口 VNF 可以接收来自多个网络或流量平面的流量。例如,路由器、防火墙和负载均衡器都属于多接口 VNF。设计这类功能时,最好的做法是将不同的入站连接分别接入不同子网。例如,您可以将主接口映射到私有子网,并为辅助接口分配一个独立子网,同时为该辅助接口分配一个弹性 IP 地址。这样,就可以通过公有网络和私有网络访问该 VNF。
服务链
服务链连接多个 VNF,使网络运营商能够预置网络资源、管理流量,并实现整个网络范围内的访问自动化。在 Amazon VPC 中构建 VNF 服务链时,您可以使用路由表引导来自特定子网的流量。此外,如果您购买虚拟设备来增强网络架构,还可以使用网关负载均衡器将流量分发到这些服务上。
连接性
电信网络,尤其是 5G 部署,通常涉及横跨云、本地和边缘站点的网络基础设施。关键在于,不仅要确保云端服务器之间拥有足够带宽,还要确保部署在孤立站点的边缘服务也具备足够带宽。以下 AWS 服务可帮助您构建高吞吐量、低延迟的 NFV 互连:
- AWS Direct Connect 让您可以在数据中心与 AWS 云之间建立专用连接。部署后,服务之间的网络请求会绕过公共互联网,从而减少延迟。
- AWS Transit Gateway 可充当 VPC 与本地环境之间路由的集中枢纽,以此简化 VPC 管理。此外,它还支持静态路由表条目,让您可以在 VNF 故障转移期间更新路由表。
- AWS Outposts 允许您在本地运行特定 VNF,以满足数据驻留和低延迟访问需求。AWS Local Zones 则可将核心 AWS 服务扩展到本地位置,为实现边缘 VNF 部署和本地数据处理提供支持。
如何在 Amazon EC2 上部署 VNF
要在 Amazon EC2 上部署 VNF,您必须配置实例,使其满足运营商级要求,例如低延迟网络和多网卡路由。以下步骤可帮助您快速上手:
- 选择一款针对高吞吐量数据包处理进行了优化的 EC2 实例。例如,C5n、C6gn、C7gn、m5zn 和裸机实例均支持高性能网络,因此非常适合承载 VNF。
- 为每个实例配置多个弹性网络接口(ENI),以匹配 VNF 的接口拓扑。所有实例均自带一个主接口。不过,视实例类型而定,您可以添加额外的辅助接口,用来支持来自外部网络服务的多个连接。需要特别注意的是,在运行防火墙、负载均衡器和路由器等服务时,必须禁用源/目标检查,以防流量被丢弃。
- 使用增强型网络适配器(ENA),在 VNF 实例之间实现高带宽、低延迟的网络通信。较新的 EC2 实例已支持此功能。如果要在较旧或自定义的亚马逊机器映像(AMI)上使用 ENA,则必须选用包含 ENA 驱动程序的 AMI。
- 在实例安全组中开放所需端口,以管理相应 VNF 的访问控制。同时,确保只有获得授权的用户,才能通过 AWS Identity and Access Management(IAM)被授予管理权限。
注意:如果您部署的是有状态 VNF,并且需要在重启之间保持状态,请考虑使用配备 Amazon Elastic Block Store(EBS)的 EC2 实例。
如何使用 AWS 电信网络构建器部署 VNF
AWS 电信网络构建器(TNB)是一项用于大规模部署基于云的电信网络的服务。它允许网络工程师在模板中定义电信需求,并可在全球各地重复使用,从而简化 VNF 部署。为确保一致的覆盖范围、高可用性和及时的网络更新,AWS TNB 可与 AWS 区域、AWS Outposts 和 AWS Local Zones 配合使用。以下是使用 AWS TNB 部署 VNF 的步骤:
1.准备并上传功能包
首先,从 AWS TNB 控制台创建网络功能包。网络功能包采用 CSAR 文件格式,包含虚拟网络功能描述符(VNFD)和其他虚拟机相关组件。云原生网络功能的 CSAR 文件还包含 Helm 图表和容器映像。VNFD 用于描述网络功能的运行行为和启动参数,有助于网络工程师管理 VNF 的生命周期。确认功能包无误后,将其上传到控制台。
注意:在设计基于云的 VNF 的架构时,您可以从 AWS ISV 合作伙伴处获取 CSAR 包。或者,也可以从 AWS TNB GitHub 示例入手。
2.创建网络包
网络包由网络描述符(NSD)文件组成,这些文件描述了您希望部署到云基础设施上的网络功能。您需要定义部署所需的计算资源、网络功能版本、VPC 子网和 EKS 集群。
根据网络需求,NSD 文件可能包含用户数据脚本、生命周期挂钩脚本和插件配置。
3.创建并实例化网络
根据您创建的 NSD 文件,对网络基础设施进行实例化。当您实例化网络实例时,AWS TNB 会自动预置底层基础设施和资源,包括 NFV 部署以及您定义的 VPC 间网络能力。
4.管理已部署的 VNF
部署网络后,您可以监控 VNF 的运行状况,并在需要时进行必要的干预。例如,您可以更新网络功能的配置,或使用新的网络包更新网络实例。AWS TNB 提供自动化生命周期管理功能,涵盖部署、升级、更新和下线。
如何为 VNF 配置高可用性
在设计基于云的网络功能的架构时,通过高可用 VNF 来保障运营韧性和故障转移能力非常重要。常见的做法包括跨不同可用区部署双活或主备集群,并根据实时流量扩缩虚拟资源。AWS 可通过多种方式帮助您构建高可用 VNF 集群:
- 您可以跨多个可用区部署 VNF 实例,并在故障转移期间根据运行状况检查等触发条件,将弹性 IP 重新分配给 VNF 的辅助接口。这样,备用节点就能接管主动节点并沿用其 IP 地址,从而最大限度减少运行中断。
- 此外,您可以使用 EC2 自动扩缩生命周期挂钩,在实例启动时重新挂载额外的网络接口。配置管理可确保 VNF 在接收流量之前已安装好所有必要的软件包。
- 若要实现地理冗余,您可以创建采用 VPC 路由故障转移的主备或双活实例池。使用 AWS Lambda 与 Amazon EventBridge 等服务来捕获异常事件,以便网络激活备用节点。
如何扩缩 VNF 容量
在 AWS 云上运营 VNF 使网络工程师能够通过缩容或扩容来满足网络需求和优化云成本。在使用 EC2 实例部署 VNF 时,您可以借助 Amazon CloudWatch 中的指标告警来触发 EC2 自动扩缩。例如,订阅用户数量、会话数和吞吐量等自定义指标,都有助于判断是否需要调整计算资源。您可以在 AWS CloudFormation 堆栈中定义 EC2 自动扩缩组,以便在整个架构中一致地应用动态扩缩容。这样一来,网络便可轻松创建更多 VNF 实例,并将新实例部署到多个可用区以应对不断增长的流量。
如何监控 VNF 性能
网络运营商必须持续监控 VNF 及其底层云基础设施的关键指标。建立端到端遥测系统,有助于在性能瓶颈、运营挑战和安全问题影响到客户体验之前就解决它们。您可以使用 Amazon CloudWatch 跟踪 EC2 实例指标,并设置告警,使其在指标超出特定阈值时触发。
为强化安全态势,可使用 AWS Network Firewall 和 Amazon GuardDuty 在 VNF 实例周围构建一道安全边界。
- AWS Network Firewall 可通过基于规则的过滤和深度数据包检测,阻止威胁影响 VPC。它会自动扩展基础设施,持续保护 VNF 实例,即使在流量增长时也不例外。
- Amazon GuardDuty 可检测您的 AWS 账户活动和网络流量日志中的威胁。通过呈现安全发现,通信服务提供商(CSP)能够及时采取修复措施,防止服务中断。
结语
NFV 让网络运营商能够降低总拥有成本、提升服务质量,并借助 CNF 利用云原生能力进行创新。通过将网络功能从专用硬件设备迁移到虚拟化层,工程团队可以专注于构建新的网络服务,而无需再为预置和维护基础设施分心。随着 5G 在各地区的普及,基于虚拟机和基于容器的网络功能都得到了应用。不过,要有效部署 VNF,必须全面考虑资源预置、可用性、安全性和可扩展性。
AWS 可帮助您设计可扩展、经济高效、敏捷且符合电信级要求的网络功能。通过使用 Amazon EC2 和 AWS 电信网络构建器(AWS TNB)等服务部署 VNF,您可以满足严格的服务质量要求,实现低延迟和高吞吐量,以及在全球范围内复用相同的网络构建块。
探索 AWS 面向电信行业的全套云解决方案,找到最契合您网络需求的方案。
Browse all cloud computing concepts
Browse all cloud computing concepts content here:
Did you find what you were looking for today?
Let us know so we can improve the quality of the content on our pages