亚马逊AWS官方博客
新增:AWS Telco Network Builder – 部署和管理电信网络
在一百多年的时间里,电信行业实现了标准化和规范化,并在此过程中发展出了多种方法、技术以及一整套专用词汇(有很多有趣的缩略词)。为了确保给客户提供尽可能出色的语音和数据服务,这个行业需要承袭这样的庞大传承,还要利用新技术。
今天我想向大家介绍一下 AWS Telco Network Builder(TNB)。这项新服务旨在帮助通信服务提供商(CSP)在 AWS 上部署和管理公共和专用电信网络。它使用现有标准、实践和数据格式,因此让通信服务提供商能更容易地利用 AWS 的强大力量、规模与灵活性。
当今的 CSP 通常会将其代码部署到虚拟机。但为了开创未来,他们正在寻求提高灵活性,并且越来越多地使用容器。AWS TNB 旨在参与这一转型,利用 Kubernetes 和 Amazon Elastic Kubernetes Service(EKS)进行打包和部署。
概念和词汇
在深入介绍这项服务之前,我们先看一下该行业特有的一些概念和词汇,这些概念和词汇与 AWS TNB 相关:
欧洲电信标准协会(ETSI)– 一个欧洲组织,专门定义适合全球使用的规范。 AWS TNB 支持多种 ETSI 规范,包括 ETSI SOL001 到 ETSI SOL005,以及 ETSI SOL007。
通信服务提供商(CSP)– 提供电信服务的组织。
云应用程序的拓扑结构和编排规范(TOSCA)– 一种标准语法,用于描述电信应用程序的服务模板。
网络功能(NF)– 在电信网络中执行特定核心功能或增值功能的软件组件。
虚拟网络功能描述符(VNFD)– 一种规范,用于上线和管理一项网络功能所需的元数据。
云服务存档(CSAR)– 一种 ZIP 压缩文件,其中包含 VNFD、对含有网络功能的容器映像的引用,以及支持和管理网络功能所需的任何其他文件。
网络服务描述符(NSD)– 用于一组网络功能的计算、存储、网络和位置要求规范,以及汇集这些功能以构成电信网络所需的信息。
网络核心 – 网络的核心部分。它使用控制面板和数据面板操作来管理身份验证、授权、数据和策略。
服务编排工具(SO)– 一种外部的高级别网络管理工具。
无线接入网络(RAN)– 为特定地理区域提供无线覆盖的组件(基站、天线等)。
使用 AWS Telco Network Builder(TNB)
我虽然不是通信服务提供商,但仍会尽我所能引导您完成入门体验! 主要步骤如下:
- 上传 CSAR,为每个网络功能创建功能包。
- 上传网络服务描述符(NSD),为相应网络创建网络包。
- 选择并实例化一个 NSD,创建网络。
首先,我打开 AWS TNB 控制台并单击 Get started(开始使用):
最初,我没有网络、没有功能包,也没有网络包:
我的同事给了我示例 CSAR 和 NSD,供我在这篇博客文章中使用(网络功能来自 Free 5G Core):
每个 CSAR 都是一个非常简单的 ZIP 文件,里面有 VNFD 和其他一些内容。例如,Free 5G Core 会话管理功能(smf)的 VNFD 如下所示:
VNFD 的最后一部分(HelmImage
)指向定义实现的 Kubernetes Helm 图表。
我在控制台中点击 Function packages(功能包),再点击 Create function package(创建功能包)。然后上传第一个 CSAR,并单击 Next(下一步):
在检查详细信息后,我点击 Create function package(创建功能包)(每个 VNFD 可以包含一组带有默认值的参数,这些参数可被特定部署专用的值所覆盖):
我对其余九个 CSAR 重复此过程,所有十个功能包都准备就绪,可以使用了:
现在,我已经准备好创建网络包了。网络服务描述符也相当简单,我这里展示一些摘录。首先,NSD 为每个网络功能建立从 descriptor_id
到 namespace
的映射,以便按名称引用这些功能:
然后它定义输入变量,包括默认值(这让我联想到了 AWS CloudFormation 模板):
随后,它使用变量创建到所需 AWS 资源(在本例中为 VPC 和子网)的映射:
随后它会在 VPC 中定义一个 AWS 互联网网关:
最后,它指定将网络功能部署到 EKS 集群;功能会按指定顺序进行部署:
点击 Create network package(创建网络包),选择 NSD,然后点击 Next(下一步)继续。AWS TNB 要求我检查功能包列表和 NSD 参数。检查之后,我点击 Create network package(创建网络包):
这样我的网络包就创建完毕,几秒钟后就能使用了:
现在我准备好创建网络实例了! 选择网络包并从 Actions(操作)菜单中选择 Create network instance(创建网络实例):
我为网络指定名称和描述,然后点击 Next(下一步):
确保选择我需要的网络包,查看要部署的功能包列表,然后点击 Next(下一步):
最后检查一遍,然后点击 Create network instance(创建网络实例):
我选择新网络实例并从 Actions(操作)菜单中选择 Instantiate(实例化):
我检查参数,输入所需的替代项,然后点击 Instantiate network(实例化网络):
AWS Telco Network Builder(TNB)开始实例化我的网络(该服务会在后台创建一个 AWS CloudFormation 模板,使用该模板创建堆栈并执行其他任务,包括 Helm 图表和自定义脚本)。实例化步骤完成后,我的网络就准备就绪了。实例化网络会创建部署,同一个网络可以多次部署(可能要改写一些参数)。我可以一目了然地查看所有部署:
我可以返回仪表板,查看我的网络、功能包、网络包和最近的部署:
AWS TNB 部署深入探究
我们来快速浏览一下我的部署。以下是 AWS TNB 为我设置的内容:
网络 – 一个 Amazon Virtual Private Cloud(Amazon VPC),包含三个子网、一个路由表、一个路由和一个互联网网关。
计算 – 一个 Amazon Elastic Kubernetes Service(EKS) 集群。
CI/CD – 一个 AWS CodeBuild 项目,每次向集群添加节点时都会触发。
注意事项
关于 AWS Telco Network Builder(TNB),需要注意以下几个要点:
访问 – 除了我上面为您展示的控制台访问方法外,您还可以通过 AWS 命令行界面(AWS CLI)和 AWS SDK 访问 AWS TNB。
部署选项 – 我们即将支持创建覆盖单个 AWS 区域中的多个可用区的网络。随着时间的推移,我们预计还会增加更多部署选项,例如 Local Zones 和 Outposts。
定价 – 定价基于AWS TNB 管理的网络功能数量以及对 AWS TNB API 的调用次数,但每个月在每个 AWS 区域的前 45000 次 API 请求不收费。作为部署的一部分创建的 AWS 资源也需要收取额外费用。如需了解更多信息,请阅读 TNB 定价页面。
入门指南
要了解更多信息并开始使用,请访问 AWS Telco Network Builder(TNB)主页。
– Jeff;