Share via


クイックスタート: Ubuntu 仮想マシン (VM) を仮想ネットワーク機能 (VNF) として公開する

このクイック スタートでは、az aosm Azure CLI 拡張機能を使用して、基本的なネットワーク機能定義を作成して公開する方法について説明します。 その目的は、Publisher Azure Operator Service Manager (AOSM) リソースのワークフローを示すことです。 ここで説明する基本的な概念は、ユーザーがより優れたサービスを構築するための準備を目的としています。

前提条件

入力ファイルを作成する

次のコマンドを実行して、ネットワーク機能定義 (NFD) の入力構成ファイルを生成します。

az aosm nfd generate-config --definition-type vnf

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

Note

input.json ファイルを編集し、サンプルに示されている値に置き換えます。 input-vnf-nfd.json としてファイルを保存します。

input-vnf-nfd.json ファイルのサンプルを次に示します。

{ 
    "publisher_name": "ubuntu-publisher", 
    "publisher_resource_group_name": "ubuntu-publisher-rg", 
    "nf_name": "ubuntu-vm", 
    "version": "1.0.0", 
    "acr_artifact_store_name": "ubuntu-acr", 
    "location": "uksouth", 
    "blob_artifact_store_name": "ubuntu-blob-store", 
    "image_name_parameter": "imageName", 
    "arm_template": { 
        "file_path": "ubuntu-template.json", 
        "version": "1.0.0" 
    }, 
    "vhd": { 
        "file_path": "livecd.ubuntu-cpc.azure.vhd", 
        "version": "1-0-0",
        "image_disk_size_GB": 30,
        "image_hyper_v_generation": "V1",
        "image_api_version": "2023-03-01"
    } 
} 
変数 説明
publisher_name 定義を発行する発行元リソースの名前。 存在しない場合は作成されます。
publisher_resource_group_name 発行元リソースのリソース グループ。 存在しない場合は作成されます。
acr_artifact_store_name ACR 成果物ストア リソースの名前。 存在しない場合は作成されます。
location リソースの作成時に使用する Azure の場所。
nf_name NF 定義の名前。
version A.B.C 形式の NF 定義のバージョン。
blob_artifact_store_name ストレージ アカウントの成果物ストア リソースの名前。 存在しない場合は作成されます。
image_name_parameter VM に使用するイメージの名前を指定する VM ARM テンプレートのパラメーター名。
arm_template artifact_name: 成果物の名前。
file_path: 省略可能。 ローカル ディスクからアップロードする成果物のファイル パス。 不要な場合は削除してください。 相対パスは、構成ファイルに対する相対パスです。 Windows では、円記号を追加の円記号でエスケープします。
version: 成果物のバージョン。 ARM テンプレートの場合、バージョンは A.B.C 形式である必要があります。
vhd artifact_name: 成果物の名前。
file_path: 省略可能。 ローカル ディスクからアップロードする成果物のファイル パス。 不要な場合は削除してください。 相対パスは、構成ファイルに対する相対パスです。 Windows では、円記号を追加の円記号でエスケープします。
blob_sas_url: 省略可能。 成果物ストアにコピーする BLOB 成果物の SAS URL。 不要な場合は削除してください。
version: 成果物のバージョン。 成果物のバージョン。 VHD の場合、バージョンは A-B-C 形式である必要があります。
"image_disk_size_GB: 省略可能。 空のデータ ディスクのサイズをギガバイト単位で指定します。 この値は 1023 GB を超えることはできません。 不要な場合は削除してください。
image_hyper_v_generation: 省略可能。 イメージから作成された VirtualMachine の HyperVGenerationType を指定します。 有効な値は V1 と V2 です。 V1 は、指定されていない場合の既定値です。 不要な場合は削除してください。
image_api_version: 省略可能。 Microsoft.Compute/images リソースの作成に使用される ARM API バージョン。 不要な場合は削除してください。

Note

file_path オプションを使用する場合は、十分な帯域幅を持つ信頼性の高いインターネット接続が不可欠です。アップロード期間はファイル サイズによって異なる場合があるためです。

重要

前の表で説明した各変数は一意である必要があります。 たとえば、リソース グループ名が既に存在していてはならず、発行元と成果物ストアの名前はリージョン内で一意である必要があります。

ネットワーク機能定義 (NFD) をビルドする

ネットワーク機能定義 (NFD) を構築するには、ビルド プロセスを開始します。

az aosm nfd build -f input-vnf-nfd.json --definition-type vnf

ビルドが完了したら、生成されたファイルを調べて、ネットワーク機能定義 (NFD) 構造について理解を深めます。

これらのファイルは、nfd-bicep-ubuntu-template というサブディレクトリに作成されます。

ファイル 説明
configMappings ネットワーク機能定義バージョン (NFDV) のデプロイ パラメーターを仮想マシン (VM) ARM テンプレートに必要なパラメーターにマップするファイルを含むディレクトリ。
schemas このネットワーク機能定義バージョン (NFDV) からネットワーク機能 (NF) を作成するために必要なデプロイ パラメーターを定義するファイルを含むディレクトリ。
vnfartifactmanifests.bicep 成果物マニフェストを作成するための Bicep テンプレート。
Vnfdefinition.bicep ネットワーク機能定義バージョン (NFDV) 自体を作成するための Bicep テンプレート。

Note

エラーが発生した場合、修正する唯一のオプションは、適切な選択でコマンドを再実行することです。

ネットワーク機能定義を公開して成果物をアップロードする

ネットワーク機能定義 (NFD) を公開して関連する成果物をアップロードするには、次のコマンドを実行します。

az aosm nfd publish -f input-vnf-nfd.json --definition-type vnf

コマンドが完了したら、Publisher リソース グループ内のリソースを調べて、作成されたコンポーネントと成果物を確認します。

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

リソース名 リソースの種類
ubuntu-vm-nfdg ネットワーク機能定義。
1.0.0 ネットワーク機能定義バージョン。
ubuntu-publisher Publisher。
ubuntu-vm-acr-manifest-1-0-0 発行元成果物マニフェスト。
ubuntu-vm-sa-manifest-1-0-0 発行元成果物マニフェスト。
ubuntu-acr 発行元成果物ストア。
ubuntu-blob-store 発行元成果物ストア。

Note

成果物ストアの作成には約 10 分かかります。 リソースが既に存在する場合、プロセスは大幅に速くなります。

次のステップ