자습서: Azure CLI로 Linux VM 만들기 및 관리Tutorial: Create and Manage Linux VMs with the Azure CLI

Azure Virtual Machines는 완전하게 구성할 수 있고 유연한 컴퓨팅 환경을 제공합니다.Azure virtual machines provide a fully configurable and flexible computing environment. 이 자습서에서는 VM 크기 선택, VM 이미지 선택 및 VM 배포 등 기본적인 Azure Virtual Machines 배포 항목에 대해 설명합니다.This tutorial covers basic Azure virtual machine deployment items such as selecting a VM size, selecting a VM image, and deploying a VM. 다음 방법을 알아봅니다.You learn how to:

  • VM 만들기 및 연결Create and connect to a VM
  • VM 이미지 선택 및 사용Select and use VM images
  • 특정 VM 크기 보기 및 사용View and use specific VM sizes
  • VM 크기 조정Resize a VM
  • VM 상태 보기 및 이해View and understand VM state

이 자습서에서는 지속적으로 최신 버전으로 업데이트되는 Azure Cloud Shell 내의 CLI를 사용합니다.This tutorial uses the CLI within the Azure Cloud Shell, which is constantly updated to the latest version. Cloud Shell을 열려면 코드 블록 상단에서 사용해 보세요를 선택합니다.To open the Cloud Shell, select Try it from the top of any code block.

CLI를 로컬로 설치하여 사용하도록 선택한 경우 이 자습서에서 Azure CLI 버전 2.0.30 이상을 실행해야 합니다.If you choose to install and use the CLI locally, this tutorial requires that you are running the Azure CLI version 2.0.30 or later. az --version을 실행하여 버전을 찾습니다.Run az --version to find the version. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.If you need to install or upgrade, see Install Azure CLI.

리소스 그룹 만들기Create resource group

az group create 명령을 사용하여 리소스 그룹을 만듭니다.Create a resource group with the az group create command.

Azure 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다.An Azure resource group is a logical container into which Azure resources are deployed and managed. 가상 머신보다 먼저 리소스 그룹을 만들어야 합니다.A resource group must be created before a virtual machine. 이 예제에서는 eastus 지역에 myResourceGroupVM이라는 리소스 그룹을 만듭니다.In this example, a resource group named myResourceGroupVM is created in the eastus region.

az group create --name myResourceGroupVM --location eastus

리소스 그룹은 VM을 만들거나 수정할 때 지정되며 이 자습서 전체에서 확인할 수 있습니다.The resource group is specified when creating or modifying a VM, which can be seen throughout this tutorial.

가상 머신 만들기Create virtual machine

az vm create 명령을 사용하여 가상 머신을 만듭니다.Create a virtual machine with the az vm create command.

가상 머신을 만들 때 운영 체제 이미지, 디스크 크기 조정 및 관리 자격 증명 등의 몇 가지 옵션을 사용할 수 있습니다.When you create a virtual machine, several options are available such as operating system image, disk sizing, and administrative credentials. 다음 예제에서는 Ubuntu Server를 실행하는 myVM이라는 VM을 만듭니다.The following example creates a VM named myVM that runs Ubuntu Server. VM에서 azureuser라는 사용자 계정을 만들고, SSH 키가 기본 키 위치( ~/.ssh)에 없는 경우 새로 만듭니다.A user account named azureuser is created on the VM, and SSH keys are generated if they do not exist in the default key location (~/.ssh):

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM \
    --image UbuntuLTS \
    --admin-username azureuser \
    --generate-ssh-keys

VM을 만드는 데 몇 분이 걸릴 수 있습니다.It may take a few minutes to create the VM. VM이 만들어지면 Azure CLI에서 VM에 대한 정보를 출력합니다.Once the VM has been created, the Azure CLI outputs information about the VM. publicIpAddress를 메모해 둡니다. 이 주소는 가상 머신에 액세스하는 데 사용할 수 있습니다.Take note of the publicIpAddress, this address can be used to access the virtual machine..

{
  "fqdns": "",
  "id": "/subscriptions/d5b9d4b7-6fc1-0000-0000-000000000000/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "52.174.34.95",
  "resourceGroup": "myResourceGroupVM"
}

VM에 연결Connect to VM

이제 Azure Cloud Shell에서 또는 로컬 컴퓨터에서 SSH를 사용하여 VM에 연결할 수 있습니다.You can now connect to the VM with SSH in the Azure Cloud Shell or from your local computer. 예제 IP 주소를 이전 단계에서 메모한 publicIpAddress로 바꿉니다.Replace the example IP address with the publicIpAddress noted in the previous step.

ssh azureuser@52.174.34.95

VM에 로그인한 후 애플리케이션을 설치하고 구성할 수 있습니다.Once logged in to the VM, you can install and configure applications. 작업을 완료하면 정상적으로 SSH 세션을 닫습니다.When you are finished, you close the SSH session as normal:

exit

VM 이미지 이해Understand VM images

Azure Marketplace에는 VM을 만드는 데 사용할 수 있는 여러 VM 이미지가 포함되어 있습니다.The Azure marketplace includes many images that can be used to create VMs. 이전 단계에서는 Ubuntu 이미지를 사용하여 가상 컴퓨터를 만들었습니다.In the previous steps, a virtual machine was created using an Ubuntu image. 이 단계에서는 Azure CLI를 사용하여 Marketplace에서 CentOS 이미지를 검색한 후 두 번째 가상 컴퓨터를 배포합니다.In this step, the Azure CLI is used to search the marketplace for a CentOS image, which is then used to deploy a second virtual machine.

가장 일반적으로 사용되는 이미지 목록을 보려면 az vm image list 명령을 사용하세요.To see a list of the most commonly used images, use the az vm image list command.

az vm image list --output table

명령 출력은 Azure에서 가장 인기 있는 VM 이미지를 반환합니다.The command output returns the most popular VM images on Azure.

Offer          Publisher               Sku                 Urn                                                             UrnAlias             Version
-------------  ----------------------  ------------------  --------------------------------------------------------------  -------------------  ---------
WindowsServer  MicrosoftWindowsServer  2016-Datacenter     MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest     Win2016Datacenter    latest
WindowsServer  MicrosoftWindowsServer  2012-R2-Datacenter  MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest  Win2012R2Datacenter  latest
WindowsServer  MicrosoftWindowsServer  2008-R2-SP1         MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest         Win2008R2SP1         latest
WindowsServer  MicrosoftWindowsServer  2012-Datacenter     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest     Win2012Datacenter    latest
UbuntuServer   Canonical               16.04-LTS           Canonical:UbuntuServer:16.04-LTS:latest                         UbuntuLTS            latest
CentOS         OpenLogic               7.3                 OpenLogic:CentOS:7.3:latest                                     CentOS               latest
openSUSE-Leap  SUSE                    42.2                SUSE:openSUSE-Leap:42.2:latest                                  openSUSE-Leap        latest
RHEL           RedHat                  7.3                 RedHat:RHEL:7.3:latest                                          RHEL                 latest
SLES           SUSE                    12-SP2              SUSE:SLES:12-SP2:latest                                         SLES                 latest
Debian         credativ                8                   credativ:Debian:8:latest                                        Debian               latest
CoreOS         CoreOS                  Stable              CoreOS:CoreOS:Stable:latest                                     CoreOS               latest

전체 목록은 --all 인수를 추가하여 확인할 수 있습니다.A full list can be seen by adding the --all argument. 이미지 목록은 --publisher 또는 –-offer로 필터링할 수도 있습니다.The image list can also be filtered by --publisher or –-offer. 이 예제에서는 CentOS와 일치하는 제품이 있는 모든 이미지에 대해 목록을 필터링합니다.In this example, the list is filtered for all images with an offer that matches CentOS.

az vm image list --offer CentOS --all --output table

부분 출력:Partial output:

Offer             Publisher         Sku   Urn                                     Version
----------------  ----------------  ----  --------------------------------------  -----------
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201501         6.5.201501
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201503         6.5.201503
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201506         6.5.201506
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20150904       6.5.20150904
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20160309       6.5.20160309
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20170207       6.5.20170207

특정 이미지를 사용하여 VM을 배포하려면 이미지를 식별하기 위한 게시자, 제품, SKU 및 버전 번호(선택 사항)로 구성된 Urn 열의 값을 적어 둡니다.To deploy a VM using a specific image, take note of the value in the Urn column, which consists of the publisher, offer, SKU, and optionally a version number to identify the image. 이미지를 지정하면 이미지 버전 번호는 최신 버전의 배포를 선택하도록 “최신”으로 대체될 수 있습니다.When specifying the image, the image version number can be replaced with “latest”, which selects the latest version of the distribution. 이 예제에서는 CentOS 6.5 이미지의 최신 버전을 지정하기 위해 --image 인수를 사용합니다.In this example, the --image argument is used to specify the latest version of a CentOS 6.5 image.

az vm create --resource-group myResourceGroupVM --name myVM2 --image OpenLogic:CentOS:6.5:latest --generate-ssh-keys

VM 크기 이해Understand VM sizes

가상 머신 크기에 따라 CPU, GPU, 메모리 등 가상 머신에 사용할 수 있는 컴퓨팅 리소스의 양이 결정됩니다.A virtual machine size determines the amount of compute resources such as CPU, GPU, and memory that are made available to the virtual machine. 가상 머신은 예상되는 워크로드에 맞게 적절히 크기 조정되어야 합니다.Virtual machines need to be sized appropriately for the expected work load. 워크로드가 증가할 경우 기존 가상 머신의 크기를 조정할 수 있습니다.If workload increases, an existing virtual machine can be resized.

VM 크기VM Sizes

다음 표에서는 크기를 사용 사례로 분류합니다.The following table categorizes sizes into use cases.

TypeType 일반적인 크기Common sizes 설명Description
범용General purpose B, Dsv3, Dv3, DSv2, Dv2, Av2, DCB, Dsv3, Dv3, DSv2, Dv2, Av2, DC CPU 대 메모리 비율이 적당합니다.Balanced CPU-to-memory. 개발/테스트와 소규모에서 중간 정도의 애플리케이션 및 데이터 솔루션에 적합합니다.Ideal for dev / test and small to medium applications and data solutions.
컴퓨팅 최적화Compute optimized Fsv2Fsv2 CPU 대 메모리 비율이 높습니다.High CPU-to-memory. 트래픽이 중간 정도인 애플리케이션, 네트워크 어플라이언스 및 일괄 처리 프로세스에 적합합니다.Good for medium traffic applications, network appliances, and batch processes.
메모리에 최적화Memory optimized Esv3, Ev3, M, DSv2, Dv2Esv3, Ev3, M, DSv2, Dv2 메모리 대 코어 비율이 높습니다.High memory-to-core. 관계형 데이터베이스, 중대형 캐시 및 메모리 내 분석에 적합합니다.Great for relational databases, medium to large caches, and in-memory analytics.
Storage에 최적화Storage optimized Lsv2, LsLsv2, Ls 높은 디스크 처리량 및 IOHigh disk throughput and IO. 빅 데이터, SQL, NoSQL 데이터베이스에 적합합니다.Ideal for Big Data, SQL, and NoSQL databases.
GPUGPU NV, NVv2, NC, NCv2, NCv3, NDNV, NVv2, NC, NCv2, NCv3, ND 대량의 그래픽 렌더링 및 비디오 편집에 적합한 전문 VM입니다.Specialized VMs targeted for heavy graphic rendering and video editing.
고성능High performance HH 당사의 가장 강력한 CPU VM으로, 필요한 경우 처리량이 높은 네트워크 인터페이스(RDMA)도 제공합니다.Our most powerful CPU VMs with optional high-throughput network interfaces (RDMA).

사용 가능한 VM 크기 찾기Find available VM sizes

특정 지역에서 사용할 수 있는 VM 크기의 목록을 보려면 az vm list-sizes 명령을 사용합니다.To see a list of VM sizes available in a particular region, use the az vm list-sizes command.

az vm list-sizes --location eastus --output table

부분 출력:Partial output:

  MaxDataDiskCount    MemoryInMb  Name                      NumberOfCores    OsDiskSizeInMb    ResourceDiskSizeInMb
------------------  ------------  ----------------------  ---------------  ----------------  ----------------------
                 2          3584  Standard_DS1                          1           1047552                    7168
                 4          7168  Standard_DS2                          2           1047552                   14336
                 8         14336  Standard_DS3                          4           1047552                   28672
                16         28672  Standard_DS4                          8           1047552                   57344
                 4         14336  Standard_DS11                         2           1047552                   28672
                 8         28672  Standard_DS12                         4           1047552                   57344
                16         57344  Standard_DS13                         8           1047552                  114688
                32        114688  Standard_DS14                        16           1047552                  229376
                 1           768  Standard_A0                           1           1047552                   20480
                 2          1792  Standard_A1                           1           1047552                   71680
                 4          3584  Standard_A2                           2           1047552                  138240
                 8          7168  Standard_A3                           4           1047552                  291840
                 4         14336  Standard_A5                           2           1047552                  138240
                16         14336  Standard_A4                           8           1047552                  619520
                 8         28672  Standard_A6                           4           1047552                  291840
                16         57344  Standard_A7                           8           1047552                  619520

특정 크기로 VM 만들기Create VM with specific size

이전 VM 만들기 예제에서는 크기가 제공되지 않았으므로 기본 크기가 사용되었습니다.In the previous VM creation example, a size was not provided, which results in a default size. az vm create--size 인수를 사용하여 만들 때 VM 크기를 선택할 수 있습니다.A VM size can be selected at creation time using az vm create and the --size argument.

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM3 \
    --image UbuntuLTS \
    --size Standard_F4s \
    --generate-ssh-keys

VM 크기 조정Resize a VM

VM을 배포한 후에 크기를 조정하여 리소스 할당을 늘리거나 줄일 수 있습니다.After a VM has been deployed, it can be resized to increase or decrease resource allocation. az vm show를 사용하여 VM의 현재 크기를 볼 수 있습니다.You can view the current of size of a VM with az vm show:

az vm show --resource-group myResourceGroupVM --name myVM --query hardwareProfile.vmSize

VM의 크기를 조정하기 전에 원하는 크기를 현재 Azure 클러스터에서 사용할 수 있는지 확인합니다.Before resizing a VM, check if the desired size is available on the current Azure cluster. az vm list-vm-resize-options 명령은 크기 목록을 반환합니다.The az vm list-vm-resize-options command returns the list of sizes.

az vm list-vm-resize-options --resource-group myResourceGroupVM --name myVM --query [].name

원하는 크기를 사용할 수 있는 경우 전원이 켜진 상태에서 VM 크기를 조정할 수 있지만 작업 중 다시 부팅됩니다.If the desired size is available, the VM can be resized from a powered-on state, however it is rebooted during the operation. az vm resize 명령을 사용하여 크기 조정을 수행합니다.Use the az vm resize command to perform the resize.

az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_DS4_v2

원하는 크기가 현재 클러스터에 없는 경우 크기 조정 작업 전에 VM 할당을 취소해야 합니다.If the desired size is not on the current cluster, the VM needs to be deallocated before the resize operation can occur. az vm deallocate 명령을 사용하여 VM을 중지하고 할당을 취소합니다.Use the az vm deallocate command to stop and deallocate the VM. 참고로 VM의 전원이 다시 켜지면 임시 디스크의 모든 데이터가 제거됩니다.Note, when the VM is powered back on, any data on the temp disk may be removed. 고정 IP 주소를 사용하지 않는 한 공용 IP 주소도 변경됩니다.The public IP address also changes unless a static IP address is being used.

az vm deallocate --resource-group myResourceGroupVM --name myVM

할당 취소되면 크기 조정이 발생할 수 있습니다.Once deallocated, the resize can occur.

az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_GS1

크기를 조정한 후 VM을 시작할 수 있습니다.After the resize, the VM can be started.

az vm start --resource-group myResourceGroupVM --name myVM

VM 전원 상태VM power states

Azure VM의 전원 상태는 여러 상태 중 하나일 수 있습니다.An Azure VM can have one of many power states. 이 상태는 하이퍼바이저의 관점에서 VM의 현재 상태를 나타냅니다.This state represents the current state of the VM from the standpoint of the hypervisor.

전원 상태Power states

전원 상태Power State 설명Description
시작 중Starting 가상 머신이 시작되고 있음을 나타냅니다.Indicates the virtual machine is being started.
실행 중Running 가상 머신이 실행되고 있음을 나타냅니다.Indicates that the virtual machine is running.
중지 중Stopping 가상 머신이 중지되고 있음을 나타냅니다.Indicates that the virtual machine is being stopped.
중지됨Stopped 가상 머신이 중지되었음을 나타냅니다.Indicates that the virtual machine is stopped. 중지 상태의 가상 머신에도 여전히 컴퓨팅 요금이 발생됩니다.Virtual machines in the stopped state still incur compute charges.
할당 취소 중Deallocating 가상 컴퓨터의 할당이 취소되고 있음을 나타냅니다.Indicates that the virtual machine is being deallocated.
할당 취소됨Deallocated 가상 컴퓨터가 하이퍼바이저에서 제거되었지만 제어 영역에서 계속 사용할 수 있음을 나타냅니다.Indicates that the virtual machine is removed from the hypervisor but still available in the control plane. 할당 취소됨 상태의 가상 머신에는 컴퓨팅 요금이 발생하지 않습니다.Virtual machines in the Deallocated state do not incur compute charges.
- 가상 머신의 전원 상태가 알 수 없음을 나타냅니다.Indicates that the power state of the virtual machine is unknown.

전원 상태 찾기Find the power state

특정 VM의 상태를 검색하려면 az vm get-instance-view 명령을 사용합니다.To retrieve the state of a particular VM, use the az vm get-instance-view command. 가상 머신 및 리소스 그룹에 대한 올바른 이름을 지정해야 합니다.Be sure to specify a valid name for a virtual machine and resource group.

az vm get-instance-view \
    --name myVM \
    --resource-group myResourceGroupVM \
    --query instanceView.statuses[1] --output table

출력:Output:

ode                DisplayStatus    Level
------------------  ---------------  -------
PowerState/running  VM running       Info

관리 작업Management tasks

가상 머신의 수명 주기 동안 가상 머신 시작, 중지 또는 삭제 등의 관리 작업을 실행하려고 할 수 있습니다.During the life-cycle of a virtual machine, you may want to run management tasks such as starting, stopping, or deleting a virtual machine. 또한 반복적이거나 복잡한 작업을 자동화하는 스크립트를 만들 수도 있습니다.Additionally, you may want to create scripts to automate repetitive or complex tasks. Azure CLI를 사용하여 명령줄이나 스크립트에서 여러 가지 일반적인 관리 작업을 실행할 수 있습니다.Using the Azure CLI, many common management tasks can be run from the command line or in scripts.

IP 주소 가져오기Get IP address

이 명령은 가상 머신의 개인 및 공용 IP 주소를 반환합니다.This command returns the private and public IP addresses of a virtual machine.

az vm list-ip-addresses --resource-group myResourceGroupVM --name myVM --output table

가상 머신 중지Stop virtual machine

az vm stop --resource-group myResourceGroupVM --name myVM

가상 머신 시작Start virtual machine

az vm start --resource-group myResourceGroupVM --name myVM

리소스 그룹 삭제Delete resource group

리소스 그룹을 삭제하면 VM, 가상 네트워크 및 디스크와 같이 그 안에 포함된 리소스도 모두 삭제됩니다.Deleting a resource group also deletes all resources contained within, such as the VM, virtual network, and disk. --no-wait 매개 변수는 작업이 완료될 때까지 대기하지 않고 프롬프트로 제어를 반환합니다.The --no-wait parameter returns control to the prompt without waiting for the operation to complete. --yes 매개 변수는 작업을 수행하는 추가 프롬프트 없이 리소스를 삭제할 것인지 확인합니다.The --yes parameter confirms that you wish to delete the resources without an additional prompt to do so.

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

다음 단계Next steps

이 자습서에서는 다음 방법과 같이 기본 VM을 만들고 관리하는 방법에 대해 알아보았습니다.In this tutorial, you learned about basic VM creation and management such as how to:

  • VM 만들기 및 연결Create and connect to a VM
  • VM 이미지 선택 및 사용Select and use VM images
  • 특정 VM 크기 보기 및 사용View and use specific VM sizes
  • VM 크기 조정Resize a VM
  • VM 상태 보기 및 이해View and understand VM state

VM 디스크에 대해 자세히 알아보려면 다음 자습서로 이동합니다.Advance to the next tutorial to learn about VM disks.