本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS TNB 概念
本主題說明協助您開始使用的基本概念 AWS TNB。
網路功能的生命週期
AWS TNB在整個網路功能的生命週期中協助您。網絡功能生命週期包括以下階段和活動:
- 企劃
-
-
透過識別要部署的網路功能來規劃您的網路。
-
將網絡功能軟件映像放入容器映像存儲庫中。
-
建立要部署或升級的CSAR套件。
-
用 AWS TNB於上傳定義網路功能的CSAR套件 (例如 CU 和UPF)AMF,並與持續整合和持續傳遞 (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 的網路功能套件儲存到功能目錄中。然後,您可以上傳包含描述您網路功能之成品的雲端服務封存 (CSAR) 套件。
-
網路功能描述元 — 定義套件上架和網路功能管理的中繼資料
-
軟件映像 — 參考網絡功能容器映像。Amazon 彈性容器註冊表(AmazonECR)可以充當您的網絡功能映像存儲庫。
-
其他檔案 — 用於管理網路功能;例如指令碼和 Helm 圖表。
這CSAR是由OASISTOSCA標準定義的套件,其中包含符合規格的網路/服務描述元。OASIS TOSCA YAML如需有關所需YAML規格的資訊,請參閱AWSTNB 的托斯卡參考。
以下是網路函數描述元的範例。
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)。您可以上傳YAMLNSD檔案,如 ETSI SOL 007 所述,包括:
-
您要部署的 NF
-
網路指示
-
運算指示
-
生命週期掛鉤 (自訂指令碼)
AWS TNB支援TOSCA語言中資源建模的ETSI標準,例如網路、服務和功能。 AWS TNB以ETSI符合標準的服務協調器可以理解的方式建模,讓您更有效率地使 AWS 服務 用它們。
以下是NSD展示如何建模的片段 AWS 服務。網路功能將部署在採用 Kubernetes 版本 1.27 的 Amazon EKS 叢集上。應用程式的子網路是子網路 01 和子網路 02。然後,您可以使用 Amazon Machine 映像 (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 必須與網路功能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