Virtual Machines 및 확장 집합에 대한 Azure Well-Architected Framework 관점
Azure Virtual Machines Azure 플랫폼에서 VM(가상 머신)을 만들고 실행하는 데 사용할 수 있는 컴퓨팅 서비스 유형입니다. 다양한 청구 모델을 사용하여 다양한 SKU, 운영 체제 및 구성에서 유연성을 제공합니다.
이 문서에서는 설계자로서 컴퓨팅 의사 결정 트리를 검토하고 워크로드에 대한 컴퓨팅 서비스로 Virtual Machines 선택했다고 가정합니다. 이 문서의 지침은 Azure Well-Architected Framework 핵심 요소의 원칙에 매핑되는 아키텍처 권장 사항을 제공합니다.
중요
이 가이드를 사용하는 방법
각 섹션에는 기술 scope 지역화된 디자인 전략과 함께 관심 있는 아키텍처 영역을 제공하는 디자인 검사 목록이 있습니다.
또한 이러한 전략을 구체화하는 데 도움이 될 수 있는 기술 기능에 대한 권장 사항 도 포함되어 있습니다. 권장 사항은 Virtual Machines 및 해당 종속성에 사용할 수 있는 모든 구성의 전체 목록을 나타내지 않습니다. 대신 디자인 관점에 매핑된 주요 권장 사항을 나열합니다. 권장 사항을 사용하여 개념 증명을 빌드하거나 기존 환경을 최적화합니다.
주요 권장 사항을 보여 주는 기본 아키텍처: Virtual Machines 기준 아키텍처.
기술 scope
이 검토는 다음 Azure 리소스에 대한 상호 연관된 결정에 중점을 둡니다.
Virtual Machines
Azure Virtual Machine Scale Sets
디스크
디스크는 VM 기반 아키텍처에 대한 중요한 종속성입니다. 자세한 내용은 디스크 및 최적화를 참조하세요.
안정성
안정성 핵심 요소의 목적은 충분한 복원력과 오류로부터 빠르게 복구할 수 있는 기능을 구축하여 지속적인 기능을 제공하는 것입니다.
안정성 디자인 원칙은 개별 구성 요소, 시스템 흐름 및 시스템 전체에 적용되는 개략적인 디자인 전략을 제공합니다.
디자인 검사 목록
안정성에 대한 디자인 검토 검사 목록을 기반으로 디자인 전략을 시작합니다. VM의 SKU 및 기능 및 종속성을 염두에 두고 비즈니스 요구 사항과 관련성을 확인합니다. 필요에 따라 더 많은 접근 방식을 포함하도록 전략을 확장합니다.
디자인 제한이 발생할 수 있는 Virtual Machines 할당량 및 제한을 검토합니다. VM에는 VM 유형 또는 지역에 따라 달라지는 특정 제한 및 할당량이 있습니다. 구독당 VM 수 또는 VM당 코어 수와 같은 구독 제한이 있을 수 있습니다. 다른 워크로드가 구독을 공유하는 경우 데이터를 사용하는 기능이 줄어들 수 있습니다. VM, 가상 머신 확장 집합 및 관리 디스크에 대한 제한을 확인합니다.
네트워크 및 스토리지 구성 요소와의 VM 상호 작용을 분석하여 실패 지점을 최소화하기 위해 오류 모드 분석을 수행합니다. 임시 OS(운영 체제) 디스크와 같은 구성을 선택하여 디스크 액세스를 지역화하고 네트워크 홉을 방지합니다. 부하 분산 장치를 추가하여 여러 VM에 네트워크 트래픽을 분산하여 자체 유지를 향상시켜 가용성과 안정성을 향상시킵니다.
Azure SLA(서비스 수준 계약)를 기반으로 복합 SLO(서비스 수준 목표)를 계산합니다. 비현실적인 기대와 잠재적인 문제를 방지하려면 SLO가 Azure SLA 보다 높지 않은지 확인합니다.
종속성이 도입하는 복잡성에 유의하세요. 예를 들어 가상 네트워크 및 NIC(네트워크 인터페이스 카드)와 같은 일부 종속성에는 자체 SLA가 없습니다. 연결된 데이터 디스크와 같은 다른 종속성에는 VM SLA와 통합되는 SLA가 있습니다. 이러한 변형은 VM 성능 및 안정성에 영향을 줄 수 있으므로 고려해야 합니다.
디스크 및 네트워킹 구성 요소와 같은 구성 요소에 대한 VM의 중요한 종속성을 고려합니다. 이러한 관계를 이해하면 안정성에 영향을 주는 중요한 흐름을 확인할 수 있습니다.
상태 격리를 만듭니다. OS 디스크와의 간섭을 방지하려면 워크로드 데이터가 별도의 데이터 디스크에 있어야 합니다. VM이 실패하는 경우 복원력 및 오류 격리를 보장하는 동일한 데이터 디스크를 사용하여 새 OS 디스크를 만들 수 있습니다. 자세한 내용은 임시 OS 디스크를 참조하세요.
VM 및 해당 종속성을 영역 간에 중복으로 만듭니다. VM이 실패하면 중복성으로 인해 워크로드가 계속 작동해야 합니다. 중복 선택 항목에 종속성을 포함합니다. 예를 들어 디스크에서 사용할 수 있는 기본 제공 중복성 옵션을 사용합니다. 영역 중복 IP를 사용하여 데이터 가용성 및 높은 작동 시간을 보장합니다.
서비스 수준 저하를 방지하고 오류를 방지하기 위해 스케일 업 및 스케일 아웃할 준비를 합니다. Virtual Machine Scale Sets 필요에 따라 새 인스턴스를 만들고 여러 VM 및 가용성 영역에 부하를 분산하는 자동 크기 조정 기능이 있습니다.
자동 복구 옵션을 탐색합니다. Azure는 VM에 대한 상태 저하 모니터링 및 자가 복구 기능을 지원합니다. 예를 들어 확장 집합은 자동 instance 복구를 제공합니다. 고급 시나리오에서 자동 복구에는 Azure Site Recovery 사용, 장애 조치(failover)할 수동 대기 상태 사용 또는 IaC(Infrastructure as Code)에서 다시 배포가 포함됩니다. 선택하는 방법은 비즈니스 요구 사항 및 조직 운영에 부합해야 합니다. 자세한 내용은 VM 서비스 중단을 참조하세요.
VM 및 해당 종속성을 권한 부여합니다. VM의 예상 작업을 이해하여 크기가 부족하지 않고 최대 부하를 처리할 수 있는지 확인합니다. 오류를 완화하기 위한 추가 용량이 있습니다.
포괄적인 재해 복구 계획을 만듭니다. 재해 대비에는 포괄적인 계획을 수립하고 복구를 위한 기술을 결정하는 작업이 포함됩니다.
연결된 스토리지와 같은 종속성 및 상태 저장 구성 요소는 복구를 복잡하게 만들 수 있습니다. 디스크가 다운되면 해당 오류가 VM의 작동에 영향을 줍니다. 복구 계획에 이러한 종속성에 대한 명확한 프로세스를 포함합니다.
엄격하게 작업을 실행합니다. 안정성 디자인 선택은 모니터링 원칙, 프로덕션의 복원력 테스트, 자동화된 애플리케이션 VM 패치 및 업그레이드, 배포 일관성에 따라 효과적인 작업에서 지원되어야 합니다. 운영 지침은 운영 우수성을 참조하세요.
권장 사항
권장 | 이점 |
---|---|
(확장 집합) 유연한 오케스트레이션 모드에서 Virtual Machine Scale Sets 사용하여 VM을 배포합니다. | 확장에 대한 애플리케이션을 미래 지향적이고 지역 또는 가용성 영역의 장애 도메인에 VM을 분산하는 고가용성 보장을 활용합니다. |
(VM) VM에서 instance 상태를 내보내는 히스 엔드포인트를 구현합니다. (확장 집합) 기본 복구 작업을 지정하여 확장 집합에서 자동 복구를 사용하도록 설정합니다. VM의 상태가 변경되면 자동 복구가 일시 중지되는 시간 프레임을 설정하는 것이 좋습니다. |
instance 비정상으로 간주되는 경우에도 가용성을 유지합니다. 자동 복구는 결함이 있는 instance 대체하여 복구를 시작합니다. 기간을 설정하면 실수로 또는 조기 복구 작업을 방지할 수 있습니다. |
(확장 집합) 확장 집합에서 오버프로비전을 사용하도록 설정합니다. | 오버프로비전하면 추가 VM에 요금이 청구되지 않으므로 배포 시간이 줄어들고 비용 이점이 있습니다. |
(확장 집합) 유연한 오케스트레이션이 가능한 한 많은 장애 도메인 에 VM 인스턴스를 분산 하도록 허용합니다. | 이 옵션은 장애 도메인을 격리합니다. 유지 관리 기간 동안 하나의 장애 도메인이 업데이트되면 다른 장애 도메인에서 VM 인스턴스를 사용할 수 있습니다. |
(확장 집합) 확장 집합 의 가용성 영역에 배포합니다 . 각 영역에서 두 개 이상의 인스턴스를 설정합니다. 영역 분산 은 인스턴스를 영역 간에 동일하게 분산합니다. |
VM 인스턴스는 로컬 오류에 관대한 각 Azure 지역 내의 물리적으로 분리된 위치에 프로비전됩니다. 리소스 가용성에 따라 영역 간에 인스턴스 수가 고르지 않을 수 있습니다. 영역 분산은 한 영역이 다운된 경우 다른 영역에 충분한 인스턴스가 있는지 확인하여 가용성을 지원합니다. 각 영역의 두 인스턴스는 업그레이드 중에 버퍼를 제공합니다. |
(VM) 용량 예약 기능을 활용합니다. | 용량은 사용을 위해 예약되어 있으며 해당 SLA의 scope 내에서 사용할 수 있습니다. 용량 예약이 더 이상 필요하지 않은 경우 용량 예약을 삭제할 수 있으며 청구는 사용량 기준입니다. |
팁
VM의 안정성에 대한 자세한 내용은 Virtual Machines 안정성을 참조하세요.
보안
보안 핵심 요소의 목적은 워크로드에 기밀성, 무결성 및 가용성 보장을 제공하는 것입니다.
보안 디자인 원칙은 Virtual Machines 기술 디자인에 접근 방식을 적용하여 이러한 목표를 달성하기 위한 높은 수준의 디자인 전략을 제공합니다.
디자인 검사 목록
보안에 대한 디자인 검토 검사 목록을 기반으로 디자인 전략을 시작합니다. 취약성 및 컨트롤을 식별하여 보안 태세를 개선합니다. 필요에 따라 더 많은 접근 방식을 포함하도록 전략을 확장합니다.
Linux 및 Windows VM 및 Virtual Machine Scale Sets 대한 보안 기준을 검토합니다.
기본 기술 선택 항목의 일부로 워크로드를 지원하는 VM SKU의 보안 기능을 고려합니다.
적시에 자동화된 보안 패치 및 업그레이드를 보장합니다. 잘 정의된 프로세스를 사용하여 업데이트가 자동으로 롤아웃되고 유효성이 검사되는지 확인합니다. Azure Automation 같은 솔루션을 사용하여 OS 업데이트를 관리하고 중요한 업데이트를 통해 보안 규정 준수를 유지합니다.
상태를 유지하는 VM을 식별합니다. 데이터가 organization 제공한 민감도 레이블에 따라 분류되었는지 확인합니다. 적절한 수준의 미사용 및 전송 중 암호화와 같은 보안 제어를 사용하여 데이터를 보호합니다. 높은 민감도 요구 사항이 있는 경우 이중 암호화 및 Azure 기밀 컴퓨팅과 같은 높은 보안 컨트롤을 사용하여 사용 중인 데이터를 보호하는 것이 좋습니다.
네트워크 경계 및 액세스 제어를 설정하여 VM 및 확장 집합에 대한 구분을 제공합니다. 동일한 수명 주기를 공유하는 리소스 그룹에 VM을 배치합니다.
VM에 도달하려는 ID와 다른 리소스에 도달하는 VM에도 액세스 제어를 적용합니다. 인증 및 권한 부여 요구 사항에 Microsoft Entra ID 사용합니다. VM 및 해당 종속성(예: 비밀)에 대해 강력한 암호, 다단계 인증 및 RBAC(역할 기반 액세스 제어)를 배치하여 허용된 ID가 역할에 필요한 작업만 수행할 수 있도록 합니다.
Microsoft Entra 조건부 액세스를 사용하여 조건에 따라 리소스 액세스를 제한합니다. 기간 및 필요한 최소 권한 집합에 따라 조건부 정책을 정의합니다.
네트워크 컨트롤을 사용하여 수신 및 송신 트래픽을 제한합니다. Azure Virtual Network VM 및 확장 집합을 격리하고 트래픽을 필터링하는 네트워크 보안 그룹을 정의합니다. DDoS(분산 서비스 거부) 공격으로부터 보호합니다. 부하 분산 장치 및 방화벽 규칙을 사용하여 악의적인 트래픽 및 데이터 반출 공격으로부터 보호합니다.
Azure Bastion을 사용하여 운영 액세스를 위해 VM에 대한 보안 연결을 제공합니다.
VM과 PaaS(Platform as a Service) 솔루션 간 통신은 프라이빗 엔드포인트를 통해 이루어져야 합니다.
OS 이미지를 강화하고 사용되지 않는 구성 요소를 제거하여 공격 표면을 줄입니다. 더 작은 이미지를 사용하고 워크로드를 실행하는 데 필요하지 않은 이진 파일을 제거합니다. 필요하지 않은 기본 계정 및 포트와 같은 기능을 제거하여 VM 구성을 강화합니다.
전송 중인 데이터를 보호하는 데 필요한 인증서와 같은 비밀을 보호합니다. 키 자격 증명 모음에 저장된 인증서를 자동으로 새로 고치는 Windows 또는 Linux용 Azure Key Vault 확장을 사용하는 것이 좋습니다. 인증서의 변경 내용이 감지되면 확장은 해당 인증서를 검색하고 설치합니다.
위협 탐지. VM에서 위협 및 잘못된 구성을 모니터링합니다. 서버용 Defender를 사용하여 VM 및 OS 변경 내용을 캡처하고 액세스, 새 계정 및 권한 변경에 대한 감사 내역을 유지 관리합니다.
위협 방지. 방화벽, 바이러스 백신 소프트웨어 및 침입 감지 시스템과 같은 보안 제어를 구현하여 맬웨어 공격 및 악의적 행위자로부터 보호합니다. TEE(신뢰할 수 있는 실행 환경)가 필요한지 확인합니다.
권장 사항
권장 | 이점 |
---|---|
(확장 집합) 확장 집합에 관리 ID를 할당합니다. 확장 집합의 모든 VM은 지정된 VM 프로필을 통해 동일한 ID를 가져옵니다. (VM) 관리 ID를 만들 때 개별 VM에 할당 한 다음 필요한 경우 확장 집합에 추가할 수도 있습니다. |
VM은 다른 리소스와 통신할 때 신뢰 경계를 넘습니다. 확장 집합 및 VM은 통신이 허용되기 전에 ID를 인증해야 합니다. Microsoft Entra ID 관리 ID를 사용하여 해당 인증을 처리합니다. |
(확장 집합) 보안 기능이 있는 VM SKU를 선택합니다. 예를 들어 일부 SKU는 BitLocker 암호화를 지원하며 기밀 컴퓨팅 은 사용 중인 데이터의 암호화를 제공합니다. 기능을 검토하여 제한 사항을 이해합니다. |
Azure에서 제공하는 기능은 여러 테넌트에서 캡처되는 신호를 기반으로 하며 사용자 지정 컨트롤보다 리소스를 더 잘 보호할 수 있습니다. 정책을 사용하여 해당 컨트롤을 적용할 수도 있습니다. |
(VM, 확장 집합) 프로비전된 리소스에 organization 권장 태그를 적용합니다. | 태그 지정 은 리소스를 분할하고 구성하는 일반적인 방법이며 인시던트 관리 중에 중요할 수 있습니다. 자세한 내용은 이름 지정 및 태그 지정의 목적을 참조하세요. |
(VM, 확장 집합) VM 구성에서 사용하도록 설정하려는 보안 기능을 사용하여 보안 프로필을 설정합니다 . 예를 들어 프로필의 호스트에서 암호화 를 지정하면 VM 호스트에 저장된 데이터는 미사용 시 암호화되고 흐름은 스토리지 서비스로 암호화됩니다. |
보안 프로필의 기능은 VM을 만들 때 자동으로 사용하도록 설정됩니다. 자세한 내용은 Virtual Machine Scale Sets 대한 Azure 보안 기준을 참조하세요. |
(VM) VM의 네트워크 프로필에 대한 보안 네트워킹 옵션을 선택합니다 . 공용 IP 주소를 VM에 직접 연결하지 말고 IP 전달을 사용하도록 설정하지 마세요. 모든 가상 네트워크 인터페이스에 연결된 네트워크 보안 그룹이 있는지 확인합니다. |
네트워킹 프로필에서 구분 컨트롤을 설정할 수 있습니다. 공격자는 공용 IP 주소를 검색하여 VM을 위협에 취약하게 만듭니다. |
(VM) VM의 스토리지 프로필에 대한 보안 스토리지 옵션을 선택합니다 . 기본적으로 디스크 암호화 및 미사용 데이터 암호화를 사용하도록 설정합니다. VM 디스크에 대한 공용 네트워크 액세스를 사용하지 않도록 설정합니다. |
공용 네트워크 액세스를 사용하지 않도록 설정하면 데이터 및 리소스에 대한 무단 액세스를 방지할 수 있습니다. |
(VM, 확장 집합) 위협으로부터 보호하는 확장을 VM에 포함합니다 . 예를 들면 다음과 같습니다. - Windows 및 Linux용 Key Vault 확장 - Microsoft Entra ID 인증 - Azure Cloud Services 및 Virtual Machines 대한 Microsoft Antimalware - Windows 및 Linux용 Azure Disk Encryption 확장. |
확장은 VM에 대한 액세스를 보호하는 올바른 소프트웨어로 VM을 부트스트랩하는 데 사용됩니다. Microsoft에서 제공하는 확장은 진화하는 보안 표준을 따라가기 위해 자주 업데이트됩니다. |
비용 최적화
비용 최적화는 지출 패턴을 감지하고, 중요한 영역에 대한 투자의 우선 순위를 지정하고, 비즈니스 요구 사항을 충족하는 동안 organization 예산을 충족하도록 다른 영역에서 최적화하는 데 중점을 둡니다.
비용 최적화 디자인 원칙은 이러한 목표를 달성하고 Virtual Machines 및 환경과 관련된 기술 설계에서 필요에 따라 장단위를 만들기 위한 높은 수준의 디자인 전략을 제공합니다.
디자인 검사 목록
투자 비용 최적화에 대한 디자인 검토 검사 목록을 기반으로 디자인 전략을 시작합니다. 워크로드가 워크로드에 할당된 예산에 맞게 조정되도록 디자인을 미세 조정합니다. 디자인은 적절한 Azure 기능을 사용하고, 투자를 모니터링하고, 시간이 지남에 따라 최적화할 기회를 찾아야 합니다.
현실적인 비용을 예측합니다. 가격 계산기를 사용하여 VM의 비용을 예측합니다. VM 선택기를 사용하여 워크로드에 가장 적합한 VM을 식별합니다. 자세한 내용은 Linux 및 Windows 가격 책정을 참조하세요.
Cost Guardrails를 구현합니다. 거버넌스 정책을 사용하여 리소스 종류, 구성 및 위치를 제한합니다. RBAC를 사용하여 초과 지출로 이어질 수 있는 작업을 차단합니다.
올바른 리소스를 선택합니다. VM 계획 크기 및 SKU를 선택하면 전체 비용에 직접적인 영향을 줍니다. 워크로드 특성에 따라 VM을 선택합니다. 워크로드 CPU가 많이 사용되거나 인터럽트 가능한 프로세스를 실행하나요? 각 SKU에는 전체 비용에 영향을 주는 연결된 디스크 옵션이 있습니다.
종속 리소스에 적합한 기능을 선택합니다. 예약된 용량이 있는 Azure Backup 스토리지를 사용하여 자격 증명 모음 표준 계층의 백업 스토리지 비용을 절감합니다. 1년 또는 3년 동안 예약을 할 때 할인을 제공합니다.
Azure Storage의 보관 계층은 거의 액세스하지 않는 Blob 데이터를 저장하기 위해 최적화된 오프라인 계층입니다. 보관 계층은 핫 및 쿨 온라인 계층에 비해 스토리지 비용이 가장 낮지만 데이터 검색 비용과 대기 시간이 더 높습니다.
영역 중복 서비스를 사용하여 가용성의 복잡성을 줄이면서 VM이 사이트 오류로부터 복구할 수 있도록 영역 대 영역 재해 복구 를 사용하는 것이 좋습니다. 운영 복잡성 감소로 인한 비용 이점이 있을 수 있습니다.
올바른 청구 모델을 선택합니다. 컴퓨팅을 위한 약정 기반 모델이 워크로드의 비즈니스 요구 사항에 따라 비용을 최적화하는지 여부를 평가합니다. 다음 Azure 옵션을 고려합니다.
-
Azure 예약: 예측 가능한 워크로드를 선불로 결제하여 소비 기반 가격 책정에 비해 비용을 절감합니다.
중요
안정적인 사용량을 가진 워크로드에 대한 Azure 비용을 줄이기 위해 예약 인스턴스를 구매합니다. 사용량을 관리하여 사용 중인 것보다 많은 리소스에 대한 비용을 지불하지 않도록 합니다. 예약 인스턴스를 단순하게 유지하고 관리 오버헤드를 낮게 유지하여 비용을 절감합니다.
- 절감 계획: 1~3년 동안 컴퓨팅 서비스에 고정 시간당 금액을 지출하기로 약속하는 경우 이 계획을 통해 비용을 절감할 수 있습니다.
- Azure 하이브리드 혜택: 온-프레미스 VM을 Azure로 마이그레이션할 때 저장합니다.
-
Azure 예약: 예측 가능한 워크로드를 선불로 결제하여 소비 기반 가격 책정에 비해 비용을 절감합니다.
사용량을 모니터링합니다. 사용 패턴을 지속적으로 모니터링하고 사용되지 않거나 사용량이 부족한 VM을 검색합니다. 이러한 인스턴스의 경우 VM 인스턴스가 사용되지 않을 때 종료합니다. 모니터링은 운영 우수성의 핵심 접근 방식입니다. 자세한 내용은 운영 우수성의 권장 사항을 참조하세요.
최적화하는 방법을 찾습니다. 일부 전략에는 기존 시스템에서 리소스를 늘리거나 스케일 업하고 해당 시스템의 인스턴스를 더 추가하거나 스케일 아웃하는 것 사이에서 가장 비용 효율적인 접근 방식을 선택하는 것이 포함됩니다. 다른 리소스에 배포하여 수요를 오프로드하거나 우선 순위 큐, 게이트웨이 오프로드, 버퍼링 및 속도 제한을 구현하여 수요를 줄일 수 있습니다. 자세한 내용은 성능 효율성의 권장 사항을 참조하세요.
권장 사항
권장 | 이점 |
---|---|
(VM, 확장 집합) 올바른 VM 계획 크기 및 SKU를 선택합니다. 워크로드에 가장 적합한 VM 크기를 식별합니다 . VM 선택기를 사용하여 워크로드에 가장 적합한 VM을 식별합니다. Windows 및 Linux 가격 책정을 참조하세요. 일부 중단을 허용할 수 있는 고도로 병렬 일괄 처리 작업과 같은 워크로드의 경우 Azure Spot Virtual Machines 사용하는 것이 좋습니다. 스폿 가상 머신은 대규모 솔루션을 실험, 개발 및 테스트하는 데 적합합니다. |
SKU는 제공하는 기능에 따라 가격이 책정됩니다. 고급 기능이 필요하지 않은 경우 SKU에 과도하게 지출하지 마세요. 스폿 가상 머신은 Azure의 잉여 용량을 더 저렴한 비용으로 활용합니다. |
(VM, 확장 집합) VM의 SKU와 연결된 디스크 옵션을 평가합니다. 스토리지 용량 요구 사항을 염두에 두고 변동하는 워크로드 패턴을 고려하면서 성능 요구 사항을 결정합니다. 예를 들어 Azure Premium SSD v2 디스크를 사용하면 디스크 크기와 관계없이 성능을 세분화하여 조정할 수 있습니다. |
일부 고성능 디스크 유형은 추가 비용 최적화 기능 및 전략을 제공합니다. 프리미엄 SSD v2 디스크의 조정 기능은 과도하게 프로비전하지 않고 고성능을 제공하므로 비용을 절감할 수 있으며, 그렇지 않으면 사용량이 부족한 리소스로 이어질 수 있습니다. |
(확장 집합) 일반 VM을 스폿 가상 머신과 혼합합니다. 유연한 오케스트레이션을 사용하면 지정된 백분율에 따라 스폿 가상 머신을 배포 할 수 있습니다. |
스폿 가상 머신의 심층 할인을 적용하여 컴퓨팅 인프라 비용을 줄입니다. |
(확장 집합) 수요가 감소할 때 VM 인스턴스 수를 줄입니다. 조건에 따라 규모 감축 정책을 설정합니다. 근무 시간 외 VM을 중지합니다. Azure Automation 시작/중지 기능을 사용하고 비즈니스 요구 사항에 따라 구성할 수 있습니다. |
리소스를 사용하지 않을 때 스케일 인하거나 중지하면 확장 집합에서 실행되는 VM 수가 줄어들어 비용이 절감됩니다. 시작/중지 기능은 저렴한 자동화 옵션입니다. |
(VM, 확장 집합) Azure 하이브리드 혜택 사용하여 라이선스 이동성을 활용합니다. VM에는 사용자 고유의 온-프레미스 Windows Server OS 라이선스 를 Azure로 가져올 수 있는 라이선스 옵션이 있습니다. Azure 하이브리드 혜택 특정 Linux 구독을 Azure로 가져올 수도 있습니다. |
클라우드의 이점을 누리면서 온-프레미스 라이선스를 최대화할 수 있습니다. |
운영 효율성
운영 우수성은 주로 개발 사례, 가시성 및 릴리스 관리를 위한 절차에 중점을 둡니다.
운영 우수성 디자인 원칙은 워크로드의 운영 요구 사항에 대해 이러한 목표를 달성하기 위한 개략적인 디자인 전략을 제공합니다.
디자인 검사 목록
Virtual Machines 및 확장 집합과 관련된 가시성, 테스트 및 배포를 위한 프로세스를 정의하기 위한 운영 우수성에 대한 디자인 검토 검사 목록을 기반으로 디자인 전략을 시작합니다.
VM 인스턴스를 모니터링합니다. VM 인스턴스에서 로그 및 메트릭을 수집하여 리소스 사용량을 모니터링하고 인스턴스의 상태를 측정합니다. 몇 가지 일반적인 메트릭 에는 CPU 사용량, 요청 수 및 I/O(입력/출력) 대기 시간이 포함됩니다. 문제에 대한 알림을 받고 환경의 구성 변경 내용을 검색하도록 Azure Monitor 경고를 설정합니다.
VM 및 해당 종속성의 상태를 모니터링합니다.
- 모니터링 구성 요소를 배포하여 VM, 게스트 OS 및 부팅 진단 데이터를 포괄적으로 볼 수 있는 로그 및 메트릭을 수집합니다. Virtual Machine Scale Sets 개별 VM 수준에서 또는 집계로 상태 메트릭을 볼 수 있는 원격 분석을 롤업합니다. Azure Monitor를 사용하여 VM당 또는 여러 VM에서 집계된 이 데이터를 볼 수 있습니다. 자세한 내용은 모니터링 에이전트에 대한 권장 사항을 참조하세요.
- VM의 상태 상태 검사 네트워킹 구성 요소를 활용합니다. 예를 들어 Azure Load Balancer VM을 ping하여 비정상 VM을 검색하고 그에 따라 트래픽을 다시 라우팅합니다.
- Azure Monitor 경고 규칙을 설정합니다. 모니터링 데이터의 중요한 조건을 결정하여 시스템에 영향을 미치기 전에 문제를 식별하고 해결합니다.
일상적인 작업의 일부로 정기적인 시스템 패치를 포함하는 유지 관리 계획을 만듭니다. 즉각적인 패치 애플리케이션을 허용하는 긴급 프로세스를 포함합니다. 패치를 관리하거나 작업을 Azure에 부분적으로 위임하는 사용자 지정 프로세스가 있을 수 있습니다. Azure는 개별 VM 유지 관리를 위한 기능을 제공합니다. 업데이트 중에 중단을 최소화하도록 유지 관리 기간을 설정할 수 있습니다. 플랫폼 업데이트 중에 장애 도메인 고려 사항은 복원력의 핵심입니다. 영역에 두 개 이상의 인스턴스를 배포하는 것이 좋습니다. 영역당 두 개의 VM은 한 번에 하나의 장애 도메인만 업데이트되므로 각 영역에서 최소 하나의 VM을 보장합니다. 따라서 3개의 영역에 대해 6개 이상의 인스턴스를 프로비전합니다.
부트스트랩, 스크립트 실행 및 VM 구성을 위한 프로세스를 자동화합니다. 확장 또는 사용자 지정 스크립트를 사용하여 프로세스를 자동화할 수 있습니다. 다음 옵션을 권장합니다.
Key Vault VM 확장은 키 자격 증명 모음에 저장된 인증서를 자동으로 새로 고칩니다.
Windows 및 Linux용 Azure 사용자 지정 스크립트 확장은 Virtual Machines 스크립트를 다운로드하고 실행합니다. 이 확장은 배포 후 구성, 소프트웨어 설치 또는 기타 구성 또는 관리 작업에 사용합니다.
cloud-init를 사용하여 Linux 기반 VM에 대한 시작 환경을 설정합니다.
자동 업데이트를 설치하는 프로세스가 있습니다. 중요한 패치 및 보안 패치를 적시에 롤아웃하려면 자동 VM 게스트 패치를 사용하는 것이 좋습니다. Azure Automation 업데이트 관리를 사용하여 Azure에서 Windows 및 Linux VM에 대한 OS 업데이트를 관리합니다.
프로덕션 환경에 배포하기 전에 업데이트 및 변경 내용을 테스트하기 위해 프로덕션 환경과 긴밀하게 일치하는 테스트 환경을 빌드합니다. 보안 업데이트, 성능 기준 및 안정성 오류를 테스트하는 프로세스가 마련되어 있습니다. Azure Chaos Studio 오류 라이브러리를 활용하여 오류 조건을 삽입하고 시뮬레이션합니다. 자세한 내용은 Azure Chaos Studio 오류 및 작업 라이브러리를 참조하세요.
할당량을 관리합니다. 워크로드에 필요한 할당량 수준을 계획하고 워크로드가 발전함에 따라 정기적으로 해당 수준을 검토합니다. 할당량을 늘리거나 줄이려면 해당 변경 내용을 일찍 요청합니다.
권장 사항
권장 | 이점 |
---|---|
(확장 집합) 유연한 오케스트레이션 모드의 Virtual Machine Scale Sets 워크로드의 배포 및 관리를 간소화하는 데 도움이 될 수 있습니다. 예를 들어 자동 복구를 사용하여 자가 복구를 쉽게 관리할 수 있습니다. | 유연한 오케스트레이션은 대규모로 VM 인스턴스를 관리할 수 있습니다. 개별 VM을 전달하면 운영 오버헤드가 추가됩니다. 예를 들어 VM 인스턴스를 삭제하면 연결된 디스크 및 NIC도 자동으로 삭제됩니다. VM 인스턴스는 업데이트 작업으로 인해 서비스가 중단되지 않도록 여러 장애 도메인에 분산됩니다. |
(확장 집합) 업그레이드 정책을 설정하여 VM을 최신 상태로 유지합니다. 롤링 업그레이드를 권장합니다. 그러나 세분화된 컨트롤이 필요한 경우 수동으로 업그레이드하도록 선택합니다. 유연한 오케스트레이션의 경우 Azure Automation 업데이트 관리를 사용할 수 있습니다. |
보안이 업그레이드의 주된 이유입니다. 인스턴스에 대한 보안 보증은 시간이 지남에 따라 감소해서는 안 됩니다. 롤링 업그레이드는 일괄 처리로 수행되어 모든 인스턴스가 동시에 중단되지 않도록 합니다. |
(VM, 확장 집합) 프로필에서 애플리케이션을 정의하여 Azure Compute Gallery에서 VM 애플리케이션을 자동으로 배포합니다. | 확장 집합의 VM이 만들어지고 지정된 앱이 미리 설치되어 관리가 더 쉬워집니다. |
부트스트랩의 일부로 미리 빌드된 소프트웨어 구성 요소를 확장으로 설치합니다. Azure는 VM에 대한 유틸리티 애플리케이션을 구성, 모니터링, 보안 및 제공하는 데 사용할 수 있는 많은 확장을 지원합니다. 확장에서 자동 업그레이드를 사용하도록 설정합니다. |
확장을 사용하면 각 VM에서 수동으로 설치, 구성 또는 업그레이드할 필요 없이 대규모로 소프트웨어 설치를 간소화할 수 있습니다. |
(VM, 확장 집합) VM 인스턴스 의 상태를 모니터링하고 측정 합니다. VM에 Monitor 에이전트 확장을 배포하여 OS별 데이터 수집 규칙을 사용하여 게스트 OS에서 모니터링 데이터를 수집합니다. VM 인사이트를 사용하여 상태 및 성능을 모니터링하고 수집된 데이터의 추세를 볼 수 있습니다. 부팅 진단 사용하여 VM 부팅으로 정보를 가져옵니다. 부팅 진단 부팅 실패도 진단합니다. |
모니터링 데이터는 인시던트 해결의 핵심입니다. 포괄적인 모니터링 스택은 VM의 성능 및 상태에 대한 정보를 제공합니다. 인스턴스를 지속적으로 모니터링하여 성능 오버로드 및 안정성 문제와 같은 오류를 준비하거나 방지할 수 있습니다. |
성능 효율성
성능 효율성은 용량 을 관리하여 부하가 증가하는 경우에도 사용자 환경을 유지하는 것입니다. 이 전략에는 리소스 크기 조정, 잠재적 병목 현상 식별 및 최적화, 최대 성능 최적화가 포함됩니다.
성능 효율성 디자인 원칙은 예상 사용량에 대해 이러한 용량 목표를 달성하기 위한 높은 수준의 디자인 전략을 제공합니다.
디자인 검사 목록
성능 효율성에 대한 디자인 검토 검사 목록을 기반으로 디자인 전략을 시작합니다. Virtual Machines 및 확장 집합에 대한 주요 성능 지표를 기반으로 하는 기준을 정의합니다.
성능 목표를 정의합니다. 응답 시간, CPU 사용률 및 메모리 사용률뿐만 아니라 초당 트랜잭션, 동시 사용자, 가용성 및 상태와 같은 워크로드 메트릭과 같은 성능 지표에 대해 추적하고 측정할 VM 메트릭을 식별합니다.
용량 계획에서 VM, 확장 집합 및 디스크 구성의 성능 프로필을 고려합니다. 각 SKU는 메모리 및 CPU의 프로필이 다르며 워크로드 유형에 따라 다르게 동작합니다. 파일럿 및 개념 증명을 수행하여 특정 워크로드의 성능 동작을 이해합니다.
VM 성능 조정. 워크로드에 필요한 대로 성능 최적화 및 향상된 기능을 활용합니다. 예를 들어 고성능 사용 사례 및 가속화된 네트워킹을 위해 로컬로 연결된 NVMe(비휘발성 메모리 Express)를 사용하고, 성능 및 확장성을 높이기 위해 프리미엄 SSD v2를 사용합니다.
종속 서비스를 고려합니다. VM과 상호 작용하는 캐싱, 네트워크 트래픽 및 콘텐츠 배달 네트워크와 같은 워크로드 종속성은 성능에 영향을 줄 수 있습니다. 또한 대기 시간을 추가할 수 있는 영역 및 지역과 같은 지리적 분포를 고려합니다.
성능 데이터를 수집합니다. 적절한 확장을 모니터링하고 배포하기 위한 운영 우수성 모범 사례를 따라 성능 지표를 추적하는 메트릭을 확인합니다.
근접 배치 그룹. 대기 시간이 짧은 워크로드에서 근접 배치 그룹을 사용하여 VM이 물리적으로 서로 가까이 있는지 확인합니다.
권장 사항
권장 | 이점 |
---|---|
(VM, 확장 집합) 용량 계획에 맞는 VM의 SKU를 선택합니다 . 적합하지 않은 SKU를 필터링할 수 있도록 코어 수, 메모리, 스토리지 및 네트워크 대역폭을 포함하여 워크로드 요구 사항을 잘 이해합니다. |
VM의 권한 부여는 워크로드의 성능에 크게 영향을 주는 기본적인 결정입니다. 올바른 VM 집합이 없으면 성능 문제가 발생하고 불필요한 비용이 발생할 수 있습니다. |
(VM, 확장 집합) 근접 배치 그룹에 대기 시간에 민감한 워크로드 VM을 배포합니다. | 근접 배치 그룹은 Azure 컴퓨팅 리소스 간의 물리적 거리를 줄여 성능을 향상시키고 독립 실행형 VM, 여러 가용성 집합의 VM 또는 여러 확장 집합의 VM 간의 네트워크 대기 시간을 줄일 수 있습니다. |
(VM, 확장 집합) 기존 워크로드 및 VM SKU의 디스크 성능을 분석하여 스토리지 프로필을 설정합니다. 프로덕션 VM 에 프리미엄 SSD 를 사용합니다. 프리미엄 SSD v2를 사용하여 디스크 성능을 조정합니다. 로컬로 연결된 NVMe 디바이스를 사용합니다. |
프리미엄 SSD는 I/O 집약적 워크로드를 사용하는 고성능 및 짧은 대기 시간 디스크 지원 VM을 제공합니다. 프리미엄 SSD v2에는 디스크 크기 조정이 필요하지 않으므로 과도한 과잉 프로비저닝 없이 고성능을 사용하도록 설정하고 사용하지 않는 용량의 비용을 최소화합니다. VM SKU에서 사용할 수 있는 경우 로컬로 연결된 NVMe 또는 유사한 디바이스는 특히 IOPS(초당 입력/출력 작업 수)가 높고 대기 시간이 짧은 사용 사례의 경우 고성능을 제공할 수 있습니다. |
(VM) 가속화된 네트워킹을 사용하도록 설정하는 것이 좋습니다. | VM에 대한 SR-IOV(단일 루트 I/O 가상화)를 사용하도록 설정하여 네트워킹 성능을 크게 향상시킵니다. |
(VM, 확장 집합) 주문형에 따라 확장 집합의 VM 인스턴스 수를 늘리거나 줄이도록 자동 크기 조정 규칙을 설정합니다 . | 애플리케이션 수요가 증가하면 확장 집합의 VM 인스턴스 부하가 증가합니다. 자동 크기 조정 규칙은 수요를 충족하기에 충분한 리소스가 있는지 확인합니다. |
Azure 정책
Azure는 Virtual Machines 및 해당 종속성과 관련된 광범위한 기본 제공 정책 집합을 제공합니다. 앞의 권장 사항 중 일부는 Azure Policy 통해 감사할 수 있습니다. 예를 들어 다음 여부를 검사 수 있습니다.
- 호스트에서 암호화를 사용할 수 있습니다.
- 맬웨어 방지 확장은 Windows Server를 실행하는 VM에서 자동 업데이트를 위해 배포되고 사용하도록 설정됩니다.
- 확장 집합에서 자동 OS 이미지 패치가 사용하도록 설정됩니다.
- 승인된 VM 확장만 설치됩니다.
- 모니터 에이전트 및 종속성 에이전트는 Azure 환경의 새 VM에서 사용하도록 설정됩니다.
- 비용 제약 조건에 따라 크기를 제한하기 위해 허용되는 VM SKU만 배포됩니다.
- 프라이빗 엔드포인트는 디스크 리소스에 액세스하는 데 사용됩니다.
- 취약성 검색이 사용됩니다. Windows 머신에 대한 특수 규칙이 있습니다. 예를 들어 매일 검사하도록 Windows Defender 예약할 수 있습니다.
포괄적인 거버넌스를 위해 컴퓨팅 계층의 보안에 영향을 줄 수 있는 Virtual Machines 및 기타 정책에 대한 Azure Policy 기본 제공 정의를 검토합니다.
Azure Advisor 권장 사항
Azure Advisor 는 Azure 배포를 최적화하기 위한 모범 사례를 따르는 데 도움이 되는 개인 설정된 클라우드 컨설턴트입니다. 다음은 Virtual Machines 안정성, 보안, 비용 효율성, 성능 및 운영 우수성을 개선하는 데 도움이 되는 몇 가지 권장 사항입니다.
다음 단계
다음 문서를 이 문서에서 강조 표시된 권장 사항을 보여 주는 리소스로 간주합니다.
- 다음 참조 아키텍처를 워크로드에 이 문서의 지침을 적용하는 방법의 예로 사용합니다.
- 단일 VM 아키텍처: Linux VM 및 Windows VM
- 인프라 권장 사항에 중점을 둔 기본 아키텍처: Virtual Machines 기준 아키텍처
- 다음 제품 설명서를 사용하여 구현 전문 지식을 구축합니다.