Azure 가상머신 개요

Azure 가상머신 개요

Azure 가상머신(Virtual Machine)은 Azure가 제공하는 온디맨드·확장 가능한 컴퓨팅 리소스 중 하나예요. 물리 하드웨어를 직접 사서 유지하는 대신, 가상화의 유연성을 그대로 누릴 수 있는데요. 다만 운영체제 구성, 패치, 소프트웨어 설치 같은 VM 자체의 관리 책임은 여전히 우리 몫이라는 점은 꼭 알아두셔야 해요.

컴퓨팅 환경에 대한 제어를 다른 옵션보다 더 많이 원할 때 VM을 고르는 편이에요. 개발과 테스트, 수요가 들쭉날쭉한 클라우드 애플리케이션, 그리고 온프레미스 데이터센터를 확장하는 데 두루 쓰여요.

출처: 공식문서 - Overview of virtual machines in Azure

VM을 만들기 전에 생각해 볼 것

인프라를 설계할 때는 항상 여러 고려사항이 따라와요. VM이라면 특히 아래 요소를 먼저 정해야 해요.

  • 리소스의 이름
  • 리소스를 저장할 위치(location)
  • 가상머신의 크기(size)
  • 만들 수 있는 가상머신의 최대 개수
  • 실행할 운영체제
  • 시작 후 가상머신의 구성
  • 가상머신이 필요로 하는 관련 리소스

참고로 신규 Generation 2 VM에는 기본값으로 Trusted Launch(TLaD)가 적용돼요. 이를 통해 secure boot와 vTPM이 활성화되죠.

VM의 구성 요소와 과금

VM을 만들면 이를 뒷받침하는 리소스가 함께 생성돼요. 각각은 비용이 다르게 부과되요.

리소스 설명 비용
가상 네트워크 다른 리소스와 통신할 수 있게 해줘요 Virtual Network 가격
가상 네트워크 인터페이스 카드(NIC) 가상 네트워크에 연결하는 역할을 해요 NIC 자체는 별도 비용이 없어요. 다만 VM 크기에 따라 사용 가능한 NIC 수에 제한이 있어요
프라이빗 IP 주소(때로는 퍼블릭 IP) 네트워크 안팎에서 통신·데이터 교환을 담당해요 IP 주소 가격
네트워크 보안 그룹(NSG) VM으로 들어오고 나가는 트래픽을 관리해요. 예를 들어 SSH 접속을 위해 22번 포트를 열고 80번 포트는 막고 싶은 경우를 처리하죠 네트워크 보안 그룹은 추가 비용이 없어요
OS 디스크와 필요시 별도 데이터 디스크 데이터는 운영체제와 분리된 디스크에 두는 게 좋아요. VM이 고장나도 데이터 디스크를 떼어 새 VM에 붙일 수 있으니까요 OS 디스크(보통 127GiB, 이미지에 따라 더 작을 수 있음)는 디스크 정가로 부과되고, 로컬 디스크는 무료예요
경우에 따라 OS 라이선스 VM 코어 수에 따라 비용이 달라져요. Azure Hybrid Benefit으로 줄일 수도 있어요 코어 수에 비례

기본적으로 이 리소스들은 VM과 같은 리소스 그룹에 생성돼요. SSH 공개·프라이빗 키를 Azure가 만들어 저장하게 할 수도 있는데, 그러면 Azure는 공개 키를 VM에 쓰고 우리는 접속할 때 프라이빗 키를 사용해요. 그렇지 않으면 사용자 이름과 비밀번호가 필요하죠.

위치(Location) 목록 확인하기

VM의 위치는 가상 하드 디스크가 저장되는 곳을 뜻해요. 사용 가능한 위치 목록은 여러 방법으로 얻을 수 있어요.

방법 설명
Azure portal VM을 만들 때 목록에서 선택해요
Azure PowerShell Get-AzLocation 명령 사용
REST API List locations 작업 사용
Azure CLI az account list-locations 작업 사용

가용성(Availability)

VM의 가용성을 관리하는 옵션은 여러 가지가 있어요.

  • 가용성 영역(Availability Zones): 한 Azure 지역 안에서 물리적으로 분리된 영역이에요. 같은 지역의 두 개 이상 가용성 영역에 두 개 이상 인스턴스를 배포하면, 최소한 한 인스턴스에 99.99% 이상 연결을 보장해요.
  • 가상머신 스케일 세트(Virtual Machine Scale Sets): 부하 분산된 VM 그룹을 만들고 관리해요. 수요나 정의된 일정에 따라 인스턴스 수가 자동으로 늘었다 줄었다 하죠. 여러 가용성 영역에 걸쳐 배포할 수도 있어요.

더 자세한 내용은 Azure 가상머신의 가용성 옵션가상머신 SLA 문서를 참고하세요.

크기와 가격

VM의 크기는 실행하려는 워크로드에 따라 정해요. 크기는 처리 성능, 메모리, 저장 용량, 네트워크 대역폭을 결정하죠. Azure는 시급으로 비용을 부과하고, 시간이 채 되지 않은 부분은 사용한 분(minute)만큼만 청구해요. 스토리지는 별도로 계산돼요.

여러 VM으로 확장

애플리케이션이 필요로 하는 만큼 VM 수는 수직·수평으로 늘릴 수 있어요. 워크로드 크기에 맞춰 여러 자동 확장 시스템과 인스턴스 유형을 제공해요. 확장에 대한 자세한 내용은 VM 기반 컴퓨팅 제품 비교를 참고하세요.

VM 총 코어 한도

구독에는 기본 쿼터 한도가 있어서, 프로젝트에 많은 VM을 배포할 때 영향을 줄 수 있어요. 현재 구독별 기본 한도는 지역당 VM 총 코어 20개예요. 이 한도는 지원 티켓으로 증가 요청을 하면 올릴 수 있어요. 쿼터와 용량은 배포 중에 각각 따로 확인되므로, 쿼터가 승인돼도 대상 지역·가용성 영역에 용량이 부족하면 배포가 실패할 수 있어요.

관리 디스크(Managed disks)

관리 디스크는 Azure Storage 계정 생성과 관리를 백그라운드에서 처리해 줘요. 우리는 디스크 크기와 성능 계층(Standard 또는 Premium)만 지정하면 Azure가 디스크를 만들고 관리하죠. 새 VM을 만들 때는 Azure CLI나 Azure portal로 관리 OS·데이터 디스크를 가진 VM을 만들 수 있어요. 비관리 디스크를 쓰는 VM은 관리 디스크 기반으로 전환할 수 있어요.

배포판(Distributions)

Azure는 다양한 Linux·Windows 배포판을 지원해요. 이미지 정보는 마켓플레이스, Azure portal, 그리고 CLI·PowerShell·REST API로 찾을 수 있어요.

방법 설명
Azure portal 이미지를 선택할 때 자동으로 값이 지정돼요
Azure PowerShell Get-AzVMImagePublisher -Location <location> / Get-AzVMImageOffer -Location <location> -Publisher <publisherName> / Get-AzVMImageSku -Location <location> -Publisher <publisherName> -Offer <offerName>
REST API List image publishers, List image offers, List image skus

재해 복구 안내

VM 애플리케이션이 배포된 지역 전체가 중단된 경우, 두 가지 방향으로 대응할 수 있어요.

옵션 1: Azure Site Recovery로 장애 조치(failover)

VM에 대해 Azure Site Recovery를 구성하면 몇 분 안에 애플리케이션을 한 번의 클릭으로 복구할 수 있어요. 원하는 Azure 지역으로 복제할 수 있고 쌍(pair) 지역에 제한되지 않아요. VM 복제 시작으로 시작하고, 복구 계획을 만들어 장애 조치 전체를 자동화할 수 있어요. 장애 조치 테스트를 운영에 영향 없이 미리 해 볼 수도 있어요. 기본 지역이 중단되면 장애 조치 시작만 하면 돼요.

옵션 2: 복구 대기

이 경우에는 우리가 할 일이 없어요. 서비스 상태는 Azure Service Health Dashboard에서 확인할 수 있어요. 장애 발생 전에 Site Recovery나 지역 중복 스토리지를 구성해 두지 않았다면 이 옵션이 최선이에요. 다만 데이터 동기화가 보장되지 않아 추천하는 방식은 아니에요.

데이터 상주(Data residency)

단일 지역에 고객 데이터를 저장할 수 있는 기능은 현재 아시아 태평양 지역의 동남아시아 지역(싱가포르)과 브라질 지역의 브라질 남부(상파울루)에서만 제공돼요. 다른 모든 지역의 고객 데이터는 해당 지역(Geo)에 저장돼요. 자세한 내용은 Trust Center를 참고하세요.

더 알아보기