AWS TNB 概念 - AWS 電信網路建置器

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS TNB 概念

本主題說明協助您開始使用 的基本概念 AWS TNB。

網路函數的生命週期

AWS TNB 在網路函數的整個生命週期中都協助您。網路函數生命週期包括下列階段和活動:

規劃
  1. 透過識別要部署的網路函數來規劃您的網路。

  2. 將網路函數軟體映像放入容器映像儲存庫。

  3. 建立要部署或升級的CSAR套件。

  4. 使用 AWS TNB 上傳定義網路函數的CSAR套件 (例如 CU AMF和 UPF),並與連續整合和連續交付 (CI/CD) 管道整合,以協助您建立新的CSAR套件版本,作為新的網路函數軟體映像或客戶指令碼可用。

組態
  1. 識別部署所需的資訊,例如運算類型、網路函數版本、IP 資訊和資源名稱。

  2. 使用 資訊建立您的網路服務描述符 (NSD)。

  3. NSDs 定義網路函數的擷取,以及網路函數具實例化所需的資源。

即時化
  1. 建立網路函數所需的基礎設施。

  2. 依其定義,即時化 (或佈建) 網路函數,NSD並開始承載流量。

  3. 驗證資產。

生產

在網路函數的生命週期內,您將完成生產操作,例如:

  • 更新網路函數組態,例如,更新已部署網路函數中的值。

  • 使用新的網路套件和參數值更新網路執行個體。例如,更新網路套件中的 Amazon EKS version 參數。

使用標準化介面

AWS TNB 與歐洲電信標準協會 (ETSI) 相容服務協調器整合,可讓您簡化網路服務的部署。服務協調人員可以使用 AWS TNB SDKs、 CLI或 APIs來啟動操作,例如初始化或將網路函數升級至新版本。

AWS TNB 支援下列規格。

規格 發行版本 描述

ETSI SOL001

v3.6.1

定義允許 TOSCA型網路函數描述符的標準。

ETSI SOL002

v3.6.1

定義網路函數管理的模型。

ETSI SOL003

v3.6.1

定義網路函數生命週期管理的標準。

ETSI SOL004

v3.6.1

定義網路函數套件CSAR的標準。

ETSI SOL005

v3.6.1

定義網路服務套件和網路服務生命週期管理的標準。

ETSI SOL007

v3.5.1

定義允許 TOSCA型網路服務描述符的標準。

的網路函數套件 AWS TNB

使用 AWS TNB,您可以將符合 ETSI SOL001/SOL004 的網路函數套件存放在函數目錄中。然後,您可以上傳包含描述網路函數成品的 Cloud Service Archive (CSAR) 套件。

  • 網路函數描述詞 – 定義套件加入和網路函數管理的中繼資料

  • 軟體映像 – 參考網路函數容器映像。Amazon Elastic Container Registry (Amazon ECR) 可以充當網路函數映像儲存庫。

  • 其他檔案 – 用於管理網路函數,例如指令碼和 Helm Chart。

CSAR 是由 OASISTOSCA標準定義的套件,包含符合 OASISTOSCAYAML規格的網路/服務描述詞。如需所需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) 存放在您要部署的網路函數,以及您要如何將它們部署到目錄中。您可以上傳YAMLNSD檔案 (vnfd.yaml),如 ETSI SOL007 所述,包含下列資訊:

  • 您要部署的網路函數

  • 網路指示

  • 運算指示

  • 生命週期掛鉤 (自訂指令碼)

AWS TNB 支援以TOSCA語言建立資源模型ETSI的標準,例如網路、服務和函數。 AWS TNB AWS 服務 可讓您以 ETSI合規服務協調者可以理解的方式建立資源模型,進而更有效率地使用它們。

以下是 的程式碼片段,NSD示範如何建立 模型 AWS 服務。網路函數將部署在具有 Kubernetes 1.27 版的 Amazon EKS叢集上。應用程式子網路為 Subnet01 和 Subnet02。然後,您可以使用 Amazon Machine Image (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,您可以使用標準化管理操作來管理網路,方法為 SOL003 ETSI 和 SOL005。您可以使用 AWS TNBAPIs來執行生命週期操作,例如:

  • 讓您的網路函數變得具現化。

  • 終止您的網路函數。

  • 更新您的網路函數以覆寫 Helm 部署。

  • 使用新的網路套件和參數值更新具現化或更新的網路執行個體。

  • 管理網路函數套件的版本。

  • 管理 的版本NSDs。

  • 擷取已部署網路函數的相關資訊。

的網路服務描述符 AWS TNB

網路服務描述詞 (NSD) 是網路套件中的.yaml檔案,使用 TOSCA標準來描述您要部署的網路函數,以及 AWS 您要部署網路函數的基礎設施。若要定義您的 NSD並設定基礎資源和網路生命週期操作,您必須了解 支援的NSDTOSCA結構描述 AWS TNB。

您的NSD檔案分為下列部分:

  1. TOSCA 定義版本 – 這是NSDYAML檔案的第一行,包含版本資訊,如下列範例所示。

    tosca_definitions_version: tnb_simple_yaml_1_0
  2. VNFD – NSD包含要在其中執行生命週期操作的網路函數定義。每個網路函數都必須以下列值識別:

    • 的唯一 IDdescriptor_id。ID 必須與網路函數CSAR套件中的 ID 相符。

    • 的唯一名稱namespace。名稱必須與唯一 ID 相關聯,以便更輕鬆地參考整個NSDYAML檔案,如下列範例所示。

    vnfds: - descriptor_id: "61465757-cb8f-44d8-92c2-b69ca0de025b" namespace: "amf"
  3. 拓撲範本 – 定義要部署的資源、網路函數部署,以及任何自訂指令碼,例如生命週期掛鉤。如以下範例所示。

    topology_template: node_templates: SampleNS: type: tosca.nodes.AWS.NS properties: descriptor_id: "<Sample Identifier>" descriptor_version: "<Sample nversion>" descriptor_name: "<Sample name>"
  4. 其他節點 – 每個建模資源都有屬性和需求的區段。屬性描述資源的選用或必要屬性,例如 版本。這些要求描述必須作為引數提供的相依性。例如,若要建立 Amazon EKS Node Group Resource,必須在 Amazon EKS Cluster 中建立。如以下範例所示。

    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