クイックスタート: Ubuntu 仮想マシン (VM) を仮想ネットワーク機能 (VNF) として公開する
このクイック スタートでは、az aosm
Azure CLI 拡張機能を使用して、基本的なネットワーク機能定義を作成して公開する方法について説明します。 その目的は、Publisher Azure Operator Service Manager (AOSM) リソースのワークフローを示すことです。 ここで説明する基本的な概念は、ユーザーがより優れたサービスを構築するための準備を目的としています。
前提条件
アクティブなサブスクリプションが含まれる Azure アカウントが必要です。 Azure サブスクリプションをお持ちでない場合は、開始する前に、こちらの「無料で始める」の手順に従ってアカウントを作成してください。
リソース グループを作成するためのこのサブスクリプションに対する共同作成者ロール、または共同作成者ロールを持つ既存のリソース グループ。
「クイックスタート: Azure Operator Service Manager で仮想化されたネットワーク機能をデプロイするための前提条件を完了する」の前提条件に従っていることも前提となっています。
入力ファイルを作成する
次のコマンドを実行して、ネットワーク機能定義 (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 分かかります。 リソースが既に存在する場合、プロセスは大幅に速くなります。