Azure Stack Hub의 App Service 서버 역할에 대한 용량 계획
Azure Stack Hub의 Azure App Service의 프로덕션 준비 배포를 설정하려면 시스템이 지원할 용량을 계획해야 합니다.
이 문서에서는 프로덕션 배포에 사용해야 하는 컴퓨팅 인스턴스 및 컴퓨팅 SKU의 최소 수에 대한 지침을 제공합니다.
참고
역할에 권장되는 컴퓨팅 SKU에 대한 지침은 Azure 배포에 따라 표준 배포를 가져오기 위해 Azure Stack Hub의 Azure App Service 2020.Q2 릴리스로 업데이트되었습니다.
다음 지침을 사용하여 App Service 용량 전략을 계획할 수 있습니다.
App Service 서버 역할 | 최소 권장 인스턴스 수 | 권장 컴퓨팅 SKU |
---|---|---|
컨트롤러 | 2 | A4v2 |
프런트 엔드 | 2 | A4_v2 |
관리 | 2 | D3_v2 |
Publisher | 2 | A2_v2 |
웹 작업자 - 공유 | 2 | A4_v2 |
웹 작업자 - 전용 - 스몰 | 계층당 2개 | A1_v2 |
웹 작업자 - 전용 - 미디엄 | 계층당 2개 | A2_v2 |
웹 작업자 - 전용 - 라지 | 계층당 2개 | A4_v2 |
컨트롤러 역할
권장 최솟값: A4v2 인스턴스 2개
Azure App Service 컨트롤러는 일반적으로 CPU, 메모리 및 네트워크 리소스 사용이 적습니다. 그러나 고가용성을 위해 두 개의 컨트롤러가 있어야 합니다. 두 개의 컨트롤러는 허용되는 최대 컨트롤러 수이기도 합니다. 배포하는 동안 설치 프로그램에서 직접 두 번째 웹 사이트 컨트롤러를 만들 수 있습니다.
프런트 엔드 역할
권장 최솟값: A4_v2 인스턴스 2개
프런트 엔드는 웹 작업자 가용성에 따라 웹 작업자에게 요청을 라우팅합니다. 고가용성을 위해 둘 이상의 프런트 엔드가 있어야 하며, 두 개를 초과할 수 있습니다. 용량 계획 시 각 코어에서 초당 약 100개 요청을 처리할 수 있음을 고려합니다.
관리 역할
권장 최솟값: D3v2 인스턴스 2개
Azure 앱 클래식 배포 모델 역할은 App Service Azure Resource Manager 및 API 엔드포인트, 포털 확장(관리자, 테넌트, Functions 포털) 및 데이터 서비스를 담당합니다. 일반적으로 프로덕션 환경에서 관리 서버 역할에는 약 4GB RAM만 필요합니다. 그러나 많은 관리 작업(예: 웹 사이트 생성)을 수행하는 경우 높은 CPU 수준이 발생할 수도 있습니다. 고가용성을 위해 이 역할에 둘 이상의 서버가 할당되어야 하며, 서버당 둘 이상의 코어가 필요합니다.
게시자 역할
권장 최솟값: A2v2 인스턴스 2개
많은 사용자가 동시에 게시하는 경우 게시자 역할의 CPU 사용률이 높을 수도 있습니다. 고가용성을 위해 둘 이상의 게시자 역할이 있어야 합니다. 게시자는 FTP/FTPS 트래픽만 처리합니다.
웹 작업자 역할
권장 최솟값: A4_v2 인스턴스 2개
고가용성을 위해 4개 이상의 웹 작업자 역할이 있어야 합니다(공유 웹 사이트 모드를 위해 2개, 제공하려는 각 전용 작업자 계층을 위해 2개). 공유 및 전용 컴퓨팅 모드는 서로 다른 수준의 서비스를 테넌트에게 제공합니다. 다수의 고객이 다음과 같은 경우 더 많은 웹 작업자가 필요할 수 있습니다.
- 전용 컴퓨팅 모드 작업자 계층을 사용(리소스 집약적)
- 공유 컴퓨팅 모드에서 실행
사용자가 전용 컴퓨팅 모드 SKU에 대한 App Service 요금제를 만든 후에는 다른 사용자가 해당 App Service 요금제에 지정된 수의 웹 작업자를 더 이상 사용할 수 없습니다.
소비 계획 모델의 사용자에게 Azure Functions를 제공하려면 공유 웹 작업자를 배포해야 합니다.
사용할 공유 웹 작업자 역할의 수를 결정할 때 다음 고려 사항을 검토합니다.
메모리: 메모리는 웹 작업자 역할에 가장 중요한 리소스입니다. 메모리가 부족하면 디스크에서 가상 메모리를 바꿀 때 웹 사이트 성능에 영향을 줍니다. 각 서버는 운영 체제에 약 1.2GB의 RAM이 필요합니다. 이 임계값을 초과하는 RAM을 사용하여 웹 사이트를 실행할 수 있습니다.
활성 웹 사이트 백분율: 일반적으로 Azure Stack Hub의 Azure App Service 배포에서 앱의 약 5%가 활성 상태입니다. 그러나 특정 시점에서 활성 앱의 백분율은 더 높거나 낮을 수 있습니다. 활성 앱 백분율이 5%이면 Azure Stack Hub의 Azure App Service 배포에 배치할 최대 앱 수는 활성 웹 사이트 수의 20배(5 x 20 = 100) 미만이어야 합니다.
평균 메모리 사용량: 프로덕션 환경에서 관찰된 앱의 평균 메모리 사용량은 약 70MB입니다. 이 공간을 사용하여 모든 웹 작업자 역할 컴퓨터 또는 VM에 할당된 메모리는 다음과 같이 계산됩니다.
Number of provisioned applications * 70 MB * 5% - (number of web worker roles * 1044 MB)
예를 들어 10개의 웹 작업자 역할을 실행하는 환경에 5,000개의 앱이 있는 경우 각 웹 작업자 역할 VM에는 7060MB RAM이 있어야 합니다.
5,000 * 70 * 0.05 - (10 * 1044) = 7060 (= about 7 GB)
더 많은 작업자 인스턴스를 추가하는 방법에 대한 자세한 내용은 더 많은 작업자 역할 추가를 참조하세요.
업그레이드 및 유지 관리 중 전용 작업자에 대한 추가 고려 사항
작업자 업그레이드 및 유지 관리 중에 Azure Stack Hub의 Azure App Service 한 번에 각 작업자 계층의 20%에서 유지 관리를 수행합니다. 따라서 클라우드 관리자는 업그레이드 및 유지 관리 중에 테넌트가 서비스 손실을 경험하지 않도록 항상 작업자 계층당 할당되지 않은 작업자 풀을 20% 유지 관리해야 합니다. 예를 들어 작업자 계층에 작업자가 10명인 경우 업그레이드 및 유지 관리를 허용하도록 2가 할당되지 않았는지 확인해야 합니다. 전체 10명의 작업자가 할당되면 할당되지 않은 작업자 풀을 유지 관리하도록 작업자 계층을 확장해야 합니다.
업그레이드 및 유지 관리 중에 Azure App Service 워크로드를 할당되지 않은 작업자로 이동하여 워크로드가 계속 작동하도록 합니다. 그러나 업그레이드 중에 할당되지 않은 작업자가 없는 경우 테넌트 워크로드 가동 중지 시간이 발생할 수 있습니다. 공유 작업자와 관련하여 고객은 서비스가 사용 가능한 작업자 내에서 테넌트 앱을 자동으로 할당하므로 추가 작업자를 프로비전할 필요가 없습니다. 고가용성을 위해 이 계층에는 최소 두 명의 작업자 요구 사항이 있습니다.
클라우드 관리자는 Azure Stack Hub 관리자 포털의 App Service 관리 영역에서 작업자 계층 할당을 모니터링할 수 있습니다. App Service 이동한 다음 왼쪽 창에서 작업자 계층을 선택합니다. 작업자 계층 테이블에는 작업자 계층 이름, 크기, 사용된 이미지, 사용 가능한 작업자 수(할당되지 않음), 각 계층의 총 작업자 수 및 작업자 계층의 전체 상태가 표시됩니다.
파일 서버 역할
파일 서버 역할의 경우 개발 및 테스트에 독립 실행형 파일 서버를 사용할 수 있습니다. 예를 들어 ASDK(Azure Stack Development Kit)에 Azure App Service 배포할 때 이 템플릿을 사용할 수 있습니다. 프로덕션 환경에서는 미리 구성된 Windows 파일 서버 또는 미리 구성된 비 Windows 파일 서버를 사용해야 합니다.
프로덕션 환경에서 파일 서버 역할은 디스크 I/O 사용량이 많습니다. 사용자 웹 사이트에 대한 모든 콘텐츠 및 앱 파일을 보관하므로 이 역할에 대해 다음 리소스 중 하나를 미리 구성해야 합니다.
- Windows 파일 서버
- Windows 파일 서버 클러스터
- 비 Windows 파일 서버
- 비 Windows 파일 서버 클러스터
- NAS(네트워크 연결 스토리지) 디바이스
자세한 내용은 파일 서버 프로비저닝을 참조하세요.