Azure Stack Hub의 App Service 서버 역할에 대한 용량 계획Capacity planning for App Service server roles in Azure Stack Hub

Azure Stack Hub에 Azure App Service의 프로덕션 준비 배포를 설정 하려면 시스템에서 지원할 수 있는 용량을 계획 해야 합니다.To set up a production-ready deployment of Azure App Service on Azure Stack Hub, you must plan for the capacity you expect the system to support.

이 문서에서는 프로덕션 배포에 사용 해야 하는 계산 인스턴스 및 계산 Sku의 최소 개수에 대 한 지침을 제공 합니다.This article provides guidance for the minimum number of compute instances and compute SKUs you should use for any production deployment.

참고

역할에 권장 되는 계산 SKU에 대 한 지침은 Azure 배포와 함께 표준 배포를 제공 하기 위해 Azure Stack 허브에 Azure App Service의 2020. Q2 릴리스로 업데이트 되었습니다.The guidance on recommended compute SKU for roles was updated with the 2020.Q2 release of Azure App Service on Azure Stack Hub to bring standard deployments in line with Azure deployments.

이러한 지침을 사용 하 여 App Service 용량 전략을 계획할 수 있습니다.You can plan your App Service capacity strategy using these guidelines.

App Service 서버 역할App Service server role 최소 권장 인스턴스 수Minimum recommended number of instances 권장 계산 SKURecommended compute SKU
컨트롤러Controller 22 A4v2A4v2
프런트 엔드Front End 22 A4_v2A4_v2
관리Management 22 D3_v2D3_v2
PublisherPublisher 22 A2_v2A2_v2
웹 작업자-공유Web Workers - shared 22 A4_v2A4_v2
웹 작업자-전용-작음Web Workers - dedicated - small 계층 당 22 per tier A1_v2A1_v2
웹 작업자-전용-중간Web Workers - dedicated - medium 계층 당 22 per tier A2_v2A2_v2
웹 작업자-전용Web Workers - dedicated - large 계층 당 22 per tier A4_v2A4_v2

컨트롤러 역할Controller role

권장 최소: A4v2의 두 인스턴스Recommended minimum: Two instances of A4v2

Azure App Service 컨트롤러는 일반적으로 CPU, 메모리 및 네트워크 리소스를 거의 소비 하지 않습니다.The Azure App Service controller typically experiences low consumption of CPU, memory, and network resources. 그러나 고가용성을 위해 두 개의 컨트롤러가 있어야 합니다.However, for high availability, you must have two controllers. 두 컨트롤러는 허용 되는 최대 컨트롤러 수 이기도 합니다.Two controllers are also the maximum number of controllers permitted. 배포 하는 동안 설치 관리자에서 직접 두 번째 웹 사이트 컨트롤러를 만들 수 있습니다.You can create the second web sites controller direct from the installer during deployment.

프런트 엔드 역할Front-end role

권장 최소: A4v_2의 두 인스턴스Recommended minimum: Two instances of A4v_2

프런트 엔드는 웹 작업자 가용성에 따라 웹 작업자에 게 요청을 라우팅합니다.The front-end routes requests to web workers depending on web worker availability. 고가용성을 위해 둘 이상의 프런트 엔드가 있어야 하며, 두 개 이상의 프런트 엔드가 있을 수 있습니다.For high availability, you should have more than one front end, and you can have more than two. 용량 계획 시 각 코어에서 초당 약 100개 요청을 처리할 수 있음을 고려합니다.For capacity planning purposes, consider that each core can handle approximately 100 requests per second.

관리 역할Management role

권장 최소: D3v2의 두 인스턴스Recommended minimum: Two instances of D3v2

Azure 앱 클래식 배포 모델 역할은 App Service Azure Resource Manager 및 API 끝점, 포털 확장 (관리, 테 넌 트, 함수 포털) 및 데이터 서비스를 담당 합니다.The Azure App classic deployment model role is responsible for the App Service Azure Resource Manager and API endpoints, portal extensions (admin, tenant, Functions portal), and the data service. 일반적으로 프로덕션 환경에서 관리 서버 역할에는 약 4gb RAM만 필요 합니다.The management server role typically requires only about 4-GB RAM in a production environment. 그러나 많은 관리 작업(예: 웹 사이트 생성)을 수행하는 경우 높은 CPU 수준이 발생할 수도 있습니다.However, it may experience high CPU levels when many management tasks (such as web site creation) are performed. 고가용성을 위해이 역할에 둘 이상의 서버를 할당 하 고 서버당 2 개 이상의 코어를 할당 해야 합니다.For high availability, you should have more than one server assigned to this role, and at least two cores per server.

게시자 역할Publisher role

권장 최소: A2v2의 두 인스턴스Recommended minimum: Two instances of A2v2

많은 사용자가 동시에 게시 하는 경우 게시자 역할의 CPU 사용량이 늘어날 수 있습니다.If many users are publishing simultaneously, the publisher role may experience heavy CPU usage. 고가용성을 위해 둘 이상의 게시자 역할을 사용할 수 있는지 확인 합니다.For high availability, make sure more than one publisher role is available. 게시자는 FTP/FTPS 트래픽만 처리 합니다.The publisher only handles FTP/FTPS traffic.

웹 작업자 역할Web worker role

권장 최소: A4_v2의 두 인스턴스Recommended minimum: Two instances of A4_v2

고가용성을 위해 두 개 이상의 웹 작업자 역할이 있어야 합니다. 두 개 이상의 웹 작업자 역할이 공유 웹 사이트 모드이 고, 제공 하려는 각 전용 작업자 계층에 대해 두 개 이상 있어야 합니다.For high availability, you should have at least four web worker roles: two for shared web site mode and two for each dedicated worker tier you plan to offer. 공유 및 전용 계산 모드는 서로 다른 수준의 서비스를 테 넌 트에 제공 합니다.The shared and dedicated compute modes provide different levels of service to tenants. 많은 고객이 다음을 수행 하는 경우 웹 작업자가 더 필요할 수 있습니다.You might need more web workers if many of your customers are:

  • 리소스를 많이 사용 하는 전용 계산 모드 작업자 계층 사용.Using dedicated compute mode worker tiers (which are resource-intensive).
  • 공유 계산 모드에서 실행 중입니다.Running in shared compute mode.

사용자가 전용 계산 모드 SKU에 대 한 App Service 계획을 만든 후에는 해당 App Service 계획에 지정 된 웹 작업자 수를 더 이상 사용자가 사용할 수 없습니다.After a user has created an App Service plan for a dedicated compute mode SKU, the number of web worker(s) specified in that App Service plan is no longer available to users.

소비 계획 모델의 사용자에 게 Azure Functions을 제공 하려면 공유 웹 작업자를 배포 해야 합니다.To provide Azure Functions to users in the consumption plan model, you must deploy shared web workers.

사용할 공유 웹 작업자 역할 수를 결정할 때는 다음 사항을 검토 하십시오.When deciding on the number of shared web worker roles to use, review these considerations:

  • 메모리: 메모리는 웹 작업자 역할에 가장 중요 한 리소스입니다.Memory: Memory is the most critical resource for a web worker role. 메모리가 부족하면 디스크에서 가상 메모리를 바꿀 때 웹 사이트 성능에 영향을 줍니다.Insufficient memory impacts web site performance when virtual memory is swapped from disk. 각 서버에는 운영 체제에 약 1.2 GB의 RAM이 필요 합니다.Each server requires about 1.2 GB of RAM for the operating system. 이 임계값을 초과 하는 RAM을 사용 하 여 웹 사이트를 실행할 수 있습니다.RAM above this threshold can be used to run web sites.

  • 활성 웹 사이트 비율: 일반적으로 Azure Stack 허브 배포의 Azure App Service에 있는 앱의 약 5%가 활성 상태입니다.Percentage of active web sites: Typically, about 5 percent of apps in an Azure App Service on Azure Stack Hub deployment are active. 그러나 지정 된 순간에 활성화 된 앱의 백분율은 더 높거나 낮을 수 있습니다.However, the percentage of apps that are active at any given moment can be higher or lower. 활성 앱 속도 5%를 사용 하는 경우 Azure Stack 허브 배포 Azure App Service에 배치 되는 최대 앱 수는 활성 웹 사이트 수의 20 배 미만 이어야 합니다 (5 x 20 = 100).With an active app rate of 5 percent, the maximum number of apps to place in an Azure App Service on Azure Stack Hub deployment should be less than 20 times the number of active web sites (5 x 20 = 100).

  • 평균 메모리 사용 공간: 프로덕션 환경에서 관찰 된 앱의 평균 메모리 사용량은 약 70 MB입니다.Average memory footprint: The average memory footprint for apps observed in production environments is about 70 MB. 이 공간을 사용 하 여 모든 웹 작업자 역할 컴퓨터 또는 Vm에서 할당 된 메모리는 다음과 같이 계산 됩니다.Using this footprint, the memory allocated across all web worker role computers or VMs is calculated as follows:

    Number of provisioned applications * 70 MB * 5% - (number of web worker roles * 1044 MB)

    예를 들어 10 개의 웹 작업자 역할을 실행 하는 환경에 5000 개의 앱이 있는 경우 각 웹 작업자 역할 VM에는 7060 MB의 RAM이 있어야 합니다.For example, if there are 5,000 apps on an environment running 10 web worker roles, each web worker role VM should have 7060-MB RAM:

    5,000 * 70 * 0.05 - (10 * 1044) = 7060 (= about 7 GB)

    작업자 인스턴스를 추가 하는 방법에 대 한 자세한 내용은 작업자 역할 추가를 참조 하세요.For info on adding more worker instances, see Adding more worker roles.

업그레이드 및 유지 관리 중 전용 작업자에 대 한 추가 고려 사항Additional considerations for dedicated workers during upgrade and maintenance

작업자를 업그레이드 하 고 유지 관리 하는 동안에는 Azure Stack 허브의 Azure App Service 한 번에 각 작업자 계층의 20%에 대 한 유지 관리를 수행 합니다.During upgrade and maintenance of workers, Azure App Service on Azure Stack Hub will perform maintenance on 20% of each worker tier at any one time. 따라서 클라우드 관리자는 테 넌 트가 업그레이드 및 유지 관리를 수행 하는 동안 서비스 손실이 발생 하지 않도록 하기 위해 작업자 계층 당 할당 되지 않은 작업자의 20% 풀을 항상 유지 관리 해야 합니다.Therefore, cloud admins must always maintain a 20% pool of unallocated workers per worker tier to ensure their tenants don't experience any loss of service during upgrade and maintenance. 예를 들어 작업자 계층에 10 개의 작업 자가 있는 경우 업그레이드 및 유지 관리를 허용 하도록 2가 할당 되지 않았는지 확인 해야 합니다.For example, if you have 10 workers in a worker tier you should ensure that 2 are unallocated to allow upgrade and maintenance. 전체 10 개의 작업 자가 할당 되 면 할당 되지 않은 작업자의 풀을 유지 하기 위해 작업자 계층을 확장 해야 합니다.If the full 10 workers become allocated, you should scale the worker tier up to maintain a pool of unallocated workers.

업그레이드 및 유지 관리 중 Azure App Service는 작업을 할당 되지 않은 작업자로 이동 하 여 작업이 계속 작동 하도록 합니다.During upgrade and maintenance, Azure App Service will move workloads to unallocated workers to ensure the workloads will continue to operate. 그러나 업그레이드 중에 사용 가능한 할당 되지 않은 작업 자가 없는 경우 테 넌 트 워크 로드 가동 중지 시간이 발생할 수 있습니다.However, if there are no unallocated workers available during upgrade then there's potential for tenant workload downtime. 공유 작업자와 관련 하 여 고객은 사용 가능한 작업자 내에서 테 넌 트 앱을 자동으로 할당 하므로 추가 작업자를 프로 비전 할 필요가 없습니다.With regards to shared workers, customers don't need to provision additional workers as the service will allocate tenant apps within available workers automatically. 고가용성을 위해이 계층에 두 작업자의 최소 요구 사항이 있습니다.For high availability, there's a minimum requirement of two workers in this tier.

클라우드 관리자는 Azure Stack 허브 관리자 포털의 App Service 관리 영역에서 작업자 계층 할당을 모니터링할 수 있습니다.Cloud admins can monitor their worker tier allocation in the App Service admin area in the Azure Stack Hub administrator portal. App Service로 이동한 다음 왼쪽 창에서 작업자 계층을 선택 합니다.Navigate to App Service and then select Worker Tiers in the left-hand pane. 작업자 계층 테이블에는 작업자 계층 이름, 크기, 사용 되는 이미지, 사용 가능한 작업자 수 (할당 되지 않음), 각 계층의 총 작업자 수 및 작업자 계층의 전체 상태가 표시 됩니다.The Worker Tiers table shows worker tier name, size, image used, number of available workers (unallocated), total number of workers in each tier and the overall state of the worker tier.

App Service 관리-작업자 계층

파일 서버 역할File server role

파일 서버 역할의 경우 개발 및 테스트에 독립 실행형 파일 서버를 사용할 수 있습니다.For the file server role, you can use a standalone file server for development and testing. 예를 들어 Azure Stack Development Kit (ASDK)에 Azure App Service를 배포할 때이 템플릿을사용할 수 있습니다.For example, when deploying Azure App Service on the Azure Stack Development Kit (ASDK) you can use this template. 프로덕션을 위해 미리 구성 된 Windows 파일 서버 또는 미리 구성 된 비 Windows 파일 서버를 사용 해야 합니다.For production purposes, you should use a pre-configured Windows file server, or a pre-configured non-Windows file server.

프로덕션 환경에서 파일 서버 역할은 디스크 i/o를 많이 사용 합니다.In production environments, the file server role experiences intensive disk I/O. 사용자 웹 사이트에 대 한 모든 콘텐츠 및 응용 프로그램 파일을 보관 하기 때문에이 역할에 대해 다음 리소스 중 하나를 미리 구성 해야 합니다.Because it houses all of the content and app files for user web sites, you should preconfigure one of the following resources for this role:

  • Windows 파일 서버Windows file server
  • Windows 파일 서버 클러스터Windows file server cluster
  • 비 Windows 파일 서버Non-Windows file server
  • 비 Windows 파일 서버 클러스터Non-Windows file server cluster
  • NAS (네트워크 연결 저장소) 장치NAS (Network Attached Storage) device

자세한 내용은 파일 서버 프로 비전을 참조 하세요.For more information, see Provision a file server.

다음 단계Next steps

Azure Stack Hub에 App Service를 배포하기 위한 필수 조건Prerequisites for deploying App Service on Azure Stack Hub