

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS TNB の概念
<a name="tnb-concepts"></a>

このトピックでは、 AWS TNB の使用を開始するのに役立つ重要な概念について説明します。

**Topics**
+ [ネットワーク機能のライフサイクル](#nf-lifecycle)
+ [標準化されたインターフェースの使用](#use-standardized-interfaces)
+ [関数パッケージ](#nf-packages)
+ [ネットワークパッケージ](#network-package)
+ [AWS TNB の管理とオペレーション](#network-service-operations)

## ネットワーク機能のライフサイクル
<a name="nf-lifecycle"></a>

AWS TNB は、ネットワーク機能のライフサイクル全体を通じて役立ちます。ネットワーク機能のライフサイクルには、次の段階とアクティビティが含まれます。

**計画**  

1. デプロイするネットワーク機能を特定してネットワークを計画します。

1. ネットワーク機能ソフトウェアイメージをコンテナイメージリポジトリに配置します。

1. CSAR パッケージを作成してデプロイまたはアップグレードします。

1.  AWS TNB を使用して、ネットワーク関数を定義する CSAR パッケージ (CU AMF、UPF など) をアップロードし、CSAR パッケージの新しいバージョンを作成するのに役立つ継続的インテグレーションおよび継続的デリバリー (CI/CD) パイプラインと統合します。新しいネットワーク関数ソフトウェアイメージまたはカスタマースクリプトが利用可能になります。

**設定**  

1. コンピューティングタイプ、ネットワーク機能バージョン、IP 情報、リソース名など、デプロイに必要な情報を特定します。

1. この情報を使用してネットワークサービス記述子 (NSD) を作成します。

1. ネットワーク機能を定義する NSD と、ネットワーク機能のインスタンス化に必要なリソースを取り込みます。

**インスタンス化**  

1. ネットワーク機能に必要なインフラストラクチャを作成します。

1. NSD で定義されているとおりにネットワーク機能をインスタンス化 (またはプロビジョニング) し、トラフィックの伝送を開始します。

1. アセットを検証します。

**本番稼働**  
ネットワーク機能のライフサイクル中に、次のような生産オペレーションを完了します。  
+ ネットワーク機能の設定を更新します。例えば、デプロイされたネットワーク機能の値を更新します。
+ 新しいネットワークパッケージとパラメータ値を使用してネットワークインスタンスを更新します。たとえば、ネットワークパッケージの Amazon EKS `version`パラメータを更新します。

## 標準化されたインターフェースの使用
<a name="use-standardized-interfaces"></a>

AWS TNB は、欧州電気通信規格協会 (ETSI) 準拠のサービスオーケストレーターと統合されているため、ネットワークサービスのデプロイを簡素化できます。サービスオーケストレーターは AWS TNB SDKs、 CLI、または APIs を使用して、ネットワーク関数のインスタンス化や新しいバージョンへのアップグレードなどのオペレーションを開始できます。

AWS TNB は、次の仕様をサポートしています。


|  の仕様 | リリース | 説明 | 
| --- | --- | --- | 
|  ETSI SOL001  |   [v3.6.1](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/001/03.06.01_60/gs_NFV-SOL001v030601p.pdf)   |  TOSCA ベースのネットワーク機能記述子を許可するための標準を定義します。  | 
|  ETSI SOL002  |   [v3.6.1](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.06.01_60/gs_NFV-SOL002v030601p.pdf)   |  ネットワーク機能管理に関するモデルを定義します。  | 
|  ETSI SOL003  |   [v3.6.1](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.06.01_60/gs_NFV-SOL003v030601p.pdf)   |  ネットワーク機能ライフサイクル管理の標準を定義します。  | 
|  ETSI SOL004  |   [v3.6.1](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/004/03.06.01_60/gs_NFV-SOL004v030601p.pdf)   |  ネットワーク機能パッケージの CSAR 標準を定義します。  | 
|  ETSI SOL005  |   [v3.6.1](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/03.06.01_60/gs_NFV-SOL005v030601p.pdf)   |  ネットワークサービスパッケージとネットワークサービスライフサイクル管理の標準を定義します。  | 
|  ETSI SOL007  |   [v3.5.1](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/007/03.05.01_60/gs_NFV-SOL007v030501p.pdf)   |  TOSCA ベースのネットワークサービス記述子を許可するための標準を定義します。  | 

## 関数パッケージ
<a name="nf-packages"></a>

 AWS TNB を使用すると、ETSI SOL001/SOL004 に準拠する関数パッケージを関数カタログに保存できます。次に、仮想ネットワーク関数を説明するアーティファクトを含む Cloud Service Archive (CSAR) パッケージをアップロードできます。
+ 仮想ネットワーク関数記述子 – パッケージオンボーディングと仮想ネットワーク関数管理のメタデータを定義します。このファイル `vnfd.yaml` には、名前を付ける必要があります。
+ ソフトウェアイメージ – 仮想ネットワーク関数のコンテナイメージを参照します。Amazon Elastic Container Registry (Amazon ECR) は、仮想ネットワーク関数イメージリポジトリとして機能します。
+ 追加のファイル – スクリプトや Helm チャートなど、仮想ネットワーク関数の管理に使用します。

CSAR は OASIS TOSCA 標準で定義されたパッケージであり、OASIS TOSCA YAML 仕様に準拠したネットワーク/サービス記述子が含まれています。必要な YAML 仕様の詳細については、「」を参照してください[AWS TNB の TOSCA リファレンス](tosca-reference.md)。

仮想ネットワーク関数記述子の例を次に示します。

```
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"
```

## ネットワークパッケージ
<a name="network-package"></a>

ネットワークパッケージは、CSAR (Cloud Service Archive) 形式の`.zip`ファイルです。デプロイする関数パッケージと、デプロイする AWS インフラストラクチャを定義します。

ネットワークパッケージには、次のファイルが含まれています。
+ ETSI SOL007 で説明されている TOSCA 形式のネットワーク記述子ファイル (`nsd.yaml`)。

  `nsd.yaml` ファイルには、アップロードされた[関数パッケージ](https://docs.aws.amazon.com/tnb/latest/ug/tnb-concepts.html#nf-packages)への参照と記述子 IDsが含まれています。
+ ユーザーデータスクリプトがある場合。
+ ライフサイクルフックスクリプトがある場合。
+ プラグイン`values.yaml`の設定ファイルがある場合。

AWS TNB は、ネットワーク、サービス、関数などのリソースを TOSCA 言語でモデリングするための ETSI 標準をサポートしています。 AWS TNB を使用すると、ETSI 準拠のサービスオーケストレーターが理解できるようにモデリング AWS のサービス することで、 をより効率的に使用できます。

### AWS TNB のネットワークサービス記述子
<a name="tnb-descriptors"></a>

ネットワークサービス記述子 (NSD) は、TOSCA 標準を使用して、デプロイするネットワーク機能と、ネットワーク機能をデプロイする AWS のインフラストラクチャを記述するネットワークパッケージ内の `.yaml` ファイルです。NSD を定義し、基盤となるリソースとネットワークライフサイクルオペレーションを設定するには、 AWS TNB でサポートされている NSD TOSCA スキーマを理解する必要があります。

NSD ファイルは、次の各パートに分割されています。

1. **TOSCA 定義バージョン** — これは NSD YAML ファイルの最初の行で、次に示す例のようにバージョン情報が含まれています。

   ```
   tosca_definitions_version: tnb_simple_yaml_1_0
   ```

1. **VNFD** — NSD には、ライフサイクルオペレーションを実行するネットワーク機能の定義が含まれています。各ネットワーク機能は次の値によって識別される必要があります。
   + `descriptor_id` の一意の ID。ID はネットワーク機能 CSAR パッケージの ID と一致する必要があります。
   + `namespace` の一意の名前。次の例に示すように、NSD YAML ファイル全体でより簡単に参照できるように、名前には固有の ID を関連付ける必要があります。

   ```
   vnfds:
     - descriptor_id: "61465757-cb8f-44d8-92c2-b69ca0de025b"
       namespace: "amf"
   ```

1. **トポロジーテンプレート** — デプロイするリソース、ネットワーク機能のデプロイ、およびライフサイクルフックなどのカスタマイズされたスクリプトを定義します。以下の例ではこれを示しています。

   ```
   topology_template:
   
     node_templates:
   
       SampleNS:
         type: tosca.nodes.AWS.NS
         properties:
           descriptor_id: "<Sample Identifier>"
           descriptor_version: "<Sample nversion>"
           descriptor_name: "<Sample name>"
   ```

1. **追加ノード** — モデル化された各リソースには、プロパティと要件に関するセクションがあります。プロパティには、バージョンなど、リソースのオプション属性または必須属性が記述されています。要件には、引数として指定する必要がある依存関係が記述されています。例えば、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
   ```

#### NSD の例
<a name="w2aab9c13c11b9"></a>

以下は、モデル化方法を示す NSD のスニペットです AWS のサービス。ネットワーク機能は Kubernetes バージョン 1.27 を搭載した Amazon EKS クラスターにデプロイされます。アプリケーションのサブネットは 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 の管理とオペレーション
<a name="network-service-operations"></a>

 AWS TNB を使用すると、ETSI SOL003 および SOL005 に従って標準化された管理オペレーションを使用してネットワークを管理できます。 AWS TNB APIs、次のようなライフサイクルオペレーションを実行できます。
+ ネットワーク機能のインスタンス化。
+ ネットワーク機能の終了。
+ ネットワーク機能の更新による Helm デプロイの上書き。
+ 新しいネットワークパッケージとパラメータ値を使用して、インスタンス化または更新されたネットワークインスタンスを更新します。
+ ネットワーク機能パッケージのバージョン管理。
+ NSD のバージョン管理。
+ デプロイされたネットワーク機能に関する情報の取得。