다음을 통해 공유


빠른 시작: Azure CLI를 사용하여 Azure Operator Nexus 가상 머신 만들기

  • Azure CLI를 사용하여 Azure Nexus 가상 머신 배포

이 빠른 시작 가이드는 Nexus 가상 머신을 사용하여 VNF(가상 네트워크 기능)를 호스팅하는 데 도움을 주기 위해 작성되었습니다. 이 가이드에 설명된 단계를 따르면 특정 요구 사항을 충족하는 사용자 지정 Nexus 가상 머신을 빠르고 쉽게 만들 수 있습니다. Nexus 네트워킹의 초보자이든 전문가이든 이 가이드가 도움이 될 것입니다. 가상 네트워크 기능을 호스팅하기 위해 Nexus 가상 머신을 만들고 사용자 지정하기 위해 알아야 할 모든 것을 알아봅니다.

시작하기 전에

Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.

  • 필요한 Azure CLI 확장의 최신 버전을 설치합니다.

  • 이 문서대로 하려면 Azure CLI 버전 2.49.0 이상이 필요합니다. Azure Cloud Shell을 사용하는 경우 최신 버전이 이미 설치되어 있습니다.

  • Azure 구독이 여러 개인 경우 az account 명령을 사용하여 리소스가 청구되어야 하는 적절한 구독 ID를 선택합니다.

  • 가상 머신 만들기를 진행하기 전에 사용할 컨테이너 이미지가 지침에 따라 만들어졌는지 확인합니다.

  • az group create 명령을 사용하여 리소스 그룹을 만듭니다. Azure 리소스 그룹은 Azure 리소스가 배포되고 관리되는 논리 그룹입니다. 리소스 그룹을 만들 때 위치를 지정하라는 메시지가 표시됩니다. 이 위치는 리소스 그룹 메타데이터의 스토리지 위치이며 리소스를 만드는 중에 다른 지역을 지정하지 않은 경우 Azure에서 리소스가 실행되는 위치입니다. 다음 예제에서는 eastus 위치에 myResourceGroup이라는 리소스 그룹을 만듭니다.

    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이라는 가상 머신을 만듭니다.

명령을 실행하기 전에 가상 머신에 대한 구성을 정의하기 위해 여러 변수를 설정해야 합니다. 다음은 특정 변수에 사용할 수 있는 몇 가지 기본값과 함께 설정해야 하는 변수입니다.

변수 설명
위치 가상 머신을 만들 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, 최대 224GB)입니다.
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 플래그를 추가하여 문제 해결을 위해 더 자세한 출력을 제공합니다.

이러한 변수를 정의하려면 다음 집합 명령을 사용하고 예제 값을 기본 설정 값으로 바꿉니다. 다음 예제와 같이 일부 변수의 경우 기본값을 사용할 수도 있습니다.

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

몇 분 후 명령이 완료되면 가상 머신에 대한 정보가 반환됩니다. 가상 머신을 만들었습니다. 이제 가상 머신을 사용할 준비가 되었습니다.

배포된 리소스 검토

배포가 완료되면 CLI 또는 Azure Portal을 사용하여 리소스를 볼 수 있습니다.

myResourceGroup 리소스 그룹에 있는 myNexusVirtualMachine 클러스터의 세부 정보를 보려면 다음을 실행합니다.

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

리소스 정리

더 이상 필요하지 않은 경우 리소스 그룹을 삭제합니다. 리소스 그룹 및 리소스 그룹의 모든 리소스가 삭제됩니다.

리소스 그룹, 가상 머신 및 Operator Nexus 네트워크 리소스를 제외한 모든 관련 리소스를 제거하려면 az group delete 명령을 사용합니다.

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

다음 단계

Nexus 가상 머신이 성공적으로 만들어졌습니다. 이제 가상 머신을 사용하여 VNF(가상 네트워크 기능)를 호스트할 수 있습니다.