クイックスタート: Nginx を使用して、コンテナー化されたネットワーク関数 (CNF) のネットワーク サービス設計を設計する
このクイックスタートでは、Azure CLI 拡張機能 az aosm
を使用して、基本的なネットワーク サービス設計を作成して公開する方法について説明します。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウントが必要です。 Azure サブスクリプションをお持ちでない場合は、開始する前に、こちらの「無料で始める」の手順に従ってアカウントを作成してください。
- 「クイックスタート: コンテナー化されたネットワーク関数 (CNF) として Nginx コンテナーを公開する」を完了します。
入力ファイルを作成する
ネットワーク サービス設計バージョンと関連リソースを発行するための入力ファイルを作成します。 次のコマンドを実行して、ネットワーク サービス設計バージョン (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
発行プロセスが完了したら、発行元リソース グループに移動して、生成されたリソースと成果物を表示して確認します。