Azure에서 Windows VM 실행

Azure Backup
Azure Blob Storage
Azure Resource Manager
Azure Storage
Azure Virtual Machines

Azure에서 VM(가상 머신)을 프로비전하려면 VM 외에도 네트워킹 및 스토리지 리소스와 같은 추가 구성 요소가 필요합니다. 이 문서에서는 Azure에서 Windows VM을 실행하는 모범 사례를 보여줍니다.

아키텍처

Diagram that shows Windows virtual machine in Azure.

이 아키텍처의 Visio 파일을 다운로드합니다.

워크플로

Resource group

리소스 그룹은 관련 Azure 리소스를 보유하는 논리 컨테이너입니다. 일반적으로 리소스의 수명 및 관리하는 주체에 따라 리소스를 그룹화합니다.

동일한 수명 주기를 공유하는 긴밀하게 연결된 리소스를 동일한 리소스 그룹에 배치합니다. 리소스 그룹을 사용하여 리소스를 그룹 단위로 배포 및 모니터링하고, 리소스 그룹별로 청구 비용을 추적할 수 있습니다. 리소스를 하나의 집합으로 삭제할 수도 있습니다. 이러한 기능은 테스트 배포에서 매우 유용합니다. 의미 있는 리소스 이름을 할당하면 간단하게 특정 리소스를 찾고 해당 역할을 이해할 수 있습니다. 자세한 내용은 Azure 리소스에 대해 권장되는 명명 규칙을 참조하세요.

가상 머신

게시된 이미지 목록 또는 Azure Blob Storage에 업로드된 사용자 지정 관리되는 이미지나 VHD(가상 하드 디스크) 파일에서 VM을 프로비전할 수 있습니다.

Azure는 다양한 가상 머신 크기를 제공합니다. 자세한 내용은 Azure의 가상 머신 크기를 참조하세요. 기존 워크로드를 Azure로 이동하는 경우 온-프레미스 서버와 가장 근접하게 일치하는 VM 크기부터 사용하기 시작합니다. 그런 다음, CPU, 메모리, 디스크 IOPS(초당 입력/출력 작업 수)에 따라 실제 워크로드의 성능을 측정하고 필요에 따라 크기를 조정합니다.

일반적으로 내부 사용자 또는 고객에게 가장 가까운 Azure 지역을 선택합니다. 일부 VM 크기는 일부 지역에서 사용할 수 없습니다. 자세한 내용은 지역별 서비스를 참조하세요. 지정된 지역에서 사용할 수 있는 VM 크기 목록을 보려면 다음 Azure CLI 명령을 실행합니다.

az vm list-sizes --location <location>

게시된 VM 이미지를 선택하는 방법에 대한 자세한 내용은 Windows VM 이미지 찾기를 참조하세요.

디스크

최상의 디스크 I/O 성능을 위해서는 SSD(반도체 드라이브)에 데이터를 저장하는 Premium Storage가 권장됩니다. 비용은 프로비전된 디스크 용량을 기준으로 산정됩니다. IOPS 및 처리량도 디스크 크기에 따라 달라지므로 디스크를 프로비전할 때 세 가지 요소(용량, IOPS, 처리량)를 모두 고려합니다. 또한 Premium Storage는 워크로드 패턴에 대한 이해와 결합된 무료 버스팅 기능을 제공하며, IaaS 인프라에 대한 효과적인 SKU 선택 및 비용 최적화 전략을 제공하여 과도한 과도한 프로비전 없이 고성능을 가능하게 하고 사용하지 않는 용량의 비용을 최소화합니다.

Managed Disks는 스토리지를 처리하여 디스크 관리를 간소화합니다. Managed Disks는 스토리지를 처리하여 디스크 관리를 단순화합니다. 관리 디스크에는 스토리지 계정이 필요하지 않습니다. 디스크의 크기와 유형을 지정하기만 하면 고가용성 리소스로 배포됩니다. 또한 관리 디스크는 과도하게 프로비저닝할 필요 없이 원하는 성능을 제공하고, 워크로드 패턴의 변동을 고려하며, 사용되지 않는 프로비저닝된 용량을 최소화하여 비용 최적화를 제공합니다.

OS 디스크는 Azure Storage에 저장된 VHD이므로 호스트 컴퓨터가 중단되어도 계속 유지됩니다. 또한 애플리케이션 데이터에 사용되는 영구 VHD인 데이터 디스크를 하나 이상 만드는 것이 좋습니다.

임시 디스크는 추가 비용 없이 좋은 성능을 제공하지만, 비영구적이고, 용량이 제한되고, OS 및 임시 디스크 사용으로만 제한되는 상당한 단점이 있습니다. 가능한 경우 OS 디스크가 아닌 데이터 디스크에 애플리케이션을 설치합니다. 일부 기존 애플리케이션은 C: 드라이브에 구성 요소를 설치해야 할 수 있습니다. 이 경우 PowerShell을 사용하여 OS 디스크 크기를 조정할 수 있습니다.

임시 디스크를 사용하여 VM을 만들 수도 있습니다(Windows에서 D: 드라이브). 이 디스크는 호스트 컴퓨터의 실제 드라이브에 저장됩니다. Azure Storage에는 저장되지 않으며 다시 부팅되는 동안에 그리고 다른 VM의 수명 주기 이벤트 동안에 삭제될 수 있습니다. 페이지 또는 스왑 파일과 같은 임시 데이터에 대해서만 이 디스크를 사용합니다.

네트워크

네트워킹 구성 요소에는 다음 리소스가 포함됩니다.

  • 가상 네트워크. 모든 VM은 가상 네트워크에 배포되어 여러 서브넷으로 분할될 수 있습니다.

  • NIC(네트워크 인터페이스). NIC를 통해 VM을 가상 네트워크와 통신하도록 할 수 있습니다. VM에 여러 개의 NIC가 필요한 경우 각 VM 크기에 대한 최대 NIC 수가 정의되어 있습니다.

  • 공용 IP 주소. 공용 IP 주소는 RDP(원격 데스크톱) 등을 통해 VM과 통신하는 데 필요합니다. 이 공용 IP 주소는 동적 또는 정적일 수 있습니다. 기본값은 동적입니다.

  • 변경되지 않는 고정 IP 주소가 필요한 경우(예: DNS에 'A' 레코드를 만들어야 하는 경우 또는 안전한 목록에 IP 주소를 추가해야 하는 경우) 고정 IP 주소를 예약합니다.

  • IP 주소의 FQDN(정규화된 도메인 이름)을 만들 수도 있습니다. 그런 후 FQDN을 가리키는 DNS에 CNAME 레코드를 등록할 수 있습니다. 자세한 내용은 Azure Portal에서 정규화된 도메인 이름 만들기를 참조하세요.

  • NSG(네트워크 보안 그룹) . 네트워크 보안 그룹은 VM에 대한 네트워크 트래픽을 허용하거나 거부하는 데 사용됩니다. NSG는 서브넷 또는 개별 VM 인스턴스로 연결할 수 있습니다.

모든 NSG에는 모든 인바운드 인터넷 트래픽을 차단하는 규칙을 포함하여 기본 규칙 집합이 있습니다. 기본 규칙은 삭제할 수 없으나 다른 규칙으로 재정의할 수 있습니다. 인터넷 트래픽을 사용하도록 설정하려면 특정 포트(예: HTTP용 포트 80)로의 인바운드 트래픽을 허용하는 규칙을 만듭니다. RDP를 사용하도록 설정하려면 TCP 포트 3389에 인바운드 트래픽을 허용하는 NSG 규칙을 추가합니다.

작업

진단. 기본 상태 메트릭, 진단 인프라 로그 및 부팅 진단을 모니터링 및 진단을 사용하도록 설정할 수 있습니다. 부팅 진단은 VM이 부팅할 수 없는 상태로 전환되는 경우 부팅 오류를 진단하는 데 도움이 될 수 있습니다. 로그를 저장할 Azure Storage 계정을 만듭니다. 표준 LRS(로컬 중복 스토리지) 계정은 진단 로그에 충분합니다. 자세한 내용은 모니터링 및 진단 사용을 참조하세요.

가용성. 사용자의 VM은 계획된 유지 관리 또는 계획되지 않은 가동 중지 시간의 영향을 받을 수 있습니다. VM 다시 부팅 로그를 사용하여 VM 재부팅이 계획된 유지 관리로 발생했는지 여부를 결정할 수 있습니다. 더 높은 가용성을 위해 가용성 집합에 여러 VM을 배포합니다. 이 구성은 높은 수준의 SLA(서비스 수준 계약)를 제공합니다.

백업 실수로 인한 데이터 손실을 방지하려면 Azure Backup 서비스를 사용하여 VM을 지역 중복 스토리지에 백업하세요. Azure Backup은 애플리케이션 일치 백업을 제공합니다.

VM 중지. Azure에서는 "중지됨"과 "할당 취소됨" 상태를 구분합니다. VM 상태가 중지되면 요금이 청구되지만 VM 할당이 취소되면 청구되지 않습니다. Azure Portal에서 중지 버튼은 VM 할당을 취소합니다. 로그인한 상태에서 OS를 통해 종료하면 VM은 중지되지만 할당 취소되지 않으므로 비용이 계속 청구됩니다.

VM 삭제. VM을 삭제하는 경우 VHD는 삭제되지 않습니다. 즉, 데이터 손실 없이 안전하게 VM을 삭제할 수 있습니다. 그러나 스토리지에 대한 비용은 계속 청구됩니다. VHD를 삭제하려면 Blob Storage에서 파일을 삭제합니다. 실수로 삭제하지 않도록 하려면 리소스 잠금을 사용하여 전체 리소스 그룹을 잠그거나 VM과 같은 개별 리소스를 잠급니다.

고려 사항

이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

비용 최적화

비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 방법을 찾는 것입니다. 자세한 내용은 비용 최적화 핵심 요소 개요를 참조하세요.

사용량 및 워크로드에 따라 VM 크기에 대한 다양한 옵션이 있습니다. 이 범위에는 기계 학습에 최적화된 최신 GPU VM에 대한 Bs 시리즈의 가장 경제적인 옵션이 포함됩니다. 사용 가능한 옵션에 대한 자세한 내용은 Azure Windows VM 가격 책정을 참조하세요.

예측 가능한 워크로드의 경우 1년 또는 3년 계약으로 컴퓨팅에 Azure ReservationsAzure 저축 계획을 사용하고 종량제 가격에서 상당한 절감액을 받습니다. 예측 가능한 완료 시간 또는 리소스 사용량이 없는 워크로드의 경우 종량제 옵션을 고려합니다.

Azure Spot VM을 사용하여 중단될 수 있는 워크로드를 실행하며 미리 결정된 시간 프레임 또는 SLA 내에서 완료할 필요가 없습니다. Azure는 사용 가능한 용량이 있는 경우 스폿 VM을 배포하고 용량을 다시 필요로 할 때 제거합니다. 스폿 가상 머신과 관련된 비용은 상당히 낮습니다. 다음과 같은 워크로드에는 스폿 VM을 사용하는 것이 좋습니다.

  • 고성능 컴퓨팅 시나리오, 일괄 처리 작업 또는 시각적 렌더링 애플리케이션
  • 연속 통합 및 지속적인 업데이트 워크로드를 포함한 테스트 환경
  • 대규모 상태 비저장 애플리케이션

Azure 가격 계산기를 사용하여 비용을 예측합니다.

자세한 내용은 Microsoft Azure Well-Architected Framework의 비용 섹션을 참조하세요.

보안

우수한 보안은 중요한 데이터 및 시스템에 대한 고의적인 공격과 악용을 방어합니다. 자세한 내용은 보안 요소의 개요를 참조하세요.

클라우드용 Microsoft Defender를 사용하여 Azure 리소스의 보안 상태를 중앙에서 살펴봅니다. 클라우드용 Defender는 잠재적인 보안 문제를 모니터링하고 배포의 보안 상태에 대한 종합적인 그림을 제공합니다. 클라우드용 Defender는 Azure 구독별로 구성됩니다. 클라우드용 Defender 표준에 Azure 구독 온보딩에서 설명된 대로 보안 데이터 컬렉션을 활성화합니다. 데이터 수집이 사용되도록 설정되면 클라우드용 Defender는 해당 구독에서 만든 모든 VM을 자동으로 검색합니다.

패치 관리. 이 기능이 설정된 경우 클라우드용 Defender는 보안 및 중요 업데이트 누락 여부를 확인합니다. VM의 그룹 정책 설정을 사용하여 자동 시스템 업데이트를 사용하도록 설정합니다.

맬웨어 방지. 이 기능이 설정되면 클라우드용 Defender는 맬웨어 방지 소프트웨어 설치 여부를 확인합니다. 또한 클라우드용 Defender를 사용하여 Azure Portal 내에서 맬웨어 방지 소프트웨어를 설치할 수도 있습니다.

액세스 제어. Azure RBAC(Azure 역할 기반 액세스 제어)를 사용하여 Azure 리소스에 대한 액세스를 제어합니다. Azure RBAC를 통해 DevOps 팀의 구성원에게 권한 역할을 할당할 수 있습니다. 예를 들어 읽기 권한자 역할은 Azure 리소스를 볼 수 있지만 만들거나 관리하거나 삭제할 수는 없습니다. 일부 권한은 Azure 리소스 형식에 적용됩니다. 예를 들어 Virtual Machine Contributor 역할은 VM을 다시 시작하거나 할당을 취소하고, 관리자 암호를 재설정하고, 새 VM을 만드는 등의 작업을 수행할 수 있습니다. 이 아키텍처에 유용할 수 있는 기타 기본 제공 역할에는 DevTest Labs 사용자네트워크 기여자가 포함됩니다.

참고

Azure RBAC는 VM에 로그온한 사용자가 수행할 수 있는 작업을 제한하지 않습니다. 이러한 사용 권한은 게스트 OS의 계정 유형에 따라 결정됩니다.

감사 로그. 감사 로그를 사용하여 프로비전 동작 및 기타 VM 이벤트를 확인합니다.

데이터 암호화. OS 및 데이터 디스크를 암호화해야 하는 경우 Azure Disk Encryption을 사용하세요.

운영 우수성

운영 우수성은 애플리케이션을 배포하고 프로덕션에서 계속 실행하는 운영 프로세스를 다룹니다. 자세한 내용은 운영 우수성 핵심 요소 개요를 참조하세요.

Azure 리소스를 프로비전하기 위해 단일 Azure Resource Manager 템플릿 을 사용하거나(선언적 접근 방식) 단일 PowerShell 스크립트(명령적 접근 방식)를 사용하여 IaC(Infrastructure as Code)를 사용합니다. 모든 리소스는 동일한 가상 네트워크에 있으므로 동일한 기본 워크로드에서 격리됩니다. 이렇게 하면 워크로드의 특정 리소스를 DevOps 팀에 쉽게 연결할 수 있으므로 팀에서 해당 리소스의 모든 측면을 독립적으로 관리할 수 있습니다. 이러한 격리를 통해 DevOps 팀 및 서비스는 CI/CD(연속 통합 및 지속적인 업데이트)를 수행할 수 있습니다.

또한 다양한 Azure Resource Manager 템플릿을 사용하고 Azure DevOps Services와 통합하여 몇 분 안에 다양한 환경을 프로비전할 수 있습니다. 예를 들어 필요한 경우에만 프로덕션 유사 시나리오를 복제하거나 테스트 환경을 로드하여 비용을 절감할 수 있습니다.

Azure Monitor를 사용하여 인프라의 성능을 분석 및 최적화하고 가상 머신에 로그인하지 않고 네트워킹 문제를 모니터링 및 진단하는 것이 좋습니다.

다음 단계