クイック スタート: Ubuntu 仮想マシン (VM) 用のネットワーク サービス設計 (NSD) を仮想化されたネットワーク機能 (VNF) として設計する

このクイック スタートでは、az aosm Azure CLI 拡張機能を使用して、基本的なネットワーク サービス設計を作成して発行する方法について説明します。

前提条件

アクティブなサブスクリプションが含まれる Azure アカウントが必要です。 Azure サブスクリプションをお持ちでない場合は、開始する前に、こちらの「無料で始める」の手順に従ってアカウントを作成してください。

また、「クイック スタート: Ubuntu 仮想マシン (VM) を仮想化されたネットワーク機能 (VNF) として発行する」の前提条件に従う必要があります。

入力ファイルを作成する

ネットワーク サービス設計を公開するための入力ファイルを作成します。 次のコマンドを実行して、ネットワーク サービス設計 (NSD) の入力構成ファイルを生成します。

az aosm nsd generate-config

このコマンドを実行すると、nsd-input.jsonc ファイルが生成されます。

Note

nsd-input.jsonc ファイルを編集し、サンプルに示されている値に置き換えます。 resource_element_type が ArmTemplate に設定されているセクションを削除します。 これは、より複雑な NSD にインフラストラクチャ (VNet など) を追加するためであり、このクイックスタートでは必要ありません。 input-vnf-nsd.jsonc としてファイルを保存します。

NFDV の発行時に発行元の名前を変更した場合は、publisher_name および publisher フィールドの両方に対して発行元名を使用します (後者は resource_element_templates 配列内にあります)。

別のリソース グループ名を使用した場合は、publisher_resource_group_name および publisher_resource_group フィールドを両方とも更新します (後者は resource_element_templates 配列内にあります)。

{
  // Azure location to use when creating resources e.g uksouth
  "location": "uksouth",
  // Name of the Publisher resource you want your definition published to.
  // Will be created if it does not exist.
  "publisher_name": "ubuntu-publisher",
  // Resource group for the Publisher resource.
  // You should create this before running the publish command.
  "publisher_resource_group_name": "ubuntu-publisher-rg",
  // Name of the ACR Artifact Store resource.
  // Will be created if it does not exist.
  "acr_artifact_store_name": "ubuntu-acr",
  // Network Service Design (NSD) name. This is the collection of Network Service Design Versions. Will be created if it does not exist.
  "nsd_name": "ubuntu-nsd",
  // Version of the NSD to be created. This should be in the format A.B.C
  "nsd_version": "1.0.0",
  // Optional. Description of the Network Service Design Version (NSDV).
  "nsdv_description": "Plain ubuntu VM",
  // List of Resource Element Templates (RETs).
  // There must be at least one NF RET.
  // ArmTemplate RETs are optional. Delete if not required.
  "resource_element_templates": [
      {
        // Type of Resource Element. Either NF or ArmTemplate
        "resource_element_type": "NF",
        "properties": {
            // The name of the existing publisher for the NSD.
            "publisher": "ubuntu-publisher",
            // The resource group that the publisher is hosted in.
            "publisher_resource_group": "ubuntu-publisher-rg",
            // The name of the existing Network Function Definition Group to deploy using this NSD.
            // This will be the same as the NF name if you published your NFDV using the CLI.
            "name": "ubuntu-vm",
            // The version of the existing Network Function Definition to base this NSD on.
            // This NSD will be able to deploy any NFDV with deployment parameters compatible with this version.
            "version": "1.0.0",
            // The region that the NFDV is published to.
            "publisher_offering_location": "uksouth",
            // Type of Network Function. Valid values are 'cnf' or 'vnf'.
            "type": "vnf"
        }
    }
  ]
}
変数 説明
publisher_name 定義を発行する発行元リソースの名前。 存在しない場合は作成されます。
publisher_resource_group_name 発行元リソースのリソース グループ。 存在しない場合は作成されます。
acr_artifact_store_name Azure Container Registry (ACR) 成果物ストア リソースの名前。 存在しない場合は作成されます。
location リソースの作成時に使用する Azure の場所。
network-functions publisher: このネットワーク機能定義バージョン (NFDV) を発行する発行元の名前。
publisher_resource_group: 発行元がホストされるリソース グループ。
name: この NSD を使用してデプロイする既存のネットワーク機能定義グループの名前。
version: この NSD の基となる既存のネットワーク機能定義のバージョン。 この NSD では、このバージョンと互換性のあるデプロイ パラメーターを持つ NFDV をデプロイできます。
publisher_offering_location: NFDV が発行されるリージョン。
type: ネットワーク機能の種類。 有効な値は cnf または vnf です。
nsd_name ネットワーク サービス設計グループの名前。 ネットワーク サービス設計バージョンのコレクション。 存在しない場合は作成されます。
nsd_version 作成する NSD のバージョン。 形式は A.B.C である必要があります。
nsdv_description NSDV の説明。

ネットワーク サービス設計 (NSD) を構築する

次のコマンドを使用して、ネットワーク サービス設計 (NSD) の構築プロセスを開始します:

az aosm nsd build --config-file input-vnf-nsd.jsonc

構築プロセスが完了した後、次の生成されたファイルを確認して、NSD のアーキテクチャと構造に関する分析情報を取得します。

これらのファイルは、nsd-cli-output という名前のサブディレクトリに作成されます:

ディレクトリ/ファイル 説明
nsd-cli-output/artifactManifest
deploy.bicep 入力ファイルから成果物が設定された成果物マニフェストを作成するための Bicep テンプレート
nsd-cli-output/artifacts
artifacts.json 発行時にアップロードする成果物 (イメージと ARM テンプレート) の一覧。 成果物マニフェストとの関連付け
<nf-name>.bicep ネットワーク関数 (NF) をデプロイするための、入力ファイルで提供される NF RET ごとの Bicep テンプレート。 このテンプレートは ARM テンプレートに変換され、発行コマンドの実行時にアーティファクト ストアにアップロードされます
nsd-cli-output/base
deploy.bicep この NSD グループのすべての NSG によって共有される発行元、ストレージ アカウント、およびネットワーク サービス デザイン グループを作成するための Bicep テンプレート
nsd-cli-output/nsdDefinition
deploy.bicep ネットワーク サービス設計バージョン (NSDV) を作成するための Bicep テンプレート。 このテンプレートには、nsd-input.jsonc ファイルで定義されている公開された NF または ARM テンプレート (インフラストラクチャ用) から取得される子リソース要素テンプレートが含まれています
config-group-schema.json この NSDV 内のすべての NF の結合された構成グループ スキーマ。 このスキーマは、NSDV をサイト ネットワーク サービス (SNS) の一部としてデプロイするときに、オペレーターが構成グループの値で指定する必要がある入力を定義します。
<nf-name>-mappings.json オペレーターによって提供される構成グループ値を、NSDV で定義されているデプロイ パラメーターにマップするファイル。 NSDV には NF ごとに 1 つがあります
nsd-cli-output
all_deploy.parameters.json すべての NF のデプロイ パラメーターのスーパーセット。リソース名をカスタマイズするための 1 つのファイルを提供します。 ビルド コマンドによってこのファイルに出力される値は、nsd-input.jsonc ファイルから取得されます。 発行を実行する前に、このファイルの値を編集できます。たとえば、別の場所に発行したり、別の発行元名を使用したりできます
index.json リソースのパブリッシュ時に内部的に使用されるファイル。 編集しないでください

ネットワーク サービス設計 (NSD) を公開する

ネットワーク サービス設計 (NSD) とそれに関連付けられている成果物を公開するには、次のコマンドを発行します。

az aosm nsd publish --build-output-folder nsd-cli-output

発行元リソース グループに移動して、生成されたリソースと成果物を確認します。

これらのリソースが作成されます。

リソース名 リソースの種類
ubuntu-nsd ネットワーク サービス設計。
1.0.0 (ubuntu-nsd/1.0.0) ネットワーク サービス設計のバージョン。
ubuntu-nsd-nsd-manifest-1-0-0 発行元成果物マニフェスト。
ConfigGroupSchema 構成グループ スキーマ。

次のステップ