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)로 묶어 재사용 가능.