クイック スタート: Azure CLI を使用して Azure Operator Nexus 仮想マシンを作成する

  • Azure CLI を使用して Azure Nexus 仮想マシンをデプロイする

このクイック スタート ガイドは、Nexus 仮想マシンを使用して仮想ネットワーク機能 (VNF) をホストする作業を開始するのに役立ちます。 このガイドで説明されている手順に従うことで、特定のニーズと要件を満たすカスタマイズされた Nexus 仮想マシンをすばやく簡単に作成できます。 ネクサスネットワーキングの初心者でも専門家でも、このガイドが役立ちます。 仮想ネットワーク機能をホストするために Nexus 仮想マシンを作成およびカスタマイズするために知る必要があるすべてを学習します。

開始する前に

Azure アカウントをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の概要」を参照してください。

  • CLI 参照コマンドをローカルで実行する場合は、Azure CLI を インストール します。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

    • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、「 Azure CLI を使用した Azure への認証」を参照してください。

    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、「Azure CLI で拡張機能を使用および管理する」を参照してください。

    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

  • 必要な Azure CLI 拡張機能の最新バージョンをインストールします。

  • 複数の Azure サブスクリプションがある場合は、 az account コマンドを使用してリソースを課金する適切なサブスクリプション ID を選択します。

  • 仮想マシンの作成に進む前に、使用するコンテナー イメージが手順に従って作成されていることを確認 します。

  • az group create コマンドを使用してリソース グループを作成します。 Azure リソース グループは、Azure リソースが展開され管理される論理グループです。 リソース グループを作成する際は、場所の指定を求めるプロンプトが表示されます。 この場所は、リソース グループのメタデータが格納される場所です。また、リソースの作成時に別のリージョンを指定しない場合は、Azure でリソースが実行される場所でもあります。 次の例では、 myResourceGroup という名前のリソース グループを eastus の場所に作成します。

    az group create --name myResourceGroup --location eastus
    

    次の出力例は、リソース グループの正常な作成に似ています。

    {
      "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
      "location": "eastus",
      "managedBy": null,
      "name": "myResourceGroup",
      "properties": {
        "provisioningState": "Succeeded"
      },
      "tags": null
    }
    
  • Bicep ファイルまたは ARM テンプレートをデプロイするには、デプロイするリソースに対する書き込みアクセス権と、 Microsoft.Resources/deployments リソースの種類に対するすべての操作へのアクセス権が必要です。 たとえば、クラスターをデプロイするには、 Microsoft.NetworkCloud/virtualMachines/write と Microsoft.Resources/deployments/* のアクセス許可が必要です。 ロールとアクセス許可の一覧については、Azure の組み込みロールに関するページを参照してください。

  • Azure Operator Nexus クラスターの custom location リソース ID が必要です。

  • 特定のワークロード要件に従って 、さまざまなネットワーク を作成する必要があります。 ワークロードで適切な IP アドレスを使用できるようにする必要があります。 円滑な実装を確保するには、関連するサポート チームに問い合わせてください。

  • Nexus 仮想マシンをデプロイするための 前提条件 を満たす。

Nexus 仮想マシンを作成する

次の例では、eastus の場所にあるリソース グループ myResourceGroup に myNexusVirtualMachine という名前の仮想マシンを作成します。

コマンドを実行する前に、仮想マシンの構成を定義するためにいくつかの変数を設定する必要があります。 設定する必要がある変数と、特定の変数に使用できるいくつかの既定値を次に示します。

Variable Description
場所 仮想マシンを作成する Azure リージョン。
リソースグループ 仮想マシンを作成する Azure リソース グループの名前。
サブスクリプション Azure サブスクリプションの ID。
カスタム位置 この引数は、Nexus インスタンスのカスタムの場所を指定します。
CSN_ARM_ID 仮想マシンが接続するクラウド サービス ネットワークの ARM リソース ID。
L3_NETWORK_ID 仮想マシンが接続する L3 ネットワークの ARM リソース ID。
ネットワークインターフェイス名 割り当てる L3 ネットワーク インターフェイスの名前。
ADMIN_USERNAME 仮想マシン管理者のユーザー名。
SSH_PUBLIC_KEY 仮想マシンとのセキュリティで保護された通信に使用される SSH 公開キー。
CPUコア 仮想マシンの CPU コア数 (偶数、最大 46 vCPU)
メモリサイズ 仮想マシンのメモリ量 (GiB、最大 224 GiB)。
VM_DISK_SIZE 仮想マシン ディスクのサイズ (GiB 単位)。
VMイメージ 仮想マシン イメージの URL。
ACR_URL Azure Container Registry (ACR) の URL。
ACR_USERNAME Azure Container Registry のユーザー名。
ACR_PASSWORD Azure Container Registry のパスワード。
UAMI_ID ユーザー割り当てマネージド ID のリソース ID (ユーザー割り当てマネージド ID を使用している場合)。

Warnung

ユーザー データは暗号化されず、VM 上のどのプロセスでもこのデータに対してクエリを実行できます。 機密情報をユーザー データに格納しないでください。 詳細については、 Azure データのセキュリティと暗号化のベスト プラクティスに関するページを参照してください。

変数が定義されたら、Azure CLI コマンドを実行して仮想マシンを作成できます。 トラブルシューティングのためにより詳細な出力を提供するには、最後に --debug フラグを追加します。

次の一連のコマンドを使用し、例の値を任意の値に置き換えます。 次の例に示すように、一部の変数に既定値を使用することもできます。

# Azure parameters
RESOURCE_GROUP="myResourceGroup"
SUBSCRIPTION="<Azure subscription ID>"
CUSTOM_LOCATION="/subscriptions/<subscription_id>/resourceGroups/<managed_resource_group>/providers/microsoft.extendedlocation/customlocations/<custom-location-name>"
LOCATION="$(az group show --name $RESOURCE_GROUP --query location --subscription $SUBSCRIPTION -o tsv)"

# VM parameters
VM_NAME="myNexusVirtualMachine"

# VM credentials
ADMIN_USERNAME="azureuser"
SSH_PUBLIC_KEY="$(cat ~/.ssh/id_rsa.pub)"

# Network parameters
CSN_ARM_ID="/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.NetworkCloud/cloudServicesNetworks/<csn-name>"
L3_NETWORK_ID="/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.NetworkCloud/l3Networks/<l3Network-name>"
NETWORK_INTERFACE_NAME="mgmt0"

# VM Size parameters
CPU_CORES=4
MEMORY_SIZE=12
VM_DISK_SIZE="64"

# Virtual Machine Image parameters
VM_IMAGE="<VM image, example: myacr.azurecr.io/ubuntu:20.04>"
ACR_URL="<Azure Container Registry URL, example: myacr.azurecr.io>"
ACR_USERNAME="<Azure Container Registry username>"
ACR_PASSWORD="<Azure Container Registry password>"

Important

これらのコマンドを実行する前に、CUSTOM_LOCATION、CSN_ARM_ID、L3_NETWORK_ID、ACR パラメーターのプレースホルダーを実際の値に置き換える必要があります。

これらの変数を定義したら、次の Azure CLI コマンドを実行して仮想マシンを作成できます。

az networkcloud virtualmachine create \
    --name "$VM_NAME" \
    --resource-group "$RESOURCE_GROUP" \
    --subscription "$SUBSCRIPTION" \
    --extended-location name="$CUSTOM_LOCATION" type="CustomLocation" \
    --location "$LOCATION" \
    --admin-username "$ADMIN_USERNAME" \
    --csn "attached-network-id=$CSN_ARM_ID" \
    --cpu-cores $CPU_CORES \
    --memory-size $MEMORY_SIZE \
    --network-attachments '[{"attachedNetworkId":"'$L3_NETWORK_ID'","ipAllocationMethod":"Dynamic","defaultGateway":"True","networkAttachmentName":"'$NETWORK_INTERFACE_NAME'"}]'\
    --storage-profile create-option="Ephemeral" delete-option="Delete" disk-size="$VM_DISK_SIZE" \
    --vm-image "$VM_IMAGE" \
    --ssh-key-values "$SSH_PUBLIC_KEY" \
    --vm-image-repository-credentials registry-url="$ACR_URL" username="$ACR_USERNAME" password="$ACR_PASSWORD"

マネージド ID を持つ仮想マシン

システム割り当てマネージド ID またはユーザー割り当てマネージド ID を使用して仮想マシンを作成します。 マネージド ID を VM に追加するには、API バージョンが 2025-07-01-preview 以降である必要があります。

networkcloud拡張機能が、必要な API バージョンをサポートするバージョンと共にインストールされていることを確認します。 サポートされているバージョンは、GitHub の networkcloud 拡張機能のリリース履歴 にあります。

Important

VM の作成時にマネージド ID を指定しない場合、プロビジョニング後に VM を更新してマネージド ID のサポートを有効にすることはできません。

仮想マシンのシステム割り当てマネージド ID を有効にするには、必ず --mi-system-assigned フラグ (またはエイリアス --system-assigned) を含めます。

Azure CLI で System-Assigned マネージド ID (SAMI) を使用して仮想マシンを作成します。

az networkcloud virtualmachine create \
    --name "$VM_NAME" \
    --resource-group "$RESOURCE_GROUP" \
    --subscription "$SUBSCRIPTION" \
    --extended-location name="$CUSTOM_LOCATION" type="CustomLocation" \
    --location "$LOCATION" \
    --admin-username "$ADMIN_USERNAME" \
    --csn "attached-network-id=$CSN_ARM_ID" \
    --cpu-cores $CPU_CORES \
    --memory-size $MEMORY_SIZE \
    --network-attachments '[{"attachedNetworkId":"'$L3_NETWORK_ID'","ipAllocationMethod":"Dynamic","defaultGateway":"True","networkAttachmentName":"'$NETWORK_INTERFACE_NAME'"}]'\
    --storage-profile create-option="Ephemeral" delete-option="Delete" disk-size="$VM_DISK_SIZE" \
    --vm-image "$VM_IMAGE" \
    --ssh-key-values "$SSH_PUBLIC_KEY" \
    --vm-image-repository-credentials registry-url="$ACR_URL" username="$ACR_USERNAME" password="$ACR_PASSWORD" \
    --mi-system-assigned

ユーザー割り当てマネージド ID を使用するには、 --mi-user-assigned フラグ (またはエイリアス --user-assigned) を使用して、ユーザー割り当てマネージド ID を指定できます。

UAMI_ID変数には、使用するユーザー割り当てマネージド ID のリソース ID を必ず含めます。

export UAMI_ID=$(az identity show --name "$UAMI_NAME" --resource-group "$RESOURCE_GROUP" --query "id" -o tsv)

Azure CLI で User-Assigned マネージド ID (UAMI) を使用して仮想マシンを作成します。

az networkcloud virtualmachine create \
    --name "$VM_NAME" \
    --resource-group "$RESOURCE_GROUP" \
    --subscription "$SUBSCRIPTION" \
    --extended-location name="$CUSTOM_LOCATION" type="CustomLocation" \
    --location "$LOCATION" \
    --admin-username "$ADMIN_USERNAME" \
    --csn "attached-network-id=$CSN_ARM_ID" \
    --cpu-cores $CPU_CORES \
    --memory-size $MEMORY_SIZE \
    --network-attachments '[{"attachedNetworkId":"'$L3_NETWORK_ID'","ipAllocationMethod":"Dynamic","defaultGateway":"True","networkAttachmentName":"'$NETWORK_INTERFACE_NAME'"}]'\
    --storage-profile create-option="Ephemeral" delete-option="Delete" disk-size="$VM_DISK_SIZE" \
    --vm-image "$VM_IMAGE" \
    --ssh-key-values "$SSH_PUBLIC_KEY" \
    --vm-image-repository-credentials registry-url="$ACR_URL" username="$ACR_USERNAME" password="$ACR_PASSWORD" \
    --mi-user-assigned "$UAMI_ID"

数分後、コマンドが完了し、仮想マシンに関する情報が返されます。 これで、仮想マシンを使用する準備ができました。

デプロイされているリソースを確認する

デプロイが完了したら、CLI または Azure portal を使用してリソースを表示できます。

myNexusVirtualMachine リソース グループ内のmyResourceGroup クラスターの詳細を表示するには、次のコマンドを実行します。

az networkcloud virtualmachine show --name myNexusVirtualMachine --resource-group myResourceGroup

リソースをクリーンアップする

不要になったら、リソース グループを削除します。 リソース グループとリソース グループ内のすべてのリソースが削除されます。

az group delete コマンドを使用して、リソース グループ、仮想マシン、および Operator Nexus ネットワーク リソースを除くすべての関連リソースを削除します。

az group delete --name myResourceGroup --yes --no-wait

次のステップ

Nexus 仮想マシンが正常に作成されました。 これで、仮想マシンを使用して仮想ネットワーク機能 (VNF) をホストできるようになりました。