クイックスタート: Azure Operator Service Manager で仮想化されたネットワーク機能をデプロイするための前提条件を完了する
Azure Operator Service Manager の使用を開始する前に、必要なリソース プロバイダーを登録し、サービスと対話するために必要なツールがインストールされていることを確認します。
前提条件
- Azure サブスクリプションで AOSM が有効になっています。
Azure CLI のダウンロードとインストール
Azure Cloud Shell で Bash 環境を使用できます。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。
CLI リファレンス コマンドをローカルで実行する場合は、「Azure CLI のインストール方法」を参照して Azure CLI をインストールします。
Windows または macOS のマシンで実行している場合は、Docker コンテナーでの Azure CLI の実行を検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。
ローカル インストールの場合は、az login
コマンドを使って Azure CLI にサインインします。
認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、「Azure CLI でのサインイン」を参照してください。
Azure CLI を使用してサインインする
Azure CLI を使ってサインインするには、次のコマンドを発行します。
az login
サブスクリプションの選択
サブスクリプション ID を使ってアクティブなサブスクリプションを変更するには、次のコマンドを発行します。
az account set --subscription "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Azure Operator Service Manager (AOSM) CLI 拡張機能をインストールする
Azure Operator Service Manager CLI 拡張機能をインストールするには、次のコマンドを発行します。
az extension add --name aosm
az version
を実行して、インストールされているバージョンと依存ライブラリを確認します。 コマンド az upgrade
を発行して、最新バージョンにアップグレードします。
必要なリソース プロバイダーを登録する
Azure Operator Service Manager を使う前に、次のコマンドを実行して必要なリソース プロバイダーを登録する必要があります。 登録プロセスには最大 5 分かかる場合があります。
# Register Resource Provider
az provider register --namespace Microsoft.ContainerInstance
登録状態を確認する
リソース プロバイダーの登録状態を確認するには、次のコマンドを実行します。
# Query the Resource Provider
az provider show -n Microsoft.ContainerInstance --query "{RegistrationState: registrationState, ProviderName: namespace}"
成功すると、次の出力が表示されます。
{
"ProviderName": "Microsoft.ContainerInstance",
"RegistrationState": "Registered"
}
Note
リソース プロバイダーの登録が完了するまでに数分かかる場合があります。 登録が成功すると、ネットワーク機能マネージャー (NFM) または Azure Operator Service Manager の使用を開始できます。
仮想ネットワーク機能 (VNF) の要件
Ubuntu イメージをダウンロードして抽出する
Azure BLOB ストレージの SAS URL 経由でアクセスできる Ubuntu イメージを既に所有している場合は、この手順を省略することで時間を節約できます。 Ubuntu イメージは約 650 MB とかなり大きいため、転送プロセスには時間がかかる場合があることに注意してください。
# Download the Ubuntu image
wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64-azure.vhd.tar.gz
# Extract the downloaded image
tar -xzvf jammy-server-cloudimg-amd64-azure.vhd.tar.gz
仮想マシン (VM) ARM テンプレート
このクイックスタートでは、Ubuntu 仮想マシン (VM) 用の次のサンプル ARM テンプレートが使われます。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.21.1.54444",
"templateHash": "2626436546580286549"
}
},
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
},
"subnetName": {
"type": "string"
},
"ubuntuVmName": {
"type": "string",
"defaultValue": "ubuntu-vm"
},
"virtualNetworkId": {
"type": "string"
},
"sshPublicKeyAdmin": {
"type": "string"
},
"imageName": {
"type": "string"
}
},
"variables": {
"imageResourceGroup": "[resourceGroup().name]",
"subscriptionId": "[subscription().subscriptionId]",
"vmSizeSku": "Standard_D2s_v3"
},
"resources": [
{
"type": "Microsoft.Network/networkInterfaces",
"apiVersion": "2021-05-01",
"name": "[format('{0}_nic', parameters('ubuntuVmName'))]",
"location": "[parameters('location')]",
"properties": {
"ipConfigurations": [
{
"name": "ipconfig1",
"properties": {
"subnet": {
"id": "[format('{0}/subnets/{1}', parameters('virtualNetworkId'), parameters('subnetName'))]"
},
"primary": true,
"privateIPAddressVersion": "IPv4"
}
}
]
}
},
{
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2021-07-01",
"name": "[parameters('ubuntuVmName')]",
"location": "[parameters('location')]",
"properties": {
"hardwareProfile": {
"vmSize": "[variables('vmSizeSku')]"
},
"storageProfile": {
"imageReference": {
"id": "[extensionResourceId(format('/subscriptions/{0}/resourceGroups/{1}', variables('subscriptionId'), variables('imageResourceGroup')), 'Microsoft.Compute/images', parameters('imageName'))]"
},
"osDisk": {
"osType": "Linux",
"name": "[format('{0}_disk', parameters('ubuntuVmName'))]",
"createOption": "FromImage",
"caching": "ReadWrite",
"writeAcceleratorEnabled": false,
"managedDisk": "[json('{\"storageAccountType\": \"Premium_LRS\"}')]",
"deleteOption": "Delete",
"diskSizeGB": 30
}
},
"osProfile": {
"computerName": "[parameters('ubuntuVmName')]",
"adminUsername": "azureuser",
"linuxConfiguration": {
"disablePasswordAuthentication": true,
"ssh": {
"publicKeys": [
{
"path": "/home/azureuser/.ssh/authorized_keys",
"keyData": "[parameters('sshPublicKeyAdmin')]"
}
]
},
"provisionVMAgent": true,
"patchSettings": {
"patchMode": "ImageDefault",
"assessmentMode": "ImageDefault"
}
},
"secrets": [],
"allowExtensionOperations": true
},
"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces', format('{0}_nic', parameters('ubuntuVmName')))]"
}
]
}
},
"dependsOn": [
"[resourceId('Microsoft.Network/networkInterfaces', format('{0}_nic', parameters('ubuntuVmName')))]"
]
}
]
}
上記の json ファイルを ubuntu-template.json としてローカル コンピューターに保存します。