Azure Linux VM 실행

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

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

아키텍처

Azure의 Linux VM을 보여주는 다이어그램입니다.

이 아키텍처의 Visio 파일을 다운로드하십시오

워크플로

이 예제에서는 필요한 구성 요소가 있는 단일 가상 머신을 사용하는 기본 배포를 보여 줍니다. 가상 머신은 워크로드를 실행하고, 관리할 수 있으며, 공용 인터넷과 통신할 수 있습니다. 외부 위협에 직접 노출되지 않도록 설계되었습니다.

  • 가상 머신에서 실행되는 모든 워크로드는 외부에서 노출되지 않으며 허브 및 스포크 구성과 같은 동일한 가상 네트워크 또는 피어된 가상 네트워크 내에서만 액세스할 수 있습니다.
  • 가상 머신에 대한 관리 액세스는 SSH(Secure Shell)를 통해 Azure Bastion 사용하여 표시되며 공용 인터넷에서 직접 허용되지 않습니다.
  • 아웃바운드 외부 인터넷 액세스는 NAT(네트워크 주소 변환) 게이트웨이 및 연결된 공용 IP 주소를 사용하여 제공됩니다.

구성 요소

리소스 그룹

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

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

가상 머신

게시된 이미지 목록 또는 Azure Blob Storage에 업로드된 사용자 지정 관리형 이미지 또는 VHD(가상 하드 디스크) 파일에서 VM을 프로비전할 수 있습니다. Azure Debian, RHEL(Red Hat Enterprise Linux) 및 Ubuntu를 비롯한 다양한 인기 Linux 배포판 실행을 지원합니다. 자세한 내용은 Azure 및 Linux 참조하세요.

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

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

az vm list-sizes --location <location>

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

디스크

최상의 디스크 I/O 성능을 위해 SSD(반도체 드라이브)에 데이터를 저장하는 프리미엄 SSD를 사용하는 것이 좋습니다. 비용은 프로비전된 디스크 용량을 기준으로 산정됩니다. IOPS 및 처리량(즉, 데이터 전송 속도)도 디스크 크기에 따라 달라지므로 디스크를 프로비전할 때 세 가지 요소(용량, IOPS, 처리량)를 모두 고려합니다. 프리미엄 SSD는 워크로드 패턴에 대한 이해와 함께 IaaS 인프라에 대한 효과적인 SKU 선택 및 비용 최적화 전략을 제공하는 무료 버스팅 기능을 제공합니다. 이렇게 하면 과도한 과도한 프로비전 없이 고성능을 구현하고 사용되지 않는 용량의 비용을 최소화할 수 있습니다.

참고

현재 프리미엄 SSD v2 및 Ultra 디스크는 데이터 디스크에만 사용할 수 있습니다. OS 디스크에는 지원되지 않습니다.

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

기본적으로 OS 디스크는 Azure Disk Storage 저장된 관리 디스크이므로 호스트 컴퓨터가 다운된 경우에도 유지됩니다. 빠른 프로비전이 필요하고 OS 지속성이 없는 상태 비저장 워크로드의 경우 임시 OS 디스크를 사용하는 것이 좋습니다. 이러한 디스크는 원격 Azure Storage 대신 VM 호스트의 로컬 스토리지에 OS 이미지를 배치하여 읽기 대기 시간을 낮추고 이미지 이미지의 속도를 높이고 관리 디스크 비용을 제거합니다. 그러나 임시 OS 디스크의 모든 데이터는 중지(할당 취소), 이미지 다시 설치 또는 호스트 유지 관리 복구 이벤트에서 손실됩니다. 임시 OS 디스크는 스냅샷 또는 Azure Backup 지원하지 않습니다. VM을 자동화에서 완전히 다시 배포할 수 있는 경우에만 임시 OS 디스크를 사용합니다.

대부분의 Linux 이미지는 기본적으로 스왑 공간을 구성하지 않습니다. 워크로드에 스왑이 필요한 경우 OS 디스크 또는 데이터 디스크가 아닌 cloud-init 를 사용하여 임시 디스크에 만듭니다.

애플리케이션 데이터에 대해 하나 이상의 데이터 디스크를 만드는 것이 좋습니다. 데이터 디스크는 Azure Storage 의해 지원되는 영구 관리 디스크입니다.

디스크를 만들 때 형식이 지정되지 않습니다. VM에 로그인하여 디스크의 형식을 지정합니다. Linux 셸에서 데이터 디스크는 /dev/sdc, /dev/sdd와 같은 문자를 사용하여 시리즈의 이후 문자로 표시됩니다. lsblk를 실행하여 디스크를 포함하는 블록 디바이스를 나열할 수 있습니다. 데이터 디스크를 사용하려면 파티션 및 파일 시스템을 만들고 디스크를 탑재합니다. 다음은 그 예입니다.

# Create a partition.

sudo fdisk /dev/sdc     # Enter 'n' to partition, 'w' to write the change.

# Create a file system.

sudo mkfs -t ext3 /dev/sdc1

# Mount the drive.

sudo mkdir /data1
sudo mount /dev/sdc1 /data1

데이터 디스크를 추가하면 디스크에 LUN(논리 단위 번호) ID가 할당됩니다. 예를 들어, 디스크를 교체하고 동일한 LUN ID를 유지하거나 특정 LUN ID를 검색하는 애플리케이션이 있는 경우 필요에 따라 LUN ID를 지정할 수 있습니다. 그렇지만 LUN ID는 디스크마다 고유해야 합니다.

Premium Storage 디스크를 사용할 때 SSD의 성능을 최적화하도록 I/O 스케줄러를 변경할 수 있습니다. 일반적인 권장 사항은 SSD에 NOOP(No Operation) 스케줄러를 사용하는 것이지만 iostat 와 같은 도구를 사용하여 워크로드에 대한 디스크 I/O 성능을 모니터링해야 합니다.

많은 VM은 호스트 컴퓨터의 실제 드라이브에 저장되는 임시 디스크를 사용하여 만들어집니다. Azure Storage에 저장되지 않으며, 다시 부팅 및 기타 VM 수명 주기 이벤트 중에 삭제될 수 있습니다. 페이지 또는 스왑 파일과 같은 임시 데이터에 대해서만 이 디스크를 사용합니다. Linux VM의 경우 임시 디스크는 /dev/disk/azure/resource-part1이며 /mnt/resource 또는 /mnt에 탑재됩니다.

네트워크

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

  • 가상 네트워크. 모든 VM은 서브넷으로 분할되는 가상 네트워크에 배포됩니다.

  • NIC(네트워크 인터페이스). NIC를 사용하면 VM이 virtual network 통신할 수 있습니다. VM에 여러 NIC가 필요한 경우 각 VM 크기에 대해 최대 NIC 수가 정의됩니다.

  • 공용 IP 주소. 공용 IP 주소 may SSH를 통해 Azure 외부에서 VM과 통신하는 데 사용됩니다. 그러나 이는 잠재적인 보안 위험이므로 권장되지 않습니다.

    Warning

    공용 IP 주소를 직접 연결하는 것은 잠재적인 보안 위험을 나타냅니다. 극단적인 상황에서 수행되어야 하며 네트워크 보안 그룹을 사용하여 트래픽 필터링과 같은 다른 보안 방법과 함께 수행되어야 합니다.

    가상 머신에 대한 관리 액세스의 경우 VPN 또는 Azure ExpressRoute 통해 연결된 경우 Azure Bastion 사용하거나 내부적으로 사용하는 것이 좋습니다.

    • 이 공용 IP 주소는 동적 또는 정적일 수 있습니다. 기본값은 동적입니다. 변경되지 않는 고정 IP 주소가 필요한 경우(예: DNS 'A' 레코드를 만들거나 안전한 목록에 IP 주소를 추가해야 하는 경우) 고정 IP 주소를 예약합니다.
    • IP 주소의 FQDN(정규화된 도메인 이름)을 만들 수도 있습니다. 그런 후 FQDN을 가리키는 DNS에 CNAME 레코드를 등록할 수 있습니다. 자세한 내용은 Azure 포털에서 정규화된 도메인 이름 만들기 참조하세요.
  • NSG(네트워크 보안 그룹) . 네트워크 보안 그룹은 VM 및/또는 서브넷에 대한 네트워크 트래픽을 허용하거나 거부하는 데 사용됩니다. 서브넷 또는 VM에 연결된 개별 NIC와 연결할 수 있습니다.

    • 모든 NSG에는 모든 인바운드 인터넷 트래픽을 차단하는 규칙을 포함하여 디폴트 규칙 집합이 포함되어 있습니다. 기본 규칙은 삭제할 수 없으나 다른 규칙으로 재정의할 수 있습니다. 예를 들어 인터넷 트래픽을 사용하도록 설정하려면 HTTPS용 포트 443과 같은 특정 포트에 대한 인바운드 트래픽을 허용하는 규칙을 만듭니다.
  • Azure NAT(네트워크 주소 변환) Gateway. NAT(Network Address Translation) 게이트웨이를 사용하면 프라이빗 서브넷의 모든 인스턴스가 완전히 비공개로 유지되는 동안 인터넷에 아웃바운드로 연결할 수 있습니다. 아웃바운드 연결에 대한 응답 패킷으로 도착하는 패킷만 NAT 게이트웨이를 통과할 수 있습니다. 인터넷에서 원치 않는 인바운드 연결은 허용되지 않습니다.

    참고

    기본 보안을 개선하기 위해 암시적 아웃바운드 인터넷 액세스는 모든 새 가상 네트워크에 대해 더 이상 사용되지 않습니다. NAT 게이트웨이, Azure 표준 Load Balancer 또는 방화벽과 같은 다른 리소스를 사용하여 아웃바운드 인터넷 연결을 명시적으로 구성해야 합니다. 자세한 내용은 Azure의 기본 아웃바운드 액세스를 참조하세요.

  • Azure Bastion.Azure Bastion 개인 IP 주소를 통해 VM에 대한 보안 액세스를 제공하는 완전히 관리되는 서비스 솔루션입니다. 이 구성을 사용하면 VM에 인터넷에 노출되는 공용 IP 주소가 필요하지 않으므로 보안 태세가 향상됩니다. Azure Bastion Azure 포털 또는 네이티브 SSH 또는 RDP 클라이언트를 비롯한 다양한 방법을 통해 TLS(전송 계층 보안)를 통해 직접 VM에 대한 보안 REMOTE DESKTOP 프로토콜(RDP) 또는 SSH 연결을 제공합니다.

운영

SSH입니다. Linux VM을 만들기 전에 2048비트 RSA퍼블릭-프라이빗 키 쌍을 생성합니다. VM을 만들 때 공개 키 파일을 사용합니다. 자세한 내용은 Azure 참조하세요.

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

가용성. VM은 계획 유지 관리 또는 계획되지 않은 가동 중지 시간 영향을 받을 수 있습니다. VM 재부팅 로그를 사용하여 VM 재부팅이 계획된 유지 관리로 인해 발생했는지 여부를 확인할 수 있습니다. 고가용성을 위해 지역 내 의 가용성 영역에 여러 VM을 배포합니다. 이렇게 하면 더 높은 SLA(서비스 수준 계약)가 제공됩니다. 가용성 영역이 지원되지 않는 경우 가용성 집합 은 호스트 오류 또는 호스트 업데이트에 대한 보호를 제공하는 데 도움이 될 수 있습니다. 그러나 가용성 영역은 가능한 경우 권장되는 옵션입니다.

백업. 실수로 인한 데이터 손실을 방지하려면 Azure Backup 서비스를 사용하여 VM을 스토리지에 백업합니다. 지역에 따라 백업에 지역 중복 또는 영역 중복 스토리지를 사용할 수 있습니다. Azure Backup 애플리케이션 일치 백업을 제공합니다. 기존 백업 에이전트를 지원하지 않는 성능에 민감한 워크로드 또는 특수 Linux 배포의 경우 애플리케이션 성능에 영향을 주지 않고 자동화된 백업 보호를 가능하게 하는 에이전트 없는 다중 디스크 크래시 일관성 백업 기능을 사용합니다.

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

VM 삭제. VM을 삭제하는 경우 디스크를 삭제하거나 유지하는 옵션이 있습니다. 즉, 데이터 손실 없이 안전하게 VM을 삭제할 수 있습니다. 그러나 디스크에 대한 요금은 계속 청구됩니다. 다른 Azure 리소스와 마찬가지로 관리 디스크를 삭제할 수 있습니다. 실수로 삭제하지 않도록 하려면 리소스 잠금을 사용하여 전체 리소스 그룹을 잠그거나 VM과 같은 개별 리소스를 잠급니다.

Alternatives

  • 가상 머신 확장 집합 - 비즈니스 작업에 중요한 워크로드는 단일 가상 머신에 의존해서는 안 됩니다. 확장 집합은 노드 간에 워크로드를 분산할 수 있는 기능을 제공하며, 트래픽이 많을 때는 스케일 아웃하고, 트래픽이 적을 때는 스케일 인하여 비용을 최소화할 수 있습니다.

  • Azure Load Balancer 여러 가상 머신 또는 가상 머신 확장 집합 간에 부하 분산을 제공하는 데 유용합니다. 또한 아웃바운드 액세스를 지원하면서 인터넷에서 워크로드에 대한 액세스를 허용하기 위해 NAT 게이트웨이 대신 사용할 수 있습니다.

  • Application Gateway는 Azure 지역 내의 HTTP/HTTPS 워크로드에 대한 Azure Load Balancer 부하 분산 기능을 제공합니다.

  • 엔터프라이즈 수준의 배포를 위해서는 Azure 랜딩 존의 Azure Virtual Machines 기본 아키텍처를 참조하세요.

시나리오 세부 정보

위의 다이어그램에서 이 시나리오는 내부 전용 사용자에게 유용한 중요하지 않은 워크로드를 제공하는 데 유용합니다.

잠재적인 사용 사례

단일 VM 배포를 사용하여 인터넷에 노출될 필요가 없으며 일부 가동 중지 시간을 견딜 수 있는 간단한 애플리케이션을 호스트할 수 있습니다. 예를 들어 기본 내부 보고 애플리케이션일 수 있습니다.

고려 사항

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

Reliability

안정성은 애플리케이션이 고객에 대한 약속을 충족할 수 있도록 합니다. 자세한 내용은 안정성을 위한 디자인 리뷰 체크리스트를 확인하세요.

이 아키텍처는 단일 가상 머신을 사용하는 간단한 예일 뿐이므로 최소한의 안정성을 가집니다. 가상 머신 자체 또는 실행 중인 호스트와 관련된 모든 문제로 인해 중단이 발생하여 호스트된 워크로드를 사용할 수 없게 됩니다. 더 높은 가용성이 필요한 모든 워크로드의 경우 동일한 워크로드를 포함하는 여러 가상 머신을 배포해야 하며, 이러한 인스턴스는 적절한 부하 분산 솔루션 뒤에 있어야 합니다. 동일한 지역 내에 있는 경우 해당 VM은 가용성 영역(지원되는 경우)에 배포되고 워크로드가 HTTP/HTTPS 기반인 경우 Azure 표준 Load Balancer 또는 Application Gateway의 백 엔드에 추가되어야 합니다. 이렇게 하면 백 엔드의 단일 가상 머신이 다운된 경우에도 워크로드를 계속 사용할 수 있습니다.

가상 머신 확장 집합 은 CPU 및/또는 메모리 사용량과 같은 여러 메트릭에 따라 인스턴스 수를 자동으로 스케일 아웃하는 기능이 필요한 다중 노드 워크로드 관리를 간소화하는 또 다른 옵션입니다.

HA/DR(고가용성/재해 복구)

축소된 "폭발 반경"의 경우 워크로드를 여러 지역에 배포하고 Azure 랜딩 존 지침을 활용해야 합니다. 이는 Active-Passive 구성으로, 주 지역을 사용할 수 없을 때 보조 지역으로 장애 조치(Failover)를 수행하거나, 두 지역이 동시에 소비자에게 트래픽을 제공하는 Active-Active 아키텍처로 설정될 수 있습니다. 예를 들어 아래의 다음 단계에서HA/DR용으로 빌드된 다중 계층 웹 애플리케이션을 참조하세요.

이 문서의 예제에서는 Azure Site Recovery 사용하여 개별 가상 머신의 디스크를 보조 지역에 복제합니다. 여기서 Site Recovery 사용하여 RPO(복구 지점 목표)/RTO(복구 시간 목표)가 낮은 보조 지역으로 해당 가상 머신을 장애 조치(failover)할 수 있습니다.

가상 머신뿐만 아니라 모든 구성 요소에서 HA/DR 요구 사항을 충족하도록 아키텍처를 평가해야 합니다. 이러한 모든 결정에는 네트워킹, ID 및 데이터와 같은 고려 사항이 포함됩니다.

보안

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

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

패치 관리. 이 기능이 설정된 경우 클라우드용 Defender는 보안 및 중요 업데이트 누락 여부를 확인합니다.

맬웨어 방지. 사용하도록 설정된 경우 클라우드용 Defender 맬웨어 방지 소프트웨어가 설치되어 있는지 확인합니다. 클라우드용 Defender 사용하여 Azure 포털 내에서 맬웨어 방지 소프트웨어를 설치할 수도 있습니다.

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

참고

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

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

데이터 암호화. 호스트에서 암호화를 사용하도록 설정하여 임시 디스크 및 디스크 캐시를 비롯한 VM 데이터에 대한 엔드투엔드 암호화를 수행합니다. 호스트의 암호화는 VM 호스트 인프라에서 암호화를 처리하며 게스트 기반 암호화와 달리 VM CPU 리소스를 소비하지 않습니다. 영구 OS 및 데이터 디스크에 대한 Azure Key Vault customer 관리형 키를 사용할 수 있습니다. 임시 디스크 및 삭제 OS 디스크는 플랫폼 관리형 키로 암호화됩니다. VM을 프로비전하기 전에 선택한 VM 크기가 호스트 암호화를 지원하는지 확인합니다.

비용 최적화

비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 개선하는 방법을 모색하는 것입니다. 자세한 내용은 비용 최적화를 위한 디자인 검토 체크리스트 참조하세요.

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

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

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

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

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

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

운영 우수성

운영 우수성은 애플리케이션을 배포하고 프로덕션 환경에서 계속 실행하는 운영 프로세스를 다룹니다. 자세한 내용은 운영 우수성 설계 검토 체크리스트를 참조하세요.

IaC(Infrastructure-as-Code) 템플릿을 사용하여 Azure 리소스 및 해당 종속성을 프로비전합니다. 기본 설정 및 설정된 도구 선택에 따라 Bicep, Azure Resource Manager 템플릿(ARM 템플릿) 또는 Terraform 사용하여 작성할 수 있습니다. 이러한 템플릿은 리소스 배포 및 구성을 위한 자동화된 배포 방법론의 일부로 CI/CD(연속 통합/지속적인 배포) 프로세스를 허용합니다. 이 방법을 사용하면 아키텍처의 버전 관리가 가능하고 환경 간의 일관성을 보장할 뿐만 아니라 재현성, 보안 및 규정 준수를 적용할 수 있습니다.

문제를 모니터링하고 진단하는 데 도움이 되도록 리소스에서 진단 로그를 사용하도록 설정하고 Azure Monitor에서 리소스를 분석하고 최적화하는 데 도움이 되도록 합니다. 이러한 로그를 사용하여 중요한 이벤트에 대한 경고 및 알림을 구현할 수 있으며, 경우에 따라 ITSM(IT Service Management) 시스템에서 티켓을 자동으로 수정하거나 로깅할 수 있습니다.

성능 효율성

성능 효율성은 속도, 응답성 및 확장성을 위해 클라우드 워크로드를 최적화하는 데 중점을 둡니다. 자세한 내용은 성능 효율성에 대한 디자인 검토 검사 목록을 참조하세요.

몇 가지 주요 목표에는 대기 시간 최소화, 확장 가능한 아키텍처 보장, 리소스 사용률 최적화, 시스템 성능 지속적으로 향상 등이 있습니다.

위에서 설명한 것처럼 워크로드 아키텍처, VM SKU 및 디스크 구성에 대한 결정은 워크로드의 성능에 큰 영향을 미칠 수 있습니다. 올바른 선택을 하면 나중에 솔루션을 다시 설계할 필요가 없어 유연성을 추가하고 비용을 절감할 수 있습니다.

아키텍처를 개발할 때 다음 사항을 고려해야 합니다.

  • 워크로드에 동적 부하가 있는 경우 가상 머신 확장 집합을 사용합니다. 예를 들어 트래픽이 많은 시간에 규모 확장한 다음 트래픽이 감소하면 다시 축소합니다. 이렇게 하면 비용을 계속 제어하면서 적절한 처리 능력을 보장할 수 있습니다.
  • 처리 중에 필요한 IOPS를 충족하도록 적절한 VM 및 디스크 SKU를 선택합니다. 캐싱을 구성하여 성능을 더욱 향상시킵니다.
  • 워크로드가 비정상적으로 대기 시간에 중요한 경우 PPPG(근접 배치 그룹) 를 사용하여 여러 VM이 물리적으로 서로 가까이 배치되어 성능을 향상합니다. 또한 PPPG를 가용성 집합과 함께 사용하여 단일 물리적 데이터 센터 내에서 짧은 대기 시간과 고가용성을 결합할 수 있습니다.
  • 가능한 경우 가속화된 네트워킹을 사용하도록 설정하여 구성 요소 간의 대기 시간을 최소화합니다.
  • 불필요한 홉을 최소화하도록 네트워크 아키텍처를 설계합니다.
  • Azure Monitor, VM Insights 및 기타 도구를 사용하여 지속적으로 메트릭을 분석하고 업데이트된 성능 기준을 만듭니다. 성능 정보를 사용하여 변경 내용을 구현할 위치를 확인한 다음 해당 기준에 대해 테스트합니다.

Contributors

Microsoft에서 이 문서를 유지 관리합니다. 그것은 원래 다음 기여자에 의해 작성되었습니다.

대표 저자:

다음 단계

  • Azure