Azure App Service 는 웹 애플리케이션, REST API 및 모바일 백 엔드를 호스팅하기 위한 HTTP 기반 서비스입니다. App Service는 Microsoft Azure와 통합되어 애플리케이션에 대한 보안, 부하 분산, 자동 크기 조정 및 자동화된 관리를 제공합니다. Azure 서비스인 App Service는 안정성 요구 사항을 지원하는 다양한 기능을 제공합니다.
Azure를 사용하는 경우 안정성은 공유 책임입니다. Microsoft는 복원력 및 복구를 지원하는 다양한 기능을 제공합니다. 이러한 기능이 사용하는 모든 서비스 내에서 작동하는 방식을 이해하고 비즈니스 목표 및 가동 시간 목표를 충족하는 데 필요한 기능을 선택할 책임이 있습니다.
이 문서에서는 일시적인 오류, 가용성 영역 중단, 지역 중단 및 서비스 유지 관리를 포함하여 다양한 잠재적 중단 및 문제에 대해 App Service를 복원할 수 있도록 하는 방법을 설명합니다. 또한 백업을 사용하여 다른 유형의 문제에서 복구하는 방법을 설명하고 App Service SLA(서비스 수준 계약)에 대한 몇 가지 주요 정보를 강조 표시합니다.
비고
App Service Environment의 안정성 지원에 대한 자세한 내용은 App Service Environment의 안정성을 참조하세요.
프로덕션 배포 권장 사항
Azure Well-Architected Framework는 안정성, 성능, 보안, 비용 및 운영에 대한 권장 사항을 제공합니다. 이러한 영역이 서로에 미치는 영향을 이해하고 신뢰할 수 있는 App Service 솔루션에 기여하려면 Azure Well-Architected Framework에서 App Service(Web Apps)에 대한 아키텍처 모범 사례를 참조하세요.
안정성 아키텍처 개요
App Service 웹앱을 만들 때 앱을 실행하는 App Service 요금제를 지정합니다.
App Service 계획은 웹앱을 실행하는 컴퓨팅 리소스 집합을 정의합니다. 모든 웹앱은 요금제 내에서 실행되어야 합니다. 여러 VM 인스턴스(작업자라고도 함)에서 실행되도록 요금제를 조정할 수 있습니다. 이러한 인스턴스는 앱 코드를 실행하는 컴퓨팅 리소스를 제공합니다. 단일 App Service 요금제는 여러 앱을 호스팅할 수 있습니다. 모든 앱은 동일한 공유 VM 인스턴스 집합에서 실행됩니다.
App Service는 다음과 같은 중복도 기능을 제공합니다.
장애 도메인에 걸친 배포: 플랫폼 수준에서 Azure는 Azure 지역 내의 장애 도메인에 App Service 요금제의 VM 인스턴스를 자동으로 배포합니다. 이 배포는 공통 전원과 네트워크 스위치를 공유하는 VM을 그룹화하여 지역적인 하드웨어 오류의 위험을 최소화합니다.
가용성 영역에 걸친 배포: 지원되는 App Service 요금제에서 영역 중복을 사용하도록 설정하면 Azure는 해당 지역 내의 가용성 영역에 인스턴스를 배포합니다. 이 구성은 영역 중단이 발생할 경우 더 높은 복원력을 제공합니다. 가용성 영역 중복에 대한 자세한 내용은 가용성 영역 지원을 참조하세요.
앱 크기 조정: App Service 요금제를 여러 VM 인스턴스를 실행하도록 구성하면 기본적으로 요금제의 모든 앱이 모든 인스턴스에서 실행됩니다. 자동 크기 조정 요금제를 구성하면 모든 앱이 자동 크기 조정 설정에 따라 함께 스케일 아웃됩니다. 그러나 앱별 크기 조정을 사용하여 특정 앱을 실행하는 계획 인스턴스 수를 사용자 지정할 수 있습니다.
배율 단위: 내부적으로 App Service는 스탬프 또는 웹스페이스라고도 하는 배율 단위라는 플랫폼 인프라에서 실행됩니다. 배율 단위에는 컴퓨팅, 스토리지, 네트워킹, 부하 분산을 비롯하여 App Service를 호스팅하고 실행하는 데 필요한 모든 구성 요소가 포함됩니다. Azure는 분산된 워크로드 배포를 보장하고, 일상적인 유지 관리를 수행하고, 전반적인 플랫폼 안정성을 유지하기 위해 크기 조정 단위를 관리합니다.
일부 기능은 특정 배율 단위에만 적용될 수 있습니다. 예를 들어, 일부 App Service 배율 단위는 영역 중복을 지원하지만, 같은 지역 내의 다른 배율 단위는 지원하지 않을 수 있습니다.
일시적인 오류에 대한 복원력
임시 오류는 구성 요소의 짧고 일시적 오류입니다. 이러한 문제는 클라우드와 같은 분산 환경에서 자주 발생하며, 운영의 정상적인 일부입니다. 일시적인 오류는 짧은 시간 후에 스스로 수정됩니다. 일반적으로 영향을 받은 요청을 다시 시도하여 애플리케이션이 임시 오류를 처리할 수 있는 것이 중요합니다.
모든 클라우드 호스팅 애플리케이션은 클라우드 호스팅 API, 데이터베이스 및 기타 구성 요소와 통신할 때 Azure 임시 오류 처리 지침을 따라야 합니다. 자세한 내용은 임시 오류 처리를 위한 권장 사항을 참조하세요.
Microsoft에서 제공하는 SDK는 일반적으로 임시 오류를 처리합니다. App Service에서 자체 애플리케이션을 호스팅하므로 임시 오류 발생 가능성을 줄이기 위한 조치를 취합니다.
계획 내에서 여러 인스턴스를 배포합니다. App Service는 계획의 인스턴스에 대해 자동화된 업데이트 및 기타 형태의 유지 관리를 수행합니다. 인스턴스가 비정상적으로 되면 서비스는 자동으로 해당 인스턴스를 새로운 정상 인스턴스로 바꿀 수 있습니다. 교체 프로세스 중에 이전 인스턴스를 사용할 수 없고 새 인스턴스가 트래픽을 처리할 준비가 되지 않은 짧은 기간이 있을 수 있습니다. 이러한 영향을 완화하려면 App Service 요금제의 여러 인스턴스를 배포합니다.
배포 슬롯을 사용합니다. App Service 배포 슬롯을 사용하면 애플리케이션의 가동 중지 시간 배포가 0으로 설정됩니다. 배포 슬롯을 사용하여 사용자에 대한 배포 및 구성 변경의 영향을 최소화합니다. 또한 배포 슬롯은 애플리케이션이 다시 시작될 가능성을 줄입니다. 애플리케이션을 다시 시작하면 일시적인 오류가 발생합니다.
스케일 업 또는 스케일 다운을 방지합니다. 이러한 작업은 각 인스턴스에 할당된 CPU, 메모리 및 기타 리소스를 변경하며, 애플리케이션이 다시 시작되도록 할 수 있습니다. 대신, 일반적인 부하에서 성능 요구 사항을 충족하는 계층과 인스턴스 크기를 선택합니다. 스케일 아웃 및 스케일 인하고, 트래픽 볼륨의 변화를 처리하기 위해 인스턴스를 동적으로 추가 및 제거합니다.
가용성 영역 오류에 대한 복원력
가용성 영역은 각 Azure 지역 내에서 물리적으로 별도의 데이터 센터 그룹입니다. 한 영역이 실패하면 서비스가 나머지 영역 중 하나로 장애 조치될 수 있습니다.
프리미엄 v2~v4 계층의 경우 App Service를 영역 중복으로 구성할 수 있습니다. 즉, 리소스가 여러 가용성 영역에 분산됩니다. 여러 영역에 배포하면 프로덕션 워크로드가 복원력과 안정성을 달성할 수 있습니다. App Service 요금제에서 영역 중복을 구성하면 해당 요금제를 사용하는 모든 앱이 영역 중복 상태가 됩니다.
요구 사항
영역 중복을 사용하도록 설정하려면 다음 요구 사항을 충족해야 합니다.
지역 지원: App Service Premium v2 및 v3 계획의 경우 가용성 영역을 지원하는 모든 지역에서 영역 중복성이 지원됩니다.
계획 유형:Premium v2에서 v4 요금제 유형까지 사용합니다.
중요합니다
App Service Premium v4 계획에 영역 중복을 사용하도록 설정하려면 원하는 지역이 v4 계획을 지원하고가용성 영역을 지원하는지 확인해야 합니다.
최소 인스턴스 수: 계획에 최소 두 개의 인스턴스를 배포합니다.
배율 단위: 가용성 영역을 지원하는 배율 단위에 앱을 배포해야 합니다. 계획에서 사용하는 배율 단위를 직접 제어하지는 않습니다. 대신 App Service 플랜을 만들 때, 플랜은 그 플랜의 리소스 그룹에 따라 스케일 단위에 할당됩니다. App Service 요금제에 대한 배율 단위가 영역 중복을 지원하는지 확인하려면 App Service 요금제에 대한 영역 중복 지원 확인을 참조하세요.
App Service 계획이 영역 중복을 지원하지 않는 배율 단위에 있는 경우 계획에서 영역 중복을 사용하도록 설정할 수 없습니다. 대신 다른 배율 단위의 새 계획에 앱을 다시 배포해야 합니다.
영역 간 인스턴스 배포
영역 중복 App Service 요금제를 만들면 Azure는 해당 지역의 가용성 영역에 요금제의 인스턴스를 분산합니다. 이 배포를 통해 한 영역에 장애가 발생하더라도 앱을 계속 사용할 수 있습니다.
영역 중복 배포의 인스턴스 배포는 특정 규칙을 따릅니다. 이러한 규칙은 앱의 크기 조정 및 크기 조정에도 적용됩니다.
최소 인스턴스: App Service 계획에는 영역 중복을 위한 최소 두 개의 인스턴스가 있어야 합니다.
계획에서 지원하는 최대 가용성 영역: Azure는 계획에서 사용할 수 있는 가용성 영역 수를 결정하며, 이를 maximumNumberOfZones라고 합니다. 특정 요금제에서 사용할 수 있는 가용성 영역 수를 보려면 App Service 요금제에 대한 영역 중복 지원 확인을 참조하세요.
인스턴스 배포: 영역 중복이 사용하도록 설정되면 Azure는 여러 가용성 영역에 걸쳐 요금제 인스턴스를 자동으로 배포합니다. 배포는 다음 규칙을 기반으로 합니다.
인스턴스 수가 maximumNumberOfZones를 초과하고 균등하게 나누어지면 Azure는 인스턴스를 여러 영역에 균등하게 분산합니다.
인스턴스 수가 균등하게 나누어지지 않으면 Azure는 나머지 인스턴스를 나머지 영역에 분산합니다.
App Service 플랫폼이 영역 중복 App Service 계획에 인스턴스를 할당할 때, 기본 Azure 가상 머신 확장 집합이 제공하는 최선의 노력을 다해 영역을 균형화하는 방식을 사용합니다. 각 영역에 동일한 수의 VM이 있거나 다른 모든 영역과 인스턴스가 하나씩 다를 경우 요금제는 균형을 이루게 됩니다. 자세한 내용은 영역 분산을 참조하세요.
물리적 영역 배치: 각 App Service 계획 인스턴스에 사용되는 물리적 가용성 영역을 볼 수 있습니다. 자세한 내용은 App Service 계획의 실제 영역 보기를 참조하세요.
고려 사항
프리미엄 v2~v4 요금제의 경우 가용성 영역 중단으로 인해 애플리케이션이 트래픽을 계속 처리하더라도 Azure App Service의 일부 측면에 영향을 미칠 수 있습니다. 이러한 동작에는 App Service 요금제 스케일링, 애플리케이션 만들기, 애플리케이션 구성, 애플리케이션 게시가 포함됩니다.
App Service 프리미엄 v2~v4 요금제에서 영역 중복을 사용하도록 설정하면 플랫폼 업데이트 중에 복원력도 개선됩니다. 자세한 내용은 서비스 유지 관리에 대한 복원력을 참조하세요.
가용성 영역 중복으로 구성되지 않은 App Service 요금제의 경우, 기본 VM(가상 머신) 인스턴스는 가용성 영역 장애에 대한 복원력이 없습니다. 해당 지역 내 어느 영역에서든 중단이 발생하면 가동 중단을 경험할 수 있습니다.
비용
App Service 프리미엄 v2~v4 요금제를 사용하는 경우 인스턴스가 두 개 이상인 경우 가용성 영역을 사용하도록 설정해도 비용이 추가되지 않습니다. 요금은 App Service 요금제 SKU, 지정한 용량, 자동 크기 조정 기준에 따라 크기 조정한 인스턴스에 따라 청구됩니다.
가용성 영역을 사용하도록 설정하지만 용량을 2보다 작게 지정하면 플랫폼은 최소 인스턴스 수를 2개 적용합니다. 플랫폼은 이러한 두 인스턴스에 대해 요금을 청구합니다.
가용성 영역 지원 구성
새 영역 중복성을 가진 앱 서비스 계획을 만듭니다. 자세한 내용은 영역 중복을 포함하는 새로운 App Service 요금제 만들기를 참조하세요.
기존 App Service 계획에서 영역 중복을 사용하거나 사용하지 않도록 설정합니다. 자세한 내용은 기존 App Service 요금제에 대한 영역 중복 설정을 참조하세요.
용량 계획 및 관리
가용성 영역 오류에 대비하려면 App Service 계획의 용량을 과잉 확보하는 것이 좋습니다. 이러한 방식을 사용하면 솔루션이 일부 용량 손실을 허용하면서도 성능 저하 없이 계속 작동할 수 있습니다. 자세한 내용은 초과 프로비전을 사용하여 용량 관리를 참조하세요.
모든 영역이 정상인 경우의 동작
다음 목록은 App Service 요금제가 영역 중복을 위해 구성되고 모든 가용성 영역이 작동하는 경우 예상되는 사항을 설명합니다.
영역 간 트래픽 라우팅: 일반 작업 중에 트래픽은 모든 가용성 영역에 걸쳐 사용 가능한 모든 App Service 요금제 인스턴스 간에 라우팅됩니다.
영역 간 데이터 복제: 정상적인 작업 중에 애플리케이션의 파일 시스템에 저장된 모든 상태는 영역 중복 스토리지에 저장되고 가용성 영역 간에 동기적으로 복제됩니다.
영역 오류 중 동작
가용성 영역 중단으로 인해 애플리케이션이 계속해서 트래픽을 처리하더라도 App Service의 일부 측면에 영향을 미칠 수 있습니다. 이러한 동작에는 App Service 요금제 스케일링, 애플리케이션 만들기, 애플리케이션 구성, 애플리케이션 게시가 포함됩니다.
다음 목록은 App Service 요금제가 영역 중복을 위해 구성되었고 하나 이상의 가용성 영역을 사용할 수 없는 경우 예상되는 상황을 설명합니다.
- 검색 및 응답: App Service 플랫폼은 가용성 영역에서 오류를 자동으로 감지하고 응답을 시작합니다. 영역 장애 조치(failover)를 시작하는 데 수동 개입이 필요하지 않습니다.
알림: 영역이 다운된 경우 Microsoft는 자동으로 알리지 않습니다. 그러나:
Azure Resource Health를 사용하여 개별 리소스의 상태를 모니터링하고 Resource Health 경고를 설정하여 문제를 알릴 수 있습니다.
Azure Service Health를 사용하여 영역 오류를 포함하여 서비스의 전반적인 상태를 파악할 수 있으며, 문제를 알리도록 Service Health 경고를 설정할 수 있습니다.
활성 요청: 오류가 발생한 가용성 영역의 App Service 요금제 인스턴스에 연결되는 진행 중인 모든 요청은 종료됩니다. 해당 요청을 다시 시도합니다.
트래픽 경로 전환: App Service는 해당 영역에서 손실된 인스턴스를 검색하고 새로운 대체 인스턴스를 찾으려고 시도합니다. App Service가 대체 인스턴스를 찾은 후에는 필요에 따라 새 인스턴스에 트래픽을 분산합니다.
자동 크기 조정이 구성되어 있고 더 많은 인스턴스가 필요하다고 판단되면 App Service에서 인스턴스를 요청합니다. 자동 크기 조정 동작은 App Service 플랫폼 동작과 독립적으로 작동합니다. 따라서 인스턴스 수 사양은 2의 배수일 필요가 없습니다. 자세한 내용은 App Service 및 자동 크기 조정 개요에서 앱 강화를 참조하세요.
중요합니다
Azure는 영역 다운 시나리오에서 추가 인스턴스에 대한 요청이 성공할 것을 보장하지 않습니다. 이 플랫폼은 최선의 활동을 다해 손실된 인스턴스를 다시 채우려고 시도합니다. 가용성 영역 장애 중에 보장된 용량이 필요한 경우 용량을 초과 프로비전하여 영역 손실을 고려하도록 App Service 요금제를 만들고 구성합니다.
런타임이 아닌 동작: 가용성 영역에 중단이 발생하더라도 영역 중복 App Service 요금제의 애플리케이션은 계속 실행되고 트래픽을 처리합니다. 그러나 가용성 영역 중단 중에는 런타임이 아닌 동작이 영향을 받을 수 있습니다. 이러한 동작에는 App Service 요금제 스케일링, 애플리케이션 만들기, 애플리케이션 구성, 애플리케이션 게시가 포함됩니다.
영역 복구
가용성 영역이 복구되면 App Service는 복구된 가용성 영역에 인스턴스를 자동으로 만들고, 다른 가용성 영역에서 만든 임시 인스턴스를 제거하고, 평소와 같이 인스턴스 간에 트래픽을 라우팅합니다.
영역 오류 테스트
App Service 플랫폼은 영역 중복 App Service 요금제에 대한 트래픽 라우팅, 장애 조치(failover), 장애 복구(failback)를 관리합니다. 이 기능은 완전히 관리되므로 가용성 영역 오류 프로세스를 시작하거나 유효성을 검사할 필요가 없습니다.
지역 전체 오류에 대한 복원력
App Service는 단일 지역 서비스입니다. 해당 지역을 이용할 수 없게 되면 사용자의 애플리케이션도 이용할 수 없습니다.
복원력을 위한 사용자 지정 다중 지역 솔루션
애플리케이션에 영향을 주는 단일 지역 오류의 위험을 줄이기 위해 여러 지역에 계획을 배포할 수 있습니다. 다음 단계는 복원력을 강화하는 데 도움이 됩니다.
- 각 지역의 계획에 애플리케이션을 배포합니다.
- 부하 분산 및 장애 조치(failover) 정책을 구성합니다.
- 마지막 애플리케이션 상태를 복구할 수 있도록 지역 간에 데이터를 복제합니다.
다음 관련 리소스를 참조하세요.
백업 및 복원
기본 계층 이상을 사용하는 경우 App Service 백업 및 복원 기능을 사용하여 App Service 앱을 파일에 백업할 수 있습니다.
이러한 기능은 코드를 다시 배포하기 어려울 때나 디스크에 상태를 저장할 때 도움이 됩니다. 대부분의 솔루션은 백업에만 의존해서는 안 됩니다. 대신, 이 가이드의 다른 기능을 사용하여 복원력 요구 사항을 지원해야 합니다. 그러나 백업은 다른 방법이 사용하지 않는 일부 위험으로부터 보호합니다.
중요합니다
2028년 3월 31일부터 Azure App Service 사용자 지정 백업은 더 이상 연결된 데이터베이스 백업을 지원하지 않습니다. 자세한 내용은 연결된 데이터베이스 백업 사용 중단을 참조하세요.
대신 연결된 데이터베이스의 네이티브 백업 및 복원 도구를 사용합니다. 자세한 내용은 App Service에서 앱 백업 및 복원을 참조하세요.
서비스 유지 관리에 대한 복원력
App Service는 정기적인 서비스 업그레이드 및 기타 유지 관리 작업을 수행합니다. 업그레이드 중에 예상 용량을 유지하기 위해 플랫폼은 업그레이드 프로세스 중에 App Service 요금제의 추가 인스턴스를 자동으로 추가합니다.
영역 중복을 사용하도록 설정합니다. App Service 요금제에서 영역 중복을 사용하도록 설정하면 플랫폼 업데이트 중에 복원력도 개선됩니다. 업데이트 도메인은 업데이트 중에 오프라인 상태가 되는 VM 컬렉션으로 구성되며 가용성 영역에 매핑됩니다. App Service 요금제에 여러 인스턴스를 배포하고 요금제에 대한 영역 중복을 사용하도록 설정하면 업그레이드 중에 인스턴스나 영역이 비정상적으로 변할 경우 복원력이 한층 강화됩니다.
자세한 내용은 App Service에 대한 정기적인 계획된 유지 관리 및 App Service, 다시 시작 및 가동 중지에 대한 정기적인 유지 관리를 참조하세요.
서비스 수준 약정
Azure 서비스의 SLA(서비스 수준 계약)는 각 서비스의 예상 가용성과 해당 가용성 예상 결과치를 달성하기 위해 솔루션이 충족해야 하는 조건을 설명합니다. 자세한 내용은 온라인 서비스 SLA를 참조하세요.
영역 중복 App Service 요금제를 배포하면 SLA에 정의된 작동 시간 비율이 증가합니다.