本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS TNB概念
本主题介绍了一些基本概念,可帮助您开始使用 AWS TNB。
网络功能的生命周期
AWS TNB在网络功能的整个生命周期中为您提供帮助。网络功能生命周期包括以下阶段和活动:
- 规划
-
-
通过确定要部署的网络功能来规划您的网络。
-
将网络功能软件映像放入容器映像存储库中。
-
创建要部署或升级的CSAR软件包。
-
用于 AWS TNB上传定义您的网络功能的CSAR软件包(例如 CU AMF 和UPF),并与持续集成和持续交付 (CI/CD) 管道集成,随着新的网络功能软件映像或客户脚本可用,该管道可以帮助您创建软件CSAR包的新版本。
-
- 配置
-
-
确定部署所需的信息,例如计算类型、网络功能版本、IP 信息和资源名称。
-
使用这些信息来创建您的网络服务描述符 (NSD)。
-
载入NSDs定义您的网络功能和网络功能实例化所需的资源。
-
- 实例化
-
-
创建网络功能所需的基础设施。
-
按照其中的定义对网络功能进行实例化(或配置),NSD然后开始传输流量。
-
验证资产。
-
- 生产
-
在网络功能的生命周期中,您会执行一系列生产操作,例如:
-
更新网络功能配置,例如,更新已部署的网络功能中的值。
-
使用新的网络包和参数值更新网络实例。例如,更新网络包中的 Amazon EKS
version
参数。
-
使用标准化接口
AWS TNB与符合欧洲电信标准协会 (ETSI) 标准的服务协调器集成,使您能够简化网络服务的部署。服务协调器可以使用 AWS TNBSDKsCLI、或启动操作,例如实例化网络功能或将网络功能升级到新版本。APIs
AWS TNB支持以下规格。
网络功能包适用于 AWS TNB
使用 AWS TNB,您可以将符合 ETSI SOL 001/ SOL 004 的网络功能包存储到函数目录中。然后,您可以上传包含描述您的网络功能的构件的 Cloud Service Archive (CSAR) 包。
-
网络功能描述文件 – 定义用于包加载和网络功能管理的元数据
-
软件映像 – 引用网络功能容器映像。亚马逊弹性容器注册表 (AmazonECR) 可以充当您的网络功能镜像存储库。
-
其它文件 – 用于管理网络功能;例如,脚本和 Helm 图表。
是由OASISTOSCA标准定义的软件包,包括符合规范的网络/服务描述符。CSAR OASIS TOSCA YAML有关所需YAML规范的信息,请参见TOSCA的参考 AWS TNB。
以下是网络功能描述文件的示例。
tosca_definitions_version: tnb_simple_yaml_1_0 topology_template: node_templates: SampleNF: type: tosca.nodes.AWS.VNF properties: descriptor_id: "SampleNF-descriptor-id" descriptor_version: "2.0.0" descriptor_name: "NF 1.0.0" provider: "SampleNF" requirements: helm: HelmChart HelmChart: type: tosca.nodes.AWS.Artifacts.Helm properties: implementation: "./SampleNF"
的网络服务描述符 AWS TNB
AWS TNB存储有关您要部署的网络功能以及如何将其部署到目录中的网络服务描述符 (NSDs)。您可以按照 ETSI SOL 007 的说明上传YAMLNSD文件 (vnfd.yaml
),以包含以下信息:
-
您要部署的网络功能
-
联网指令
-
计算指令
-
生命周期挂钩(自定义脚本)
AWS TNB支持使用该TOSCA语言对网络、服务和功能等资源进行建模的ETSI标准。 AWS TNB AWS 服务 通过以ETSI符合您的标准的服务协调器可以理解的方式对它们进行建模,从而提高您的使用效率。
以下是NSD演示如何建模 AWS 服务的片段。网络功能将部署在 Kubernetes 版本 EKS 1.27 的亚马逊集群上。应用程序的子网是 Subnet01 和 Subnet02。然后,您可以使用 Amazon 系统映像 (AMI)、实例类型和自动扩展配置为您的应用程序定义。 NodeGroups
tosca_definitions_version: tnb_simple_yaml_1_0 SampleNFEKS: type: tosca.nodes.AWS.Compute.EKS properties: version: "1.27" access: "ALL" cluster_role: "arn:aws:iam::${AWS::TNB::AccountId}:role/
SampleClusterRole
" capabilities: multus: properties: enabled: true requirements: subnets: - Subnet01 - Subnet02 SampleNFEKSNode01: type: tosca.nodes.AWS.Compute.EKSManagedNode properties: node_role: "arn:aws:iam::${AWS::TNB::AccountId}:role/SampleNodeRole
" capabilities: compute: properties: ami_type: "AL2_x86_64" instance_types: - "t3.xlarge" key_pair: "SampleKeyPair" scaling: properties: desired_size: 3 min_size: 2 max_size: 6 requirements: cluster: SampleNFEKS subnets: - Subnet01 network_interfaces: - ENI01 - ENI02
的管理和运营 AWS TNB
使用 AWS TNB,您可以使用符合 ETSI SOL 003 和 SOL 005 的标准化管理操作来管理您的网络。您可以使用 AWS TNBAPIs来执行生命周期操作,例如:
-
实例化网络功能。
-
终止网络功能。
-
更新网络功能以覆盖 Helm 部署。
-
使用新的网络包和参数值更新实例化或更新的网络实例。
-
管理网络功能包的版本。
-
管理您的版本NSDs.
-
检索有关您部署的网络功能的信息。
的网络服务描述符 AWS TNB
网络服务描述符 (NSD) 是网络包中的一个.yaml
文件,它使用该TOSCA标准来描述要部署的网络功能以及要在其上部署网络功能 AWS
的基础架构。要定义NSD和配置您的底层资源和网络生命周期操作,您必须了解支持的NSDTOSCA架构 AWS TNB。
您的NSD文件分为以下几个部分:
-
TOSCA定义版本-这是NSDYAML文件的第一行,包含版本信息,如以下示例所示。
tosca_definitions_version: tnb_simple_yaml_1_0
-
VNFD— NSD 包含要在其上执行生命周期操作的网络功能的定义。必须使用以下值来标识每个网络功能:
用于
descriptor_id
的唯一 ID。ID 必须与网络功能CSAR包中的 ID 相匹配。用于
namespace
的唯一名称。该名称必须与唯一 ID 相关联,以便在整个NSDYAML文件中更容易引用,如以下示例所示。
vnfds: - descriptor_id: "61465757-cb8f-44d8-92c2-b69ca0de025b" namespace: "amf"
-
拓扑模板 – 定义要部署的资源、网络功能部署以及任何自定义脚本,例如生命周期挂钩。如以下示例所示。
topology_template: node_templates: SampleNS: type: tosca.nodes.AWS.NS properties: descriptor_id: "<Sample Identifier>" descriptor_version: "<Sample nversion>" descriptor_name: "<Sample name>"
-
其它节点 – 每个建模的资源都有属性和要求部分。属性部分描述了资源的可选或必备属性,例如版本。要求部分描述了必须作为参数提供的依赖项。例如,要创建 Amazon EKS 节点组资源,必须在 Amazon EKS 集群中创建该资源。如以下示例所示。
SampleEKSNode: type: tosca.nodes.AWS.Compute.EKSManagedNode properties: node_role: "arn:aws:iam::${AWS::TNB::AccountId}:role/
SampleRole
" capabilities: compute: properties: ami_type: "AL2_x86_64" instance_types: - "t3.xlarge" key_pair: "SampleKeyPair" scaling: properties: desired_size: 1 min_size: 1 max_size: 1 requirements: cluster: SampleEKS subnets: - SampleSubnet network_interfaces: - SampleENI01 - SampleENI02