Microsoft AZ-305: 컴퓨팅 및 애플리케이션 아키텍처 — 학습 가이드
다음의 일부입니다: Microsoft Azure Solutions Architect Expert AZ-305 — 학습 가이드. 검증된 답안으로 연습하기: Microsoft 시험 허브, 또는 다음에서 시간 제한 모의고사 풀기: ExamRoll.io.
개요
Azure 컴퓨팅은 인프라, 플랫폼, 서버리스 실행 모델을 포괄합니다. 견고한 아키텍처는 가용성, 비용, 성능, 운영성, 보안의 균형을 맞추는 동시에 워크로드의 수명 주기 및 배포 토폴로지와도 일치해야 합니다. 가상 머신, 스케일 셋, App Service, Functions, 컨테이너 런타임, 오케스트레이션 플랫폼, 배치 스케줄링, Service Fabric, Azure VMware Solution의 기능과 장단점을 이해하면 워크로드에 적합한 정밀한 설계가 가능합니다.
Virtual Machines 및 Scale Sets
Azure 가상 머신은 범용(Dv5, Dasv5), 컴퓨팅 최적화(Fsv2), 메모리 최적화(Ev5, Ebdsv5), 스토리지 최적화(로컬 NVMe 포함 Lsv3), 고용량 메모리(Mv2), HPC(HBv3/HC), GPU(NCas, ND) 워크로드에 최적화된 크기 제품군을 제공합니다. CPU/메모리 비율, 임시 스토리지 요구 사항, 네트워크 처리량, 그리고 AMD vs Intel, 가속 네트워킹, 임시 OS 디스크와 같은 기능에 기반하여 크기를 선택합니다.
가용성 집합(Availability sets)은 단일 데이터센터 내에서 상호 연관된 장애를 줄이기 위해 VM을 장애 도메인(랙/전원)과 업데이트 도메인에 분산 배치합니다. 가용성 영역(Availability zones)은 한 지역 내의 물리적으로 분리된 데이터센터에 VM을 배치하여, 영역 간 지연 시간을 감수하는 대신 더 높은 SLA와 진정한 영역 중복성을 제공합니다. 근접 배치 그룹(Proximity placement groups)은 영역 또는 비영역 리소스를 함께 배치하여 긴밀하게 제한된 물리적 토폴로지 내에서 지연 시간을 최소화합니다. 이는 통신이 잦은 다중 계층 시스템(예: 앱 계층에서 데이터베이스로)에 유용합니다.
스팟 VM(Spot VMs)은 미사용 용량을 대폭 할인된 가격으로 사용하며, 가격 또는 용량 압박이 있을 경우 제거될 수 있습니다. 제거 정책(할당 취소 vs 삭제)과 최대 가격(Max Price)이 동작을 제어합니다. 스팟은 CI 빌드, 배치 처리, 대규모 테스트 집합과 같은 상태 비저장, 중단 가능한 워크로드에 이상적이며, 중요한 상태 저장 서비스에는 적합하지 않습니다.
Virtual Machine Scale Sets(VMSS)는 동일한 VM들을 통합된 수명 주기, 상태 프로브, 자동 인스턴스 복구, 영역 확장 기능으로 오케스트레이션합니다. 자동 스케일링은 Azure Monitor 규칙이나 일정을 사용하여 CPU, 메모리(사용자 지정 메트릭을 통해), 큐 깊이, 요청 수와 같은 메트릭에 반응합니다. 예측 자동 스케일링은 과거 패턴을 기반으로 사전 프로비저닝할 수 있습니다. 오케스트레이션 모드에는 Uniform(동종 인스턴스)과 Flexible(이기종, VM 제품군 및 우선순위 혼합 지원)이 있습니다. 롤링 업그레이드 및 자동 이미지 업그레이드는 상태 확인 및 업그레이드 도메인을 사용하여 드레이닝, 유효성 검사, 안전한 진행을 수행하며, 상태 저하 시 롤백합니다. VMSS는 스팟 용량을 용량 재조정 및 우선순위 지정과 통합하여 스케일 인/아웃 시 제거되기 쉬운 인스턴스를 먼저 처리하도록 합니다. 고가용성을 위해 VMSS를 가용성 영역과 결합하고, 낮은 지연 시간을 위해 PPG와 결합하며, 안전한 롤아웃을 위해 애플리케이션 상태 확장을 사용합니다.
웹, 서버리스 및 애플리케이션 플랫폼
Azure App Service는 Windows/Linux 코드 및 컨테이너를 위한 관리형 호스팅을 제공합니다. 플랜에 따라 컴퓨팅 격리 수준과 기능이 결정됩니다:
- Free/Shared: 개발/테스트용. Basic/Standard: 프로덕션 입문용. Premium v3: 향상된 성능, VNet 통합, 하이퍼스레드 격리, 배포 슬롯 제공. Isolated v2 (App Service Environment): 단일 테넌트, 네트워크 격리 호스팅. 배포 슬롯은 워밍업, 슬롯별 설정, 트래픽 증대, 무중단 교체 기능을 통해 블루-그린 및 카나리 배포를 가능하게 합니다. VNet 통합은 두 가지 차원을 제공합니다: 위임된 서브넷을 통한 아웃바운드 지역 통합(NAT Gateway 또는 사용자 지정 경로를 통해 라우팅)과 Private Endpoint를 사용한 인바운드 프라이빗 액세스(프라이빗 DNS와 통합하면서 퍼블릭 노출 비활성화). App Service 액세스 제한, 인증/권한 부여, 관리 ID는 경계 및 자격 증명 위험을 줄여줍니다. 스케일 업은 플랜 등급/크기를 변경하고, 스케일 아웃은 Azure Monitor에 연결된 자동 스케일링 규칙에 따라 인스턴스 수를 늘립니다.
Azure Functions는 이벤트 기반 컴퓨팅을 제공합니다. 호스팅 옵션은 다음과 같습니다:
- Consumption: 실행당 과금 방식으로 동적 스케일링 및 콜드 스타트(cold-start) 장단점이 있으며, 최대 실행 시간이 제한됩니다. Windows에서는 Premium을 사용하기 전까지 VNet 통합이 지원되지 않습니다. 폭주성 워크로드에 이상적입니다.
- Premium: 사전 준비된 인스턴스로 콜드 스타트를 제거하고, VNet 통합, 장기 실행, 예측 가능한 성능을 지원하여 엔터프라이즈 통합에 적합합니다.
- Dedicated (App Service Plan): 예약된 App Service 인스턴스에서 실행되어 안정적인 워크로드나 웹 앱과의 공동 호스팅에 사용됩니다. Durable Functions는 장기 실행되고 신뢰성 있는 워크플로를 위해 오케스트레이션, 활동, 엔터티를 도입하여 팬아웃/팬인, 사용자 상호 작용, 사가(sagas) 패턴을 영속적인 상태 및 재생 시맨틱으로 구현합니다. 바인딩과 트리거는 코드를 서비스와 분리합니다: HTTP, Timer, Service Bus, Event Hubs, Event Grid, Storage Queues/Blobs, Cosmos DB, 사용자 지정 바인딩. 동시성, 스케일링 동작, 체크포인팅은 플랜에 따라 다르므로 멱등성 및 백오프 정책을 고려하여 설계해야 합니다.
컨테이너 및 Kubernetes
Azure Container Instances (ACI)는 클러스터 관리 없이 빠른 서버리스 컨테이너를 제공합니다. 컨테이너 그룹은 네트워크 네임스페이스, IP, 스토리지 볼륨을 공유합니다. 사이드카 패턴(예: 애플리케이션 컨테이너 옆에 로깅 에이전트 배치)과 다중 컨테이너 설정을 사용하여 긴밀하게 결합된 프로세스를 함께 배치할 수 있습니다. 서브넷 위임을 통한 VNet 통합은 프라이빗 주소 공간, 이그레스(egress) 제어, 종속성을 위한 프라이빗 엔드포인트를 활성화합니다. 이를 통해 프라이빗 환경에서 버스트(burst) 또는 온디맨드 작업을 용이하게 수행할 수 있습니다. ACI는 복잡한 서비스 메시나 고급 스케줄링이 아닌, 수 초에서 수 분 내의 시작 시간이 필요한 임시 작업, CI/CD 단계, 스파이크성 워크로드에 이상적입니다.
Azure Kubernetes Service (AKS)는 선택적 가동 시간 SLA(Uptime SLA)와 함께 Kubernetes 컨트롤 플레인을 관리하며, 시스템 및 사용자 노드 풀을 제공합니다. 핵심 구성 요소에는 최소한의 테인트(tainted)된 시스템 노드 풀을 사용하고, 워크로드 유형(예: GPU, Spot, Windows)별로 별도의 사용자 풀을 사용하십시오. 내결함성이 있는 워크로드의 비용 절감을 위해, toleration 및 PodDisruptionBudgets와 함께 Spot 노드 풀을 통합하십시오. 클러스터 자동 크기 조정기(cluster autoscaler)는 스케줄링할 수 없는 파드(unschedulable pod)를 기반으로 풀의 노드 수를 조정합니다. 이를 Horizontal Pod Autoscaler(HPA)와 결합하고, 이벤트 기반 스케일링을 위해서는 KEDA와 함께 사용하십시오. Azure CNI는 VNet IP를 파드에 직접 할당하여 네트워크 정책, 서비스 검색, 라우팅 가능한 주소를 통한 온프레미스 통합을 용이하게 하지만 더 많은 IP를 소비합니다. Azure CNI Overlay는 CNI의 시맨틱을 유지하면서 VNet IP 소비를 줄입니다. Kubenet은 더 적은 VNet IP로 NAT를 사용하지만, SNAT의 복잡성이 추가되고 고급 네트워킹 기능이 제한됩니다. 엔터프라이즈 네트워킹 및 정책에는 CNI를, 주소 공간이 제한된 소규모 클러스터에는 kubenet을, CIDR 확산 없이 대규모 파드 밀도가 필요한 경우에는 Overlay를 선택하십시오. 노드 풀에 가용성 영역(availability zones)을 사용하고, 중단을 최소화하기 위해 서지 업그레이드(surge upgrades)를 사용하며, 보안 상태를 유지하기 위해 노드/이미지 업그레이드 채널을 활용하십시오.
Batch 및 Service Fabric
Azure Batch는 자체 스케줄러를 구축할 필요 없이 대규모 병렬 및 HPC 워크로드를 오케스트레이션합니다. 풀(Pool)은 컴퓨팅을 정의합니다: VM 크기(GPU/HPC 포함), 이미지(Marketplace, 사용자 지정 또는 Shared Image Gallery), 그리고 환경 부트스트래핑을 위한 시작 작업을 포함합니다. 애플리케이션 패키지는 바이너리를 버전 관리하며, 인증서와 관리 ID는 보안 비밀을 안전하게 통합합니다. 작업(Job)은 태스크(task)를 그룹화하며, 태스크는 종속성을 선언하고, 다중 인스턴스 조정을 사용하며, VM당 태스크 슬롯을 활용할 수 있습니다. 작업 스케줄은 반복적인 제출을 자동화합니다. 자동 크기 조정 수식은 내장 메트릭(예: $PendingTasks, $RunningTasks)과 목표 개수(targetDedicatedNodes, targetLowPriorityNodes)를 참조하며, 큐 깊이, 평균 런타임, 비용 제약 조건에 반응하는 로직을 포함합니다. 자동 풀(Autopool)은 깨끗한 환경을 위해 작업별 풀을 생성하며, 영구 풀(persistent pool)은 빈번한 실행을 위해 초기화 비용을 분할 상환합니다. 내결함성 로직과 체크포인팅을 사용하여 비용을 절감하기 위해 우선순위가 낮은(Spot) 노드를 혼합하십시오.
Azure Service Fabric은 강력한 상태 관리를 제공하는 마이크로서비스용 분산 시스템 플랫폼입니다. 상태 비저장(Stateless) 서비스는 수평적으로 확장되고 쉽게 복구되는 반면, 상태 저장(Stateful) 서비스는 Reliable Collections와 복제를 사용하여 디스크 내구성을 갖춘 낮은 지연 시간의 인메모리 상태 요구 사항을 충족합니다. 파티셔닝은 부하와 상태를 분산시키고, 복제본 세트(replica set)는 가용성을 유지합니다. 클러스터 안정성 계층(Bronze, Silver, Gold, Platinum)은 시드 노드와 쿼럼 요구 사항을 정의하여 장애 허용 범위와 업그레이드 동시성에 영향을 줍니다. 업그레이드 도메인은 장애 영향을 격리하여 클러스터 전체에 롤링 업그레이드를 오케스트레이션하며, 상태 정책과 자동 롤백은 안전성을 강화합니다. Service Fabric은 처리량이 높은 상태 저장 처리, 복잡한 워크플로 또는 강력한 일관성과 컴퓨팅과의 동일 위치 배치가 가장 중요한 시나리오에 적합합니다.
← 데이터 스토리지 및 데이터베이스 솔루션 · 모든 도메인 · 네트워킹 및 연결성 →
이 문제 연습하기 → · ExamRoll.io에서 시간 제한 연습 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
시험 합격하기 →