Amazon Web Services ブログ

新着: AWS Telco Network Builder – 通信ネットワークをデプロイおよび管理する

100 年を超える期間にわたって、通信業界は標準化され、さまざまな規制が課されるようになりました。そして、その過程において、方法、テクノロジー、そしてさまざまな用語 (興味深い頭字語がたくさんあります) が生み出されてきました。業界としては、顧客に可能な限り最高の音声およびデータサービスを提供するためには、この途方もない遺産を尊重しながら、新しいテクノロジーを活用する必要があります。

2月21日は AWS Telco Network Builder (TNB) についてお話ししたいと思います。この新しいサービスは、通信サービスプロバイダー (CSP) が AWS でパブリックおよびプライベート通信ネットワークをデプロイおよび管理するのに役立つよう設計されています。このサービスは、既存の標準、慣行、データ形式を使用するため、CSP は AWS の能力、スケール、柔軟性をより容易に活用できます。

今日、CSP は多くの場合、コードを仮想マシンにデプロイしています。しかし、CSP は将来を見据えて、さらなる柔軟性を求めており、より多くの機会にコンテナを利用するようになっています。AWS TNB はこの移行の一翼を担いたいと考えており、パッケージングとデプロイに Amazon Elastic Kubernetes Service (EKS) を利用しています。

概念と用語
サービスについて説明する前に、この業界に特有の概念と用語のうち、AWS TNB に関連するいくつかのものを見てみましょう。

欧州電気通信標準化機構 (ETSI) – グローバルな使用に適した仕様を定義する欧州の組織。AWS TNBETSI SOL001 から ETSI SOL005 まで、および ETSI SOL007 など、複数の ETSI 仕様をサポートしています。

通信サービスプロバイダー (CSP) – 通信サービスを提供する組織。

Topology and Orchestration Specification for Cloud Applications (TOSCA) – 通信アプリケーション用のサービステンプレートを記述するために使用される標準化された文法。

ネットワーク機能 (NF) – 通信ネットワーク内で特定のコア機能または付加価値機能を実行するソフトウェアコンポーネント。

Virtual Network Function Descriptor (VNFD) – ネットワーク機能のオンボーディングと管理に必要なメタデータの仕様。

Cloud Service Archive (CSAR) – VNFD、ネットワーク機能を保持するコンテナイメージへの参照、ネットワーク機能のサポートと管理に必要な追加ファイルを含む ZIP ファイル。

Network Service Descriptor (NSD) – 一連のネットワーク機能のコンピューティング、ストレージ、ネットワーキング、およびロケーションの要件と、それらを組み合わせて通信ネットワークを形成するために必要な情報の仕様。

ネットワークコア – ネットワークの中心。コントロールプレーンとデータプレーンのオペレーションを使用して、認証、承認、データ、およびポリシーを管理します。

サービスオーケストレーター (SO) – 高レベルの外部ネットワーク管理ツール。

無線アクセスネットワーク (RAN) – 特定の地域に対する無線カバレッジを提供するコンポーネント (基地局、アンテナなど)。

AWS Telco Network Builder (TNB) の使用
私は CSP ではありませんが、開始方法を説明するために最善を尽くします。 主なステップは次のとおりです。

  1. CSAR をアップロードして、ネットワーク機能ごとに機能パッケージを作成します。
  2. Network Service Descriptor (NSD) をアップロードして、ネットワーク用にネットワークパッケージを作成します。
  3. NSD を選択およびインスタンス化してネットワークを作成します。

まず、AWS TNB コンソールを開き、[Get started] (使用を開始) をクリックします。

最初は、ネットワーク、機能パッケージ、ネットワークパッケージはありません。

私の同僚が、このブログ記事で使用するためのサンプル CSAR と NSD を提供してくれました (ネットワーク機能は Free 5G Core のものです)。

各 CSAR は非常に単純な ZIP ファイルであり、VNFD と他の項目が含まれています。例えば、Free 5G Core Session Management Function (smf) の VNFD は次のようになります。

tosca_definitions_version: tnb_simple_yaml_1_0

topology_template:

  node_templates:

    Free5gcSMF:
      type: tosca.nodes.AWS.VNF
      properties:
        descriptor_id: "4b2abab6-c82a-479d-ab87-4ccd516bf141"
        descriptor_version: "1.0.0"
        descriptor_name: "Free5gc SMF 1.0.0"
        provider: "Free5gc"
      requirements:
        helm: HelmImage

    HelmImage:
      type: tosca.nodes.AWS.Artifacts.Helm
      properties:
        implementation: "./free5gc-smf"

VNFD の最後のセクション (HelmImage) は、実装を定義する Kubernetes の Helm Chart をポイントしています。

コンソールで [Function packages] (機能パッケージ) をクリックし、[Create function package] (機能パッケージを作成) をクリックします。その後、最初の CSAR をアップロードして、[Next] (次へ) をクリックします。

詳細を確認して、[Create function package] (機能パッケージを作成) をクリックします (各 VNFD にはデフォルト値を持つパラメータのセットを含めることができ、特定のデプロイに固有の値を使用して上書きできます)。

残りの 9 個の CSAR についてもこのプロセスを繰り返して、10 個の機能パッケージがすべて使用できる状態になりました。

これで、ネットワークパッケージを作成する準備ができました。Network Service Descriptor もかなりシンプルです。ここでは、いくつか抜粋してご紹介します。まず、NSD は各ネットワーク機能のために descriptor_id から namespace へのマッピングを確立して、名前で機能を参照できるようにします。

vnfds:
  - descriptor_id: "aa97cf70-59db-4b13-ae1e-0942081cc9ce"
    namespace: "amf"
  - descriptor_id: "86bd1730-427f-480a-a718-8ae9dcf3f531"
    namespace: "ausf"
...

その後、デフォルト値を含む入力変数を定義します (これは、私に AWS CloudFormation テンプレートを思い出させます)。

  inputs:
    vpc_cidr_block:
      type: String
      description: "CIDR Block for Free5GCVPC"
      default: "10.100.0.0/16"

    eni_subnet_01_cidr_block:
      type: String
      description: "CIDR Block for Free5GCENISubnet01"
      default: "10.100.50.0/24"
...

次に、変数を使用して、目的の AWS リソース (この場合は VPC とサブネット) へのマッピングを作成します。

   Free5GCVPC:
      type: tosca.nodes.AWS.Networking.VPC
      properties:
        cidr_block: { get_input: vpc_cidr_block }
        dns_support: true

    Free5GCENISubnet01:
      type: tosca.nodes.AWS.Networking.Subnet
      properties:
        type: "PUBLIC"
        availability_zone: { get_input: subnet_01_az }
        cidr_block: { get_input: eni_subnet_01_cidr_block }
      requirements:
        route_table: Free5GCRouteTable
        vpc: Free5GCVPC

その後、VPC 内の AWS インターネットゲートウェイを定義します。

    Free5GCIGW:
      type: tosca.nodes.AWS.Networking.InternetGateway
      capabilities:
        routing:
          properties:
            dest_cidr: { get_input: igw_dest_cidr }
      requirements:
        route_table: Free5GCRouteTable
        vpc: Free5GCVPC

最後に、ネットワーク機能を EKS クラスターにデプロイすることを指定します。機能は指定された順序でデプロイされます。

    Free5GCHelmDeploy:
      type: tosca.nodes.AWS.Deployment.VNFDeployment
      requirements:
        cluster: Free5GCEKS
        deployment: Free5GCNRFHelmDeploy
        vnfs:
          - amf.Free5gcAMF
          - ausf.Free5gcAUSF
          - nssf.Free5gcNSSF
          - pcf.Free5gcPCF
          - smf.Free5gcSMF
          - udm.Free5gcUDM
          - udr.Free5gcUDR
          - upf.Free5gcUPF
          - webui.Free5gcWEBUI
      interfaces:
        Hook:
          pre_create: Free5gcSimpleHook

[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 が私のために設定してくれた内容は次のとおりです。

ネットワーク – 3 つのサブネット、ルートテーブル、ルート、インターネットゲートウェイを備えた 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 にアクセスできます。

デプロイオプション – 1 つの AWS リージョンの複数のアベイラビリティーゾーンにまたがるネットワークを作成する機能をリリースします。今後、Local Zones や Outposts などのデプロイオプションをさらに追加する予定です。

料金 – 料金は、AWS TNB によって管理されるネットワーク機能の数、および AWS TNB API に対する呼び出しに基づきますが、各 AWS リージョンにおける毎月の最初の 45,000 件の API リクエストについては課金されません。また、デプロイの一部として作成される AWS リソースには追加料金がかかります。詳細については、TNB の料金のページをお読みください。

開始方法
詳細を確認して開始するには、AWS Telco Network Builder (TNB) のホームページにアクセスしてください。

Jeff;

原文はこちらです。