クイックスタート: Nginx を使用して、コンテナー化されたネットワーク関数 (CNF) のネットワーク サービス設計を設計する

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

前提条件

入力ファイルを作成する

ネットワーク サービス設計バージョンと関連リソースを発行するための入力ファイルを作成します。 次のコマンドを実行して、ネットワーク サービス設計バージョン (NSDV) の入力構成ファイルを生成します。

az aosm nsd generate-config

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

Note

input. json ファイルを編集します。 これを以下のサンプル内に示されている値に置き換えます。 ファイルを input-cnf-nsd.jsonc として保存します。

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

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

サンプルの input-cnf-nsd.jsonc を次に示します:

{
  // 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": "nginx-publisher",
  // Resource group for the Publisher resource.
  // Will be created if it does not exist.
  "publisher_resource_group_name": "nginx-publisher-rg",
  // Name of the ACR Artifact Store resource.
  // Will be created if it does not exist.
  "acr_artifact_store_name": "nginx-nsd-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": "nginx-nsdg",
  // 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": "Deploys a basic NGINX CNF",
  // 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": "nginx-publisher",
        // The resource group that the publisher is hosted in.
        "publisher_resource_group": "nginx-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": "nginx",
        // 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": "cnf"
      }
    }
  ]
}
  • publisher_name - 定義の公開先となるパブリッシャー リソースの名前。 まだ存在していない場合は作成されます。
  • publisher_resource_group_name - パブリッシャー リソースのリソース グループ。 まだ存在していない場合は作成されます。 このクイックスタートでは、ネットワーク関数定義を公開するときに使用したものと同じリソース グループを使用することをお勧めします。
  • acr_artifact_store_name - ACR 成果物ストア リソースの名前。 まだ存在していない場合は作成されます。
  • location - リソースの作成時に使用する Azure の場所。
  • nsd_name - ネットワーク サービス設計グループの名前。 ネットワーク サービス設計バージョンのコレクション。 まだ存在していない場合は作成されます。
  • nsd_version - 作成される NSD のバージョン。 A.B.C の形式です。
  • nsdv_description - NSDV の説明。
  • resource_element_templates:
    • publisher - この NFDV を公開する公開元の名前。
    • publisher_resource_group - 公開元がホストされるリソース グループ。
    • name - この NSD を使用してデプロイする既存のネットワーク関数定義グループの名前。 これは、CLI を使用して NFDV を発行した場合、NF 名と同じになります。
    • version - この NSD の基となる既存のネットワーク関数定義のバージョン。 この NSD では、このバージョンと互換性のあるデプロイ パラメーターを持つ NFDV をデプロイできます。
    • publisher_offering_location - NFDV の発行先となるリージョン。
    • type - ネットワーク関数の種類。 有効な値は cnf または vnf です。

ネットワーク サービス設計バージョン (NSDV) をビルドする

次のコマンドを使用して、NSDV のビルド プロセスを開始します:

az aosm nsd build -f input-cnf-nsd.jsonc

ビルド プロセスでは、nsd-cli-output という名前のフォルダーが生成されます。 ビルド プロセスが完了したら、生成されたファイルを確認して、NSDV のアーキテクチャと構造、および関連するリソースの分析情報を取得します。

次のファイルが作成されます。

ディレクトリ/ファイル 説明
nsdDefinition/config-group-schema.json この NSDV からサイト ネットワーク サービス (SNS) を作成するために必要なデプロイ パラメーターのスキーマを定義します。
nsdDefinition/nginx-nsd-mappings.json NSDV のパラメーターを NF ARM テンプレートに必要な値にマッピングします。
nsdDefinition/deploy.bicep NSDV 自体を作成するための bicep テンプレート。
成果物 NF ARM テンプレートの bicep テンプレートと、成果物マニフェストに含める成果物の一覧が含まれています。
artifactManifest/deploy.bicep 成果物マニフェストを作成するための Bicep テンプレート。
base/deploy.bicep 公開元、ネットワーク サービス設計グループ、成果物ストア リソースを作成するための bicep テンプレート

ネットワーク サービス設計バージョン (NSDV) を公開する

NSDV とそれに関連付けられている成果物を公開するには、次のコマンドを発行します:

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

発行プロセスが完了したら、発行元リソース グループに移動して、生成されたリソースと成果物を表示して確認します。

次のステップ