Microsoft AZ-104: Azure App Service 및 PaaS 컴퓨팅 — 학습 가이드
다음의 일부입니다: Microsoft Azure Administrator Associate AZ-104 — 학습 가이드. 검증된 답안으로 연습하기: Microsoft 시험 허브, 또는 다음에서 시간 제한 모의고사 풀기: ExamRoll.io.
개요
Azure의 PaaS 컴퓨팅 포트폴리오는 완전 관리형 웹/앱 호스팅, 서버리스 함수, 워크플로 자동화, 온디맨드 컨테이너, 오케스트레이션된 컨테이너를 결합합니다. 관리자로서 성공은 각 서비스의 경계, 네트워킹 및 인증 방식, 안정적인 배포 및 스케일링 방법을 이해하는 데 달려 있습니다. 이 섹션에서는 App Service(플랜, 배포 슬롯, 네트워킹, 기본 제공 인증), Azure Functions 및 Logic Apps(플랜, 트리거, 커넥터), Azure Container Instances 및 AKS(스케줄링, 스케일링, 운영 도구), 그리고 격리된 App Service Environment를 다룹니다.
App Service 및 Functions 컴퓨팅 기본 사항
App Service Plan은 전용 플랜에서 실행되는 Web Apps, API Apps, Function Apps를 위한 컴퓨팅 리소스 풀을 결정합니다. 각 계층은 고유한 기능과 스케일링 모델을 가집니다.
- 무료(F1) 및 공유(D1)는 할당량과 SLA가 없는 공유 인프라에서 실행됩니다. 실험용으로만 적합합니다. 배포 슬롯, VNet 통합, 자동 스케일링과 같은 기능은 사용할 수 없습니다.
- 기본(B)은 소규모로 전용 VM을 할당하며 수동 스케일 아웃을 지원합니다. 자동 스케일링과 배포 슬롯이 없습니다.
- 표준(S)은 자동 스케일링, 다중 인스턴스, 일일 백업, 배포 슬롯을 도입합니다. 스테이징이 필요한 프로덕션 워크로드를 위한 시작점입니다.
- 프리미엄(Pv2/Pv3)은 CPU/메모리, I/O 성능 및 기능 제한(더 많은 인스턴스, 더 많은 슬롯)을 높이고, Private Endpoint 통합 및 영역 중복성과 같은 고급 네트워킹 기능을 추가합니다.
- 격리/격리 v2는 엄격한 격리 및 규정 준수를 위해 가상 네트워크 내의 단일 테넌트, 전용 컴퓨팅을 갖춘 App Service Environment 내부에서 실행됩니다.
스케일링은 스케일 업(가격 책정 계층/VM 크기 변경)과 스케일 아웃(인스턴스 수 변경)으로 나뉩니다. 자동 스케일링은 표준(Standard) 등급 이상에서 필요하며 Azure Monitor 규칙(CPU, App Service 메트릭을 통한 메모리 또는 사용자 지정 메트릭)에 의해 구동됩니다. 스케일링 작업은 App Service Plan 단위로 수행되며 플랜 내의 모든 앱에 영향을 미칩니다.
배포 슬롯은 변경 사항을 스테이징하기 위해 동일한 플랜 내에 실행 중인 앱 인스턴스를 제공합니다. 슬롯은 표준(Standard) 등급 이상에 존재하며, 표준은 더 적은 수를, 프리미엄/격리는 더 많은 수를 지원합니다. 교환(Swap)은 슬롯 설정을 유지하면서(슬롯에 유지되는 고정 앱 설정 및 연결 문자열) 슬롯 콘텐츠와 구성을 교환하여 무중단 승격을 오케스트레이션합니다. 미리 보기를 사용한 교환은 대상 슬롯을 준비(warm-up)하고 완료 전에 상태를 평가합니다. 프로덕션 환경에서 테스트는 프로덕션 트래픽의 일정 비율을 하나 이상의 슬롯으로 라우팅합니다. 라우팅은 테스트 램프 기간 동안 세션 선호도를 유지하기 위해 클라이언트별로 고정됩니다.
App Service 네트워킹은 제어된 아웃바운드 및 인바운드 연결을 제공합니다:
- 지역 VNet 통합은 아웃바운드 트래픽을 동일한 지역의 가상 네트워크에 있는 위임된 서브넷으로 라우팅합니다. 이를 통해 프라이빗 엔드포인트, VPN/ExpressRoute를 통한 온프레미스, 서비스 엔드포인트로의 이그레스(egress)가 가능해집니다. 공용 인바운드 동작은 변경하지 않습니다.
- Private Endpoint는 앱의 프런트엔드를 프라이빗 IP에 매핑하여 VNet 내부에 앱을 비공개로 게시합니다. ASE 외부에서 프라이빗 전용 인그레스(ingress)를 강제하려면 액세스 제한과 결합하여 사용합니다.
- 하이브리드 연결은 인바운드 방화벽 변경 없이 Azure Relay를 통해 앱에서 온프레미스 또는 다른 네트워크의 특정 호스트:포트 엔드포인트로 아웃바운드 TCP 연결을 제공합니다. 이는 범용 VNet 터널이 아니며 UDP를 지원하지 않습니다.
- 액세스 제한은 클라이언트 IP, 서비스 태그, 가상 네트워크 트래픽(Private Endpoints 또는 다중 테넌트 VNet 규칙을 통해)에 대한 순서가 지정된 허용/거부 규칙을 평가합니다. 규정 준수를 위해 특정 범위, VNet 또는 프런트엔드로 잠글 수 있습니다.
기본 제공 인증/권한 부여(‘Easy Auth’)는 호스팅된 인증 핸들러로 앱의 프런트엔드 역할을 하여 코드 변경 없이 토큰 유효성 검사 부담을 덜어줍니다. 지원되는 공급자에는 Microsoft Entra ID(Azure AD), Microsoft Account, Google, Facebook, Twitter 및 일반 OpenID Connect가 포함됩니다. 모든 요청에 대해 로그인을 강제하거나 앱으로 통과(pass-through)시키고, 허용된 대상(audience)을 설정하고, 특정 테넌트로 제한할 수 있습니다. 선택적 토큰 저장소는 공급자 토큰을 캐시하고 /.auth/me 엔드포인트 및 요청 헤더를 통해 클레임(claim)을 노출합니다. 시스템 할당 관리 ID와 결합하여 다운스트림 Azure 서비스를 안전하게 호출할 수 있습니다.
Azure Functions는 세 가지 호스팅 모델에 걸쳐 이벤트 기반 컴퓨팅을 제공합니다:
- 소비 플랜은 실행당, GB-초당 과금 방식의 서버리스 모델이며, 자동 스케일 아웃 및 0으로 스케일링을 지원합니다. 콜드 스타트가 있으며, 과거에는 일부 트리거에 대해 VNet 통합을 지원하지 않았습니다. 최신 기능은 더 광범위하지만 네트워크에 민감한 워크로드는 지원 여부를 확인해야 합니다.
- 프리미엄 플랜은 미리 준비된(pre-warmed) 인스턴스로 콜드 스타트를 제거하고, VNet 통합 및 Private Endpoints를 지원하며, 최소/최대 인스턴스 제어를 통해 이벤트를 기반으로 스케일링됩니다.
- 전용 플랜(App Service Plan)은 App Service Plan 용량에서 Functions를 실행합니다. 비용은 사용량과 관계없이 예약된 인스턴스에 대해 부과되며, 플랜 수준에서 자동 스케일링을 선택적으로 사용할 수 있습니다. Functions 트리거에는 HTTP, 타이머, Storage(Queue/Blob/Table), Service Bus, Event Hubs, Event Grid, Cosmos DB 등이 포함되며, 입력/출력 바인딩을 통해 서비스를 선언적으로 연결할 수 있습니다. Durable Functions는 오케스트레이터 및 액티비티 함수를 사용하는 코드 우선 모델에서 상태 저장 오케스트레이션을 추가하여 팬아웃/팬인, 비동기 HTTP, 사용자 상호 작용, 사가(saga)와 같은 패턴을 가능하게 합니다. 상태는 스토리지 공급자(Azure Storage가 일반적)에 유지되어 복원력 있고 재실행 가능한 워크플로를 보장합니다.
비용 및 스케일링 동작은 App Service Plan 모델과 소비 모델 간에 실질적으로 다릅니다. App Service Plan은 상시 실행 인스턴스의 크기와 수에 대해 요금을 부과하고 플랜 규칙에 따라 스케일링됩니다. Functions 소비 모델은 자동 동시성 기반 스케일링 및 0으로 스케일링 기능과 함께 실행 시간과 메모리에 대해서만 요금을 부과합니다. 프리미엄은 이 둘 사이에 위치하며, 예약된 웜(warm) 용량과 버스트 스케일링을 결합합니다.
배포 및 확장 운영
App Service에 안정적으로 릴리스하려면 배포 슬롯을 사용하여 교환(swap) 전에 상태를 검증하고 캐시를 준비(warm-up)합니다. 환경마다 다른 구성(예: 연결 문자열, 기능 플래그)은 “슬롯 설정"으로 표시하여 교환 중에 이동되지 않도록 합니다. 미리 보기로 교환(swap with preview)을 사용하여 상태 프로브(health probe) 또는 애플리케이션별 준비 엔드포인트를 실행하고, 비정상 상태이면 교환을 중단합니다. 카나리(canary) 배포 중에는 트래픽 라우팅을 활성화하여 적은 비율의 고정(sticky) 트래픽을 스테이징 슬롯으로 보낸 후 점진적으로 늘립니다. 슬롯별 앱 설정을 사용하면 베타 기능을 안전하게 토글할 수 있습니다.
App Service Plan의 자동 크기 조정은 플랜 리소스에서 프로필(시간 기반 최소/최대/기본값)과 규칙(크기 조정 단계 및 재사용 대기시간을 포함한 메트릭 임계값)을 사용하여 구성됩니다. 더 정확한 확장을 위해 CPU와 사용자 지정 메트릭(예: 큐 길이)을 결합하세요. Functions의 경우, 소비(Consumption) 요금제는 자동으로 확장됩니다. 동시성을 모니터링하고 host.json을 구성하여 트리거별 동작(예: Service Bus의 배치 크기 및 프리페치)을 설정하세요. 프리미엄(Premium) 요금제는 미리 준비된(pre-warmed) 인스턴스와 버스트(burst) 인스턴스를 확장합니다. 최소 인스턴스 수를 지연 시간 목표에 맞게 조정하세요.
컨테이너에서 ACI 다시 시작 정책은 의도를 반영해야 합니다. 배치 작업에는 Never 또는 OnFailure를 사용하여 무한 루프를 방지하고, 서비스에는 Always를 사용합니다. 구성에는 환경 변수를, 비밀 정보에는 Azure Key Vault를 사용하며, 관리 ID(Managed Identity)와 시작 코드를 통해 주입하거나 적절한 경우 비밀 정보를 볼륨으로 탑재하여 사용합니다. AKS에서는 노드 풀별로 합리적인 최소/최대 경계를 설정하여 클러스터 자동 크기 조정기(cluster autoscaler)를 활성화하고, 중요한 배포(Deployment)에는 HPA를 구성합니다. 헤드룸(headroom)을 확보하고 Pod 중단 예산(Pod Disruption Budget)을 설정하여 업그레이드 및 스케일인(scale-in) 중 가용성을 보호합니다. 클러스터 또는 풀 업그레이드를 광범위하게 롤아웃하기 전에 카나리 노드 풀에서 업그레이드를 검증하세요.
실제 문제 시나리오
Fabrikam, Inc.는 고객 포털과 백그라운드 처리 서비스를 운영합니다. 이들은 PaaS로 현대화하고, 데이터 저장소에 대한 프라이빗 네트워크 액세스를 강제하며, 블루-그린 배포를 지원하고, VM 관리 없이 야간 컨테이너화된 ETL을 실행해야 합니다.
- App Service Premium에서 배포 슬롯을 사용하여 포털 호스팅
- 더 높은 성능과 더 많은 슬롯을 위해 Premium v3의 App Service Plan을 생성하고, 스테이징 슬롯이 있는 Web App을 배포합니다.
- 환경별 값에 대한 슬롯 설정을 구성하고, 미리 보기로 교환(swap with preview) 및 상태 검사를 활성화합니다.
- 이유: Premium은 자동 크기 조정, 더 많은 슬롯, Private Endpoint 지원 및 프로덕션 트래픽에 적합한 SLA를 제공합니다. 슬롯은 안전한 블루-그린 릴리스와 카나리 라우팅을 제공합니다.
- 프라이빗 인그레스(ingress) 및 제어된 이그레스(egress) 강제
- Web App에 Private Endpoint를 활성화하고 공용 네트워크를 거부하도록 액세스 제한을 설정합니다.
- ExpressRoute를 통해 프라이빗 데이터 저장소 및 온프레미스로의 아웃바운드 액세스를 위해 위임된 서브넷에 지역 VNet 통합을 구성합니다.
- 이유: Private Endpoint와 액세스 제한은 프라이빗 전용 액세스를 보장합니다. VNet 통합은 일관된 방화벽 정책을 위해 VNet 경계를 통해 이그레스(egress)를 라우팅합니다.
- Azure Functions Premium으로 백그라운드 처리 구현
- 시스템 할당 관리 ID를 사용하여 Premium 요금제에 Function App을 배포하고, 큐 기반 워크로드를 위해 Service Bus 및 Storage 트리거를 사용합니다.
- 콜드 스타트(cold start)를 제거하고 동일한 VNet과 통합하기 위해 최소 미리 준비된(pre-warmed) 인스턴스를 설정합니다.
- 이유: Premium Functions는 버스트(bursty) 워크로드에 대한 서버리스 스케일링을 유지하면서 낮은 지연 시간 및 VNet 요구 사항을 충족합니다.
- Logic Apps Standard로 서비스 간 워크플로 오케스트레이션
- 고객 온보딩을 조정하는 워크플로를 구축합니다: Service Bus 메시지에서 트리거하고, Function App을 호출하며, Storage에 쓰고, Microsoft 365 커넥터를 통해 알립니다.
- Key Vault 및 Storage 액세스를 위해 관리 ID를 사용하고, VNet 통합 및 프라이빗 엔드포인트를 활용하기 위해 동일한 App Service Plan에 배포합니다.
- 이유: Logic Apps는 복원력 있는 시각적 오케스트레이션과 네이티브 커넥터를 제공합니다. Standard는 VNet 통합과 단일 테넌트 성능을 제공합니다.
- Azure Container Instances에서 야간 ETL 실행
- ETL 컨테이너가 포함된 컨테이너 그룹을 정의하고, 중간 데이터를 위해 Azure Files 공유를 탑재하며, 보안 환경 변수를 설정하고,
restartPolicy: Never를 사용합니다. - 데이터베이스에 대한 프라이빗 액세스를 위해 그룹을 VNet 위임 서브넷에 연결합니다.
- 이유: ACI는 클러스터 오버헤드 없이 초당 과금 방식의 작업 지향 컴퓨팅을 제공하며, 데이터 지역성 및 보안을 위해 VNet과 통합됩니다.
- AKS로 컨테이너화된 마이크로서비스 준비
- 작은 Linux 시스템 노드 풀과 예상 부하에 맞게 크기가 조정된 사용자 노드 풀로 AKS 클러스터를 생성하고, 클러스터 자동 크기 조정기(최소/최대 경계)를 활성화하며, 포드 수준 IP를 위해 Entra ID 및 Azure CNI와 통합합니다.
kubectl을 사용하여 카나리 마이크로서비스를 배포하고 CPU 및 사용자 지정 메트릭을 기반으로 HPA를 설정합니다.- 이유: AKS는 서비스가 많아질 때 엔터프라이즈급 오케스트레이션을 제공합니다. 자동 크기 조정기와 HPA는 용량을 수요에 맞추고,
kubectl은 표준 운영 제어를 제공합니다.
← Azure 스토리지 · 모든 도메인 · Azure 데이터베이스 및 데이터 서비스 →
이 문제 연습하기 → · 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.
시험 합격하기 →