目次

AWS Telco Network Builder(TNB)v2.0 完全ガイド

公式ドキュメント


1. 本質と位置付け

AWS Telco Network Builder(TNB)は 「通信事業者向けの 5G / LTE ネットワーク機能(NFV:Network Function Virtualization)を AWS 上で自動デプロイ・管理するマネージドサービス」 である。2023 年 GA。ETSI MANO(Management and Orchestration)仕様に準拠し、VNF(Virtual Network Function)・CNF(Cloud-Native Network Function)のライフサイクル管理を完全自動化する。

コア機能

  • ETSI MANO 準拠:NFV アーキテクチャの標準化(NFVO / VNFM)
  • 5G Core / RAN デプロイ:UPF / AMF / SMF / UDM 等の 3GPP 準拠ネットワーク機能
  • Kubernetes 統合:EKS / ECS 上でのコンテナ化ネットワーク機能実行
  • ライフサイクル管理:自動デプロイ・スケール・アップデート・終了
  • Outposts / Wavelength 対応:エッジロケーションでの 5G/MEC 構築

このサービスを選ぶ理由

なぜ AWS Telco Network Builder でないといけないのか?

  1. 5G コアネットワークの迅速なクラウド化

    • 従来:物理専用ハードウェア(Nokia / Ericsson)= $5M~10M、デプロイ 6~12ヶ月
    • AWS TNB:仮想化ネットワーク機能 + EKS = $500K~1M、デプロイ 2~4週間
    • 削減効果:CapEx 90%削減、デプロイ時間 90% 短縮
  2. ETSI MANO 標準化による相互運用性

    • 通信業界標準(ETSI NFV-MANO)に準拠
    • VNF(Virtual Network Function)から CNF(Cloud-Native Function)への段階的移行が容易
    • 既存の通信機器ベンダー(Nokia / Ericsson / Cisco)の VNF をそのまま利用可能
  3. 5G SA(スタンドアロン)の低コスト構築

    • 物理専用ハードウェア不要で仮想化 5G コアを構築
    • スケーラビリティ自動(EKS オートスケーリング)
    • 複数リージョン・マルチ AZ での高可用性
  4. MEC(Multi-access Edge Computing)の実現

    • AWS Wavelength(通信キャリア 5G エッジロケーション)との統合
    • 超低遅延(< 10ms)のコンテンツ配信・計算処理を実現

このサービスを選ばない理由

  • 小規模 MVNO(< 100万加入者)→ マネージド 5G コアサービス(AWS との合弁)で十分
  • オンプレミス 5G 専用ハードウェア必須 → Kubernetes 不要、直接ハードウェア
  • ETSI 非準拠の独自ネットワーク機能 → TNB の価値が限定的

2. ETSI MANO アーキテクチャと TNB の位置付け

ETSI NFV-MANO 概要

┌─────────────────────────────────────────────────────────────────┐
│                    ETSI NFV-MANO Architecture                   │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│ ┌─────────────────────────────────────────────────────────┐   │
│ │ OSS(Operation Support System)/ BSS(Business SS)   │   │
│ │ → Service Orchestrator(高層 intent ベース)          │   │
│ └─────────────────────────────────────────────────────────┘   │
│     ↑                                                       │
│     │ ETSI SOL005 / SOL003 インターフェース               │
│     ↓                                                       │
│ ┌─────────────────────────────────────────────────────────┐   │
│ │ AWS Telco Network Builder(NFVO / VNFM 実装)        │   │
│ │                                                         │   │
│ │ ・NFV Orchestrator(NFVO)                             │   │
│ │   → Network Service インスタンス化・ライフサイクル管理 │   │
│ │                                                         │   │
│ │ ・VNF Manager(VNFM)                                  │   │
│ │   → Individual VNF / CNF の管理                        │   │
│ └─────────────────────────────────────────────────────────┘   │
│     ↓                                                       │
│ ┌─────────────────────────────────────────────────────────┐   │
│ │ VIM(Virtual Infrastructure Manager)                 │   │
│ │                                                         │   │
│ │ ・AWS EKS(Kubernetes)← CNF 実行環境                 │   │
│ │ ・AWS EC2(Virtual Machines)← VNF 実行環境          │   │
│ │ ・AWS Outposts / Wavelength ← エッジロケーション    │   │
│ └─────────────────────────────────────────────────────────┘   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

AWS TNB の実装形式

コンポーネント AWS TNB 実装 説明
NFVO AWS Telco Network Builder Network Service インスタンス化・スケール・アップデート・終了
VNFM AWS TNB / Vendor 提供 VNF / CNF のライフサイクル管理
VIM EKS / EC2 / Outposts ネットワーク機能実行環境

3. ネットワーク機能パッケージ(Network Function Descriptor)

3.1 Function Package(関数パッケージ)

CSAR(Cloud Service Archive)形式の ZIP ファイル。VNFD(Virtual Network Function Descriptor)+ TOSCA テンプレート + コンテナイメージ参照。

ファイル構成

upf-nf-package.zip
├── Definitions/
│   └── upf_nfd.yaml              # VNFD(TOSCA 形式)
├── Files/
│   ├── upf-container-image.tar   # Dockerfile / OCI イメージ
│   └── upf-helm-chart.yaml       # Kubernetes Helm チャート
├── Artifacts/
│   ├── config.yaml               # 設定ファイル
│   └── README.md
└── MANIFEST.MF

3.2 VNFD テンプレート例(TOSCA 形式)

tosca_definitions_version: tosca_simple_yaml_1_0

metadata:
  template_name: UPF-VNF
  template_version: "3.5"
  vendor: Ericsson
  nfvi_type: "5G-NFV"

topology_template:
  node_templates:
    # Virtual Network Function Node
    upf_vnf:
      type: tosca.nodes.nfv.VNF
      properties:
        vnf_name: "User-Plane-Function"
        vnf_description: "5G Core Network UPF"
        vnf_version: "3.5"
        
        # リソース要件
        flavour_id: "upf-large"
        
        # ネットワークインターフェース
        vdu_nodes:
          - type: tosca.nodes.nfv.Vdu.Compute
            properties:
              name: upf-container
              virtual_compute:
                virtual_cpu:
                  num_virtual_cpu: 8
                virtual_memory:
                  virtual_mem_size: 16 GB
              virtual_storage:
                - virtual_storage_id: upf-storage
                  size_of_storage: 100 GB
        
        # ネットワーク仮想リンク
        virtual_links:
          - virtual_link_id: n3_link      # RAN 接続(N3 インターフェース)
            link_type: tosca.nodes.nfv.VirtualLink
            properties:
              layer_protocols: [ipv4, ipv6]
              cidr: 192.168.1.0/24
          
          - virtual_link_id: n6_link      # 外部ネットワーク(N6 インターフェース)
            properties:
              layer_protocols: [ipv4, ipv6]
              cidr: 192.168.2.0/24
        
        # サービス品質(QoS)
        instantiation_parameters:
          - param_name: "upf_profile"
            param_value: "production"
          - param_name: "throughput_gbps"
            param_value: "100"
      
      # ライフサイクル管理スクリプト
      interfaces:
        Standard:
          create: onboarding_scripts/install.sh
          start: onboarding_scripts/start.sh
          stop: onboarding_scripts/stop.sh
          delete: onboarding_scripts/cleanup.sh

  # ネットワークサービス記述子(NSD)
  groups:
    service_template:
      type: tosca.groups.nfv.NetworkService
      members:
        - upf_vnf
      properties:
        ns_name: "5G-Core-Network-Service"
        ns_description: "Complete 5G SA Core Network"

3.3 Function Package の登録・管理

# Function Package(VNF / CNF)の作成
aws tnb create-sol-function-package \
  --tags '{
    "NFType": "UPF",
    "Vendor": "Ericsson",
    "Version": "3.5",
    "Environment": "production"
  }' \
  --region ap-northeast-1

# 出力:
# {
#   "id": "vnfpkg-0123456789abcdef0",
#   "arn": "arn:aws:tnb:ap-northeast-1:...:function-package/vnfpkg-..."
# }

# パッケージコンテンツのアップロード(CSAR 形式)
aws tnb put-sol-function-package-content \
  --vnf-pkg-id vnfpkg-0123456789abcdef0 \
  --content-type application/zip \
  --file fileb://upf-nf-package.zip \
  --region ap-northeast-1

# パッケージの検証・有効化
aws tnb update-sol-function-package \
  --vnf-pkg-id vnfpkg-0123456789abcdef0 \
  --operational-state ENABLED \
  --region ap-northeast-1

# パッケージ情報確認
aws tnb get-sol-function-package \
  --vnf-pkg-id vnfpkg-0123456789abcdef0 \
  --region ap-northeast-1 \
  --query 'vnfPkgInfo'

4. ネットワークサービスのインスタンス化

4.1 Network Service インスタンス化フロー

┌─────────────────────────────────────────────────────┐
│ Network Service Package(NSD)登録                 │
│ - 複数の NF を統合                                  │
│ - N1-N6 インターフェース接続定義                   │
└─────────────────────────────────────────────────────┘
        ↓
┌─────────────────────────────────────────────────────┐
│ Network Service インスタンス化                      │
│ - UPF, AMF, SMF を同時デプロイ                     │
│ - 自動ネットワーク接続                              │
│ - スケール・HA 設定                                 │
└─────────────────────────────────────────────────────┘
        ↓
┌─────────────────────────────────────────────────────┐
│ 5G Core Network が稼働開始                          │
│ - RAN からの接続受け入れ                            │
│ - ユーザーデータ(PDU Session)処理               │
└─────────────────────────────────────────────────────┘

4.2 CLI によるデプロイ例

# Network Service Package 登録
aws tnb create-sol-network-package \
  --tags '{
    "NetworkService": "5G-Core",
    "Environment": "production",
    "Operator": "SoftBank"
  }' \
  --region ap-northeast-1

# 出力:
# { "id": "nspkg-0123456789abcdef0" }

# NSD(Network Service Descriptor)アップロード
aws tnb put-sol-network-package-content \
  --nsd-info-id nspkg-0123456789abcdef0 \
  --content-type application/zip \
  --file fileb://5g-core-nsd.zip \
  --region ap-northeast-1

# Network Service インスタンス作成
aws tnb create-sol-network-instance \
  --nsd-info-id nspkg-0123456789abcdef0 \
  --ns-instance-name "5G-Core-Production" \
  --tags '{"ServiceProvider": "SoftBank", "Zone": "Tokyo"}' \
  --region ap-northeast-1

# 出力:
# { "id": "nsinst-0123456789abcdef0" }

# Network Service インスタンス化(デプロイ)
aws tnb instantiate-sol-network-instance \
  --ns-instance-id nsinst-0123456789abcdef0 \
  --additional-params-for-ns '{
    "region": "ap-northeast-1",
    "availability_zones": ["ap-northeast-1a", "ap-northeast-1b"],
    "vpc_id": "vpc-0123456789abcdef0",
    "subnet_ids": [
      "subnet-111111",
      "subnet-222222"
    ],
    "security_group_ids": ["sg-5g-core"],
    "upf_replicas": 3,
    "amf_replicas": 2,
    "smf_replicas": 2,
    "node_selectors": {
      "workload": "5g-core"
    }
  }' \
  --region ap-northeast-1

# インスタンス状態確認
aws tnb get-sol-network-instance \
  --ns-instance-id nsinst-0123456789abcdef0 \
  --region ap-northeast-1 \
  --query '{
    State: nsState,
    Status: nsStatus,
    CreatedAt: nsSdId,
    Descriptor: nsdId
  }'

# 出力:
# {
#   "State": "INSTANTIATED",
#   "Status": "READY",
#   "CreatedAt": "2024-01-15T10:30:00Z",
#   "Descriptor": "nspkg-..."
# }

5. スケール・更新・ライフサイクル管理

5.1 オートスケーリング

# Network Service スケール(スケールアウト)
aws tnb scale-sol-network-instance \
  --ns-instance-id nsinst-0123456789abcdef0 \
  --scale-type SCALE_OUT \
  --additional-params-for-ns '{
    "scale_aspect": "UPF",
    "number_of_steps": 2,
    "target_replicas": 5
  }' \
  --region ap-northeast-1

# スケール結果確認
aws tnb get-sol-network-instance \
  --ns-instance-id nsinst-0123456789abcdef0 \
  --region ap-northeast-1 \
  --query 'nsState'

5.2 ローリングアップデート

# VNF / CNF のアップデート(Blue/Green)
aws tnb update-sol-network-instance \
  --ns-instance-id nsinst-0123456789abcdef0 \
  --update-type MODIFY_VNF_INFORMATION \
  --modify-vnf-info-data '{
    "vnfConfigurableProperties": {
      "maxBitrate": "200Gbps",
      "cpuLimit": "16",
      "memoryLimit": "32Gi"
    },
    "updateStrategy": "RollingUpdate",
    "maxUnavailable": 1,
    "maxSurge": 1
  }' \
  --region ap-northeast-1

5.3 ライフサイクル終了

# Network Service インスタンス終了
aws tnb terminate-sol-network-instance \
  --ns-instance-id nsinst-0123456789abcdef0 \
  --additional-params-for-ns '{
    "graceful_termination_timeout": "300"
  }' \
  --region ap-northeast-1

# インスタンス削除
aws tnb delete-sol-network-instance \
  --ns-instance-id nsinst-0123456789abcdef0 \
  --region ap-northeast-1

6. 実装例:Private 5G ネットワーク構築

シナリオ:工場内 Private 5G ネットワーク

┌──────────────────────────────────────────────────────────┐
│ 工場(スマートマニュファクチャリング)                    │
├──────────────────────────────────────────────────────────┤
│                                                          │
│  ┌────────────┐  ┌────────────┐  ┌────────────┐       │
│  │  IoT Robot │  │ AGV Robot  │  │  Camera    │       │
│  │  (5G UE)   │  │  (5G UE)   │  │  (5G UE)   │       │
│  └──────┬─────┘  └──────┬─────┘  └──────┬─────┘       │
│         │                │                │              │
│         └────────────────┬────────────────┘              │
│                          │ Ultra-reliable                │
│                          │ Low-latency (URLLC)          │
│                          ↓                              │
│              ┌──────────────────────┐                   │
│              │  Private 5G gNodeB   │                   │
│              │  (Small cell)        │                   │
│              │  Frequency: 4.7GHz   │                   │
│              └──────────┬───────────┘                   │
│                         │                               │
│                         │ Backhaul (Private fiber)      │
│                         ↓                               │
│         ┌───────────────────────────────────┐          │
│         │  AWS TNB 5G Core Network          │          │
│         │  ┌─────────┐  ┌─────────┐         │          │
│         │  │   UPF   │──│  N6 GW  │         │          │
│         │  │(Packet) │  │(外部)   │         │          │
│         │  └────┬────┘  └─────────┘         │          │
│         │       │                            │          │
│         │  ┌────▼────┐  ┌─────────┐         │          │
│         │  │   AMF   │  │   SMF   │         │          │
│         │  │(Mobil.) │  │(Session)│         │          │
│         │  └─────────┘  └─────────┘         │          │
│         │  (EKS 実行)                       │          │
│         └───────────────────────────────────┘          │
│                         │                               │
│                         ↓                               │
│                 ERP / MES システム                      │
│                 (工場制御)                              │
│                                                          │
└──────────────────────────────────────────────────────────┘

CloudFormation テンプレート例

AWSTemplateFormatVersion: '2010-09-09'
Description: 'Private 5G Network with AWS Telco Network Builder'

Parameters:
  EKSClusterName:
    Type: String
    Default: private-5g-cluster
  FactoryName:
    Type: String
    Default: SmartFactory-Tokyo

Resources:
  # EKS クラスター(5G コア実行)
  PrivateFiveGCluster:
    Type: AWS::EKS::Cluster
    Properties:
      Name: !Ref EKSClusterName
      Version: "1.28"
      ResourcesVpcConfig:
        SubnetIds:
          - !Ref PublicSubnet1
          - !Ref PublicSubnet2
      RoleArn: !GetAtt EKSClusterRole.Arn
      Tags:
        - Key: Service
          Value: PrivateFiveG

  # IAM Role(TNB)
  TNBExecution Role:
    Type: AWS::IAM::Role
    Properties:
      RoleName: tnb-orchestration-role
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Principal:
              Service: tnb.amazonaws.com
            Action: 'sts:AssumeRole'
      Policies:
        - PolicyName: TNBExecution
          PolicyDocument:
            Version: '2012-10-17'
            Statement:
              - Effect: Allow
                Action:
                  - eks:DescribeCluster
                  - eks:ListClusters
                  - ec2:DescribeInstances
                  - ec2:DescribeSecurityGroups
                  - ecr:GetAuthorizationToken
                  - ecr:BatchGetImage
                Resource: '*'

  # セキュリティグループ(5G トラフィック)
  FiveGSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: 5G Core Network Security Group
      VpcId: !Ref PrivateFiveGVPC
      SecurityGroupIngress:
        # N1: UE への接続
        - IpProtocol: udp
          FromPort: 500
          ToPort: 500
          CidrIp: 192.168.0.0/16
          Description: N1 Interface
        # N3: RAN への接続(gNodeB)
        - IpProtocol: udp
          FromPort: 2152
          ToPort: 2152
          CidrIp: 10.0.0.0/8
          Description: N3 Interface (GTPU)
        # N6: 外部ネットワーク
        - IpProtocol: tcp
          FromPort: 80
          ToPort: 443
          CidrIp: 0.0.0.0/0
          Description: N6 Interface

  # VPC
  PrivateFiveGVPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      EnableDnsHostnames: true
      Tags:
        - Key: Name
          Value: !Sub '${FactoryName}-5g-vpc'

Outputs:
  EKSClusterEndpoint:
    Value: !GetAtt PrivateFiveGCluster.Endpoint
    Description: EKS Cluster Endpoint
  
  ClusterSecurityGroup:
    Value: !Ref FiveGSecurityGroup
    Description: 5G Core Network Security Group

7. 料金とコスト管理

料金体系

課金項目 価格
TNB オーケストレーション $0.07/NF インスタンス/時間
EKS クラスター $0.10/時間(マネージド Kubernetes)
EC2 ノード(NF 実行) インスタンスタイプに応じた標準 EC2 料金
通信(GB 単位) 依存する VPC / Wavelength 設定

コスト最適化

5G Core Network を AWS TNB で運用(月間):

① TNB オーケストレーション:
   3 NF インスタンス(UPF, AMF, SMF) × 24時間 × 30日 × $0.07
   = 3 × 720 × $0.07 = $151.2

② EKS クラスター:
   $0.10/時間 × 720時間 = $72

③ EC2 ノード(m5.2xlarge × 3):
   3 × $0.384/時間 × 720時間 = $829

④ 合計月額:$151.2 + $72 + $829 = $1,052.2

従来(物理 5G コア)との比較:
  物理ハードウェア:月額 $50,000~100,000
  AWS TNB:月額 $1,000~2,000
  削減率:95~98%

8. 比較:AWS TNB vs 代替ソリューション

比較項目 AWS TNB VMware Telco Cloud Platform Red Hat OpenShift Telco Nokia AirGile Ericsson Cloud RAN
ETSI MANO 準拠 ✅ 完全準拠 ✅ 準拠 ✅ 準拠 ✅ 準拠 ✅ 準拠
マネージド度 ✅ フル △ ハイブリッド △ ハイブリッド ❌ 自管理 ❌ 自管理
Kubernetes ネイティブ ✅ EKS △ vSphere ✅ OpenShift △ 限定的 △ 限定的
5G Core + RAN ✅ 両対応 △ Core のみ ✅ 両対応 ✅ 両対応 ✅ 両対応
グローバル対応 ✅ 全リージョン ✅ 広範 ✅ 広範 △ 限定的 △ 限定的
エッジ統合 ✅ Wavelength / Outposts △ 限定的 △ 限定的 △ 限定的 △ 限定的
初期投資 低(クラウド) 中~高 中~高
推奨対象 クラウドネイティブ演算子 既存 VMware 環境 OpenShift ユーザー 大規模キャリア 統合ソリューション

9. トラブルシューティング

症状 原因 対応
VNF インスタンス化失敗 EKS リソース不足・イメージ取得失敗 EKS ノードスケール、ECR イメージ確認
ネットワークインターフェース接続失敗 セキュリティグループ / VPC ルート不正 VPC ルートテーブル・SG ルール確認
パケット喪失 / 遅延 EKS Pod の CPU / メモリ制限逼迫 リソースリクエスト・リミット調整
ETSI SOL005 エラー API パラメータ不正 TOSCA テンプレート / API ペイロード検証
スケール操作タイムアウト Helm release アップデート遅延 Helm タイムアウト値を増加

10. まとめ

AWS Telco Network Builder は 「ETSI MANO 準拠の 5G / LTE ネットワーク機能をクラウドで自動デプロイ・管理する通信事業者向けサービス」 である。

主な価値

  • CapEx 削減:物理ハードウェア → クラウドで 90~95% 削減
  • デプロイ加速:6~12ヶ月 → 2~4週間
  • スケーラビリティ:自動 EKS スケーリング
  • 標準準拠:ETSI MANO で相互運用性実現
  • エッジ統合:Wavelength / Outposts で MEC 実現

使うべき場合

  • MVNO / 新興キャリアの 5G ネットワーク構築
  • Private 5G ネットワーク(工場・大学・スタジアム)
  • 既存 5G Core の AWS クラウド化
  • ETSI MANO 準拠 VNF / CNF の運用

参考資料

AWS TNB は 5G のクラウド化の民主化 を実現し、通信事業者・企業の Private 5G 構築を加速する重要なサービスである。