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

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

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

開始する前に

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

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。

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

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

    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。

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

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

  • この記事では、Azure CLI のバージョン 2.49.0 以降が必要です。 Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。

  • 複数の 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/デプロイ リソース タイプにあらゆる操作を実行するアクセス権かの゛必要です。 たとえば、クラスターをデプロイするには、Microsoft.NetworkCloud/kubernetesclusters/write と Microsoft.Resources/deployments/* のアクセス許可が必要です。 ロールとアクセス許可の一覧については、Azure の組み込みロールに関するページを参照してください。

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

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

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

Nexus 仮想マシンを作成する

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

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

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

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

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

# 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>"

重要

これらのコマンドを実行する前に、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"

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

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

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

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

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

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

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

az group delete コマンドを使用すると、リソース グループ、仮想マシンと、関連するすべてのリソース (Operator Nexus ネットワーク リソース以外) が削除されます。

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

次のステップ

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