次の方法で共有


クイックスタート: Azure Operator Service Manager で仮想化されたネットワーク機能をデプロイするための前提条件を完了する

Azure Operator Service Manager の使用を開始する前に、必要なリソース プロバイダーを登録し、サービスと対話するために必要なツールがインストールされていることを確認します。

前提条件

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.ContainerRegistry
az provider register --namespace Microsoft.ContainerInstance

登録状態を確認する

リソース プロバイダーの登録状態を確認するには、次のコマンドを実行します。

# Query the Resource Provider
az provider show -n Microsoft.ContainerRegistry --query "{RegistrationState: registrationState, ProviderName: namespace}"
az provider show -n Microsoft.ContainerInstance --query "{RegistrationState: registrationState, ProviderName: namespace}"

成功すると、次の出力が表示されます。

{
  "ProviderName": "Microsoft.ContainerRegistry",
  "RegistrationState": "Registered"
}
{
  "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 としてローカル コンピューターに保存します。

次のステップ