Taeyoung Kim

Cloud & Platform

Azure CLI를 이용한 가상머신 생성 가이드

Azure CLI를 이용한 가상머신 생성 가이드 학습 내용을 정리한 백필 노트입니다.

이 글은 2025년 학습 기록을 블로그 형식으로 정리한 백필 노트입니다.


1. Azure CLI 로그인

Azure 계정에 로그인합니다.

az login
  • 브라우저가 열리며 Microsoft 계정으로 로그인.
  • CLI에서 계정 정보를 확인하려면:
az account show

2. 리소스 그룹(Resource Group) 생성

VM을 배치할 리소스 그룹을 만듭니다.

az group create --name <리소스그룹이름> --location <지역>
  • 예시:
az group create --name rg-ubuntuvmkty --location koreacentral

3. 가상 네트워크(VNet) 및 서브넷 생성

VM이 연결될 네트워크 환경 구성.

az network vnet create \
  --resource-group <리소스그룹이름> \
  --name <VNet이름> \
  --address-prefix <VNet주소> \
  --subnet-name <서브넷이름> \
  --subnet-prefix <서브넷주소>
  • 예시:
az network vnet create \
  --resource-group rg-ubuntuvmkty \
  --name vnet-ubuntukty \
  --address-prefix 10.0.0.0/16 \
  --subnet-name snet-ubuntukty \
  --subnet-prefix 10.0.1.0/24

4. 공용 IP(Public IP) 생성

VM 외부 접속용 IP 생성.

az network public-ip create \
  --resource-group <리소스그룹이름> \
  --name <공용IP이름> \
  --sku Standard \
  --allocation-method Static
  • 예시:
az network public-ip create \
  --resource-group rg-ubuntuvmkty \
  --name pip-ubuntukty \
  --sku Standard \
  --allocation-method Static

5. 네트워크 보안 그룹(NSG) 생성 및 규칙 추가

필요 시 포트 허용.

az network nsg create \
  --resource-group <리소스그룹이름> \
  --name <NSG이름>

az network nsg rule create \
  --resource-group <리소스그룹이름> \
  --nsg-name <NSG이름> \
  --name AllowSSH \
  --protocol tcp \
  --priority 1000 \
  --destination-port-ranges 22 \
  --access Allow
  • Windows VM일 경우 -destination-port-ranges 3389 (RDP 허용)

6. 네트워크 인터페이스(NIC) 생성

VNet, 서브넷, NSG, Public IP를 NIC에 연결.

az network nic create \
  --resource-group <리소스그룹이름> \
  --name <NIC이름> \
  --vnet-name <VNet이름> \
  --subnet <서브넷이름> \
  --network-security-group <NSG이름> \
  --public-ip-address <공용IP이름>
  • 예시:
az network nic create \
  --resource-group rg-ubuntuvmkty \
  --name nic-ubuntukty \
  --vnet-name vnet-ubuntukty \
  --subnet snet-ubuntukty \
  --network-security-group nsg-ubuntukty \
  --public-ip-address pip-ubuntukty

7. 가상머신 생성

7-1. Ubuntu VM

az vm create \
  --resource-group <리소스그룹이름> \
  --name <VM이름> \
  --nics <NIC이름> \
  --image UbuntuLTS \
  --size Standard_B2s \
  --admin-username <사용자이름> \
  --authentication-type ssh \
  --ssh-key-values <SSH공개키경로> \
  --tags Dept=IT Project=Demo
  • SSH 공개키를 사용하여 보안 로그인.
  • 예시:
az vm create \
  --resource-group rg-ubuntuvmkty \
  --name vm-ubuntukty \
  --nics nic-ubuntukty \
  --image UbuntuLTS \
  --size Standard_B2s \
  --admin-username azureuser \
  --authentication-type ssh \
  --ssh-key-values ~/.ssh/id_rsa.pub \
  --tags Dept=IT Project=Demo

7-2. Windows VM

az vm create \
  --resource-group <리소스그룹이름> \
  --name <VM이름> \
  --nics <NIC이름> \
  --image Win11Pro \
  --size Standard_B2s \
  --admin-username <사용자이름> \
  --admin-password <비밀번호> \
  --tags Dept=IT Project=Demo
  • 예시:
az vm create \
  --resource-group rg-windowsvmkty \
  --name vm-winkty \
  --nics nic-winkty \
  --image Win11Pro \
  --size Standard_B2s \
  --admin-username azureuser \
  --admin-password 'Password123!' \
  --tags Dept=IT Project=Demo

8. VM 상태 확인

az vm list -d -o table
az vm show --resource-group <리소스그룹이름> --name <VM이름>

9. VM 접속

Ubuntu (SSH)

ssh <사용자이름>@<Public IP>

Windows (RDP)

  • 생성한 공용 IP로 원격 데스크톱 연결.

10. 추가 팁

  • 스토리지 계정: 데이터 디스크를 추가할 경우 az storage account create 후 연결 가능.
  • 백업/확장성: 필요시 VMSS(Virtual Machine Scale Set) 또는 Azure Backup 적용.
  • 자동화: CLI 명령을 스크립트(.sh/.azcli)로 묶어 재사용 가능.