AZ-104 공식 출제 범위의 "Azure App Service 만들기 및 구성"에는 여덟 개 항목이 있습니다. App Service 플랜 프로비전, 플랜 크기 조정, 앱 만들기, 인증서와 TLS 구성, 기존 사용자 지정 DNS 이름 매핑, 백업 구성, 네트워킹 설정, 배포 슬롯입니다. 이 중 플랜과 배포 슬롯은 기존 글에서 다뤘지만, 크기 조정·인증서·사용자 지정 도메인·백업은 거의 다루지 않았습니다. 시험에서는 "이 기능을 쓰려면 최소 어떤 등급이 필요한가"를 묻는 문항이 특히 자주 나옵니다.
이 글은 App Service를 운영하면서 마주치는 작업을 정리합니다. 플랜 등급별로 열리는 기능, 스케일 업과 스케일 아웃(자동 크기 조정과 자동 스케일링), 사용자 지정 도메인의 DNS 레코드, TLS 인증서 선택, 자동 백업과 사용자 지정 백업, 들어오는 트래픽과 나가는 트래픽의 네트워킹 설정까지 다룹니다. App Service 플랜과 배포 슬롯의 기본은 Azure 컨테이너와 App Service 완전 정복에서 먼저 정리했습니다.
---
플랜 등급이 곧 쓸 수 있는 기능이다
휴대폰 요금제를 올리면 데이터만 늘어나는 것이 아니라 테더링이나 해외 로밍 같은 기능도 함께 열립니다. App Service 플랜도 등급(가격 계층)에 따라 성능뿐 아니라 쓸 수 있는 기능이 달라집니다. Free와 Shared는 다른 고객의 앱과 같은 VM을 나눠 쓰고, Basic부터는 전용 VM에서 실행되며, Isolated v2는 전용 가상 네트워크까지 분리합니다.
!App Service 플랜 등급이 올라갈수록 열리는 기능
| 등급 | 최대 인스턴스 | 이 등급에서 처음 열리는 대표 기능 | |------|------|------| | Free · Shared | 공유 1개 (스케일 아웃 불가) | 개발·테스트용, Free는 사용자 지정 도메인 불가 | | Basic | 전용 3개 | 사용자 지정 도메인 TLS, 백업, VNet 통합, 프라이빗 엔드포인트 | | Standard | 전용 10개 | 자동 크기 조정(autoscale), 배포 슬롯 5개 | | Premium (v2·v3·v4) | 전용 30개 | 배포 슬롯 20개, 자동 스케일링(HTTP 트래픽 기반), 더 큰 인스턴스 | | Isolated v2 | 전용 100개 | App Service Environment, 네트워크 격리 |
한 플랜 안의 앱들은 같은 VM 인스턴스를 함께 쓰므로, 플랜을 키우거나 인스턴스를 늘리면 그 플랜의 모든 앱이 함께 영향을 받습니다.
시험 팁: "현재 Basic 플랜에서 배포 슬롯을 쓰려고 한다"는 Standard 이상으로 스케일 업하는 것이 정답입니다. "CPU 사용률에 따라 인스턴스를 자동으로 늘려라"도 Standard 이상입니다.
---
스케일 업과 스케일 아웃
식당이 붐빌 때 주방을 더 큰 곳으로 옮기는 것과 요리사를 더 뽑는 것은 다른 해결책입니다. App Service에서 전자는 스케일 업, 후자는 스케일 아웃입니다.
| 방식 | 하는 일 | 기억할 점 | |------|------|------| | 스케일 업 | 플랜의 등급이나 크기를 바꿈 (CPU·메모리·디스크, 추가 기능) | 기능이 부족하면 스케일 업 | | 수동 스케일 아웃 | 인스턴스 수를 직접 지정 | Basic 이상 | | 자동 크기 조정 (Azure autoscale) | 메트릭(CPU, 메모리, 요청 수)이나 일정에 따라 규칙으로 인스턴스 수 조정 | Standard 이상, 최소·최대·기본 인스턴스와 스케일 아웃·인 규칙을 함께 정의 | | 자동 스케일링 (automatic scaling) | 규칙 없이 HTTP 트래픽을 보고 플랫폼이 알아서 조정 | Premium v2~v4, 최대 버스트 30개까지, 배포 슬롯 트래픽은 지원 안 함 |
자동 크기 조정 규칙은 늘리는 규칙과 줄이는 규칙을 짝으로 만들어야 합니다. 늘리는 규칙만 있으면 부하가 줄어도 인스턴스가 줄지 않아 비용이 계속 나갑니다.
시험 팁: "매주 월요일 오전 9시에 인스턴스를 5개로 늘렸다가 오후 6시에 2개로"는 일정 기반 자동 크기 조정입니다. "CPU 70% 이상이면 1개씩 늘려라"는 메트릭 기반 규칙이며, 줄이는 규칙(예: 30% 이하)도 함께 있어야 합니다.
---
사용자 지정 도메인 연결
App Service 앱은 기본으로 앱이름.azurewebsites.net 주소를 받습니다. 회사 도메인(www.contoso.com)을 연결하려면 도메인의 공용 DNS 영역에 레코드를 만들고 App Service에서 도메인을 추가합니다. Free 등급은 사용자 지정 도메인을 쓸 수 없고, 프라이빗 DNS 영역은 지원되지 않습니다.
| 연결할 이름 | 만들 레코드 | 값 | |------|------|------| | 하위 도메인 (www.contoso.com) | CNAME | 앱이름.azurewebsites.net | | 하위 도메인 소유권 확인 | TXT (asuid.www) | 앱의 도메인 확인 ID | | 루트 도메인 (contoso.com) | A | 앱의 IP 주소 (루트에는 CNAME을 쓰지 않음) | | 루트 도메인 소유권 확인 | TXT (asuid) | 앱의 도메인 확인 ID |
TXT 레코드의 도메인 확인 ID는 다른 사람이 같은 하위 도메인을 자기 App Service 앱에 연결하는 하위 도메인 탈취를 막아 줍니다. 하위 도메인에 A 레코드를 쓸 수도 있지만 앱의 IP가 바뀔 수 있어 CNAME이 권장됩니다.
시험 팁: "contoso.com 루트 도메인을 연결하라"는 A 레코드 + asuid TXT 레코드, "www.contoso.com"은 CNAME + asuid.www TXT 레코드입니다. 루트 도메인에 CNAME을 만드는 보기는 오답입니다.
---
TLS 인증서와 HTTPS
사용자 지정 도메인으로 HTTPS를 제공하려면 인증서를 앱에 바인딩해야 하고, 이는 Basic 이상에서 가능합니다. 인증서를 얻는 방법은 네 가지입니다.
| 방법 | 비용 | 특징 | |------|------|------| | App Service 관리형 인증서 | 무료 | 자동 갱신, 와일드카드 지원 안 함, 내보내기 불가, App Service Environment에서 지원 안 함 | | App Service 인증서 | 구입 | Azure가 관리, 와일드카드 가능, 갱신·내보내기 가능 | | Key Vault에서 가져오기 | 인증서 비용별 | Key Vault로 인증서를 한곳에서 관리할 때 | | 개인 인증서 업로드 | 인증서 비용별 | 다른 인증 기관에서 산 PFX 파일 |
바인딩은 SNI SSL(Basic 이상, 개수 제한 없음)과 IP SSL(Standard 이상에 1개 포함) 중 선택 HTTPS 전용(HTTPS Only)을 켜면 HTTP 요청을 HTTPS로 리디렉션 최소 TLS 버전을 지정해 오래된 TLS 버전으로 오는 연결을 거부 루트 도메인용 관리형 인증서는 생성과 갱신 때 앱이 인터넷에서 접근 가능해야 해서 IP 제한이 있으면 실패할 수 있음
시험 팁: "*.contoso.com 와일드카드 인증서를 무료로"는 불가능한 요구입니다. 무료 관리형 인증서는 와일드카드를 지원하지 않으므로 App Service 인증서를 구입하거나 Key Vault에서 가져와야 합니다.
---
백업과 복원
App Service 백업은 Basic, Standard, Premium, Isolated에서 지원되며 두 종류가 있습니다.
| 구분 | 자동 백업 | 사용자 지정 백업 | |------|------|------| | 구성 | 필요 없음, 자동으로 매시간 | 스토리지 계정을 지정해 직접 구성 | | 크기 | 30GB | 10GB (그중 연결된 DB 최대 4GB) | | 연결된 데이터베이스 | 백업 안 함 | 일부 DB 지원 (2028년 3월 31일부터 지원 종료 예정) | | 빈도 | 매시간, 변경 불가 | 일정 지정 가능 (Premium은 매시간까지) 또는 수동 | | 보존 | 30일, 변경 불가 | 0~30일 또는 무기한 | | 다운로드 | 불가 | Blob으로 다운로드 가능 |
백업은 기존 앱을 덮어쓰거나 새 앱이나 슬롯으로 복원할 수 있습니다. Basic 등급에서는 프로덕션 슬롯만 백업·복원할 수 있습니다.
시험 팁: "백업 파일을 내려받아 보관하고 90일 동안 보존"은 사용자 지정 백업입니다. 자동 백업은 보존 기간을 바꿀 수 없고 내려받을 수도 없습니다.
---
네트워킹: 들어오는 길과 나가는 길
App Service의 네트워킹은 방향을 먼저 나눠야 헷갈리지 않습니다. 앱으로 들어오는 트래픽을 제어하는 기능과, 앱이 다른 곳으로 나가는 트래픽을 위한 기능이 다릅니다.
| 방향 | 기능 | 하는 일 | |------|------|------| | 인바운드 | 액세스 제한 | IP 주소, 서비스 엔드포인트, 서비스 태그로 허용·거부 규칙 (앱당 최대 512개) | | 인바운드 | 프라이빗 엔드포인트 | VNet의 사설 IP로 앱에 접근, Basic 이상 | | 아웃바운드 | 가상 네트워크 통합 | 앱이 VNet 안의 리소스(VM, 프라이빗 엔드포인트 등)에 접근, Basic 이상, 위임된 전용 서브넷 필요 | | 아웃바운드 | 하이브리드 연결 | 릴레이를 통해 온프레미스의 특정 호스트와 포트에 접근 |
가상 네트워크 통합은 나가는 트래픽 전용이라, 이것만으로는 VNet에서 앱으로 사설 접근이 되지 않습니다. 통합 서브넷에 NSG와 UDR을 붙여 앱의 아웃바운드 트래픽을 제어할 수 있습니다.
시험 팁: "앱이 VNet 안의 SQL Server VM에 사설 IP로 접근해야 한다"는 VNet 통합, "앱을 인터넷에서 숨기고 VNet에서만 접근하게"는 프라이빗 엔드포인트(+ 공용 액세스 차단)입니다. 두 기능은 방향이 반대라 서로 대신할 수 없습니다.
---
시험 핵심 정리
시험장 가기 전 마지막으로 확인할 핵심 포인트입니다.
| 구분 | 핵심 암기 사항 | |------|------| | Free · Shared | 공유 VM, 스케일 아웃 불가, Free는 사용자 지정 도메인 불가 | | Basic | 전용 3개, 사용자 지정 도메인 TLS·백업·VNet 통합·프라이빗 엔드포인트 | | Standard | 전용 10개, 자동 크기 조정, 배포 슬롯 5개 | | Premium | 전용 30개, 슬롯 20개, 자동 스케일링 | | 스케일 업 vs 스케일 아웃 | 등급·크기 변경 vs 인스턴스 수 변경, 플랜의 모든 앱이 함께 | | 자동 크기 조정 규칙 | 늘리는 규칙과 줄이는 규칙을 짝으로 | | 하위 도메인 | CNAME + TXT asuid.하위도메인 | | 루트 도메인 | A + TXT asuid, 루트에 CNAME 불가 | | 관리형 인증서 | 무료·자동 갱신, 와일드카드·내보내기 불가 | | SNI vs IP SSL | Basic 이상 무제한 vs Standard 이상 1개 포함 | | 자동 vs 사용자 지정 백업 | 매시간·30일 고정·다운로드 불가 vs 스토리지 계정·보존 기간 지정·다운로드 가능 | | VNet 통합 vs 프라이빗 엔드포인트 | 앱에서 나가는 트래픽 vs 앱으로 들어오는 트래픽 |
---
다음 단계
App Service 운영을 정리했다면, 컨테이너 서비스와의 차이를 Azure 컨테이너와 App Service 완전 정복에서 다시 확인하고, 시험 직전 복습은 AZ-104 헷갈리는 서비스 비교 총정리로 이어 가세요.
App Service 문제는 "이 기능은 어느 등급부터인가"만 정확히 알아도 절반은 풀립니다. AZ-104 모의고사에서 App Service 문제를 풀며 등급표를 떠올려 보세요.