Azure App Service 살펴보기
새 사이트를 만들었으므로 다음 단계는 Azure에 배포하는 것입니다. 어떤 Azure 서비스를 활용할 것인지 생각해야 합니다. Azure App Service는 확장성이 뛰어나고 자체 패치가 가능한 애플리케이션에 대한 웹 호스팅 서비스를 제공합니다.
여기서는 Visual Studio를 사용하여 ASP.NET Core 웹 애플리케이션을 Azure App Service 요금제에 게시하는 방법을 살펴봅니다.
Azure App Service란?
Azure App Service는 웹 애플리케이션, REST API 및 백 엔드 서비스를 호스트하는 서비스입니다. App Service는 .NET Core, .NET Framework, Java, Ruby, Node.js, PHP, 및 Python으로 작성된 코드를 지원합니다. App Service는 대부분의 웹 사이트에 잘 어울리며, 특히 호스팅 인프라를 철저하게 제어할 필요가 없는 경우에 이상적입니다.
App Service 계획이란 무엇인가요?
App Service 계획은 앱이 이용할 컴퓨팅 리소스, 이러한 리소스가 있는 위치, 계획에 사용할 수 있는 추가 리소스의 수 및 가격 책정 계층을 정의합니다. 이러한 컴퓨팅 리소스는 기존 웹 호스팅의 서버 팜과 유사합니다. 동일한 App Service 요금제에서 실행되도록 하나 이상의 앱을 구성할 수 있습니다.
앱을 배포할 때 App Service 계획을 만들거나 기존 계획에 앱을 계속 추가할 수 있습니다. 하지만 동일한 App Service 계획의 앱만이 동일한 컴퓨팅 리소스를 공유합니다. 새 앱에 필요한 리소스가 있는지 확인하려면 기존 App Service 계획의 용량과 새 앱의 예상 부하를 이해해야 합니다. App Service 계획을 오버로드하면 새 앱과 기존 앱의 가동 중지 시간이 발생하거나 성능이 떨어질 수 있습니다.
Azure Portal에서 PowerShell 또는 Azure CLI를 사용하여 App Service 요금제를 미리 정의할 수도 있고, Visual Studio에서 애플리케이션을 게시할 때 App Service 요금제를 설정할 수도 있습니다.
각 App Service 계획은 다음을 정의합니다.
- 지역(미국 서부, 미국 동부 등)
- VM(가상 머신) 인스턴스 수.
- VM 인스턴스의 크기(소형, 중형, 대형).
- 가격 책정 계층(무료, 공유, 기본, 표준, 프리미엄, 프리미엄 V2, 격리).
지역 선택
App Service 계획을 만들 때 해당 계획을 호스트할 지역 또는 위치를 정의해야 합니다. 일반적으로 예상 고객과 지리적으로 가까운 지역을 선택하게 됩니다.
가격 책정 및 안정성 수준
공유 컴퓨팅: 무료 및 공유라는 두 개의 기본 계층은 다른 고객의 앱을 비롯한 다른 App Service 앱과 동일한 Azure VM에서 앱을 실행합니다. 여기에는 다른 고객의 앱이 포함됩니다. 이러한 계층은 CPU 할당량을 공유 리소스에서 실행되는 각 앱에 할당하며, 리소스를 스케일 아웃할 수 없습니다.
무료 및 공유 계획은 트래픽 수요가 제한적인 소규모 개인 프로젝트에 가장 적합하며, 24시간마다 165MB(메가바이트)의 아웃바운드 데이터 제한이 설정되어 있습니다.
전용 컴퓨팅: 기본, 표준, 프리미엄 및 프리미엄 V2 계층은 전용 Azure VM에서 앱을 실행합니다. 동일한 App Service 계획의 앱만이 동일한 컴퓨팅 리소스를 공유합니다. 계층이 높을수록 스케일 아웃을 위해 더 많은 VM 인스턴스가 제공됩니다.
표준 서비스 계획은 상업용 애플리케이션을 고객에게 게시하는 라이브 프로덕션 워크로드에 가장 적합합니다.
프리미엄 서비스 계획은 전용(격리) 계획의 추가 비용을 원하지 않는 대용량 웹앱을 지원합니다.
격리: 이 계층은 전용 Azure Virtual Networks에서 전용 Azure VM을 실행합니다. 그러면 앱에 컴퓨팅 격리에 우선하는 네트워크 격리를 제공합니다. 최대 스케일 아웃 기능을 제공합니다. 가장 높은 수준의 보안 및 성능에 대한 특정 요구 사항이 있는 경우에만 격리된 서비스 계획을 선택하는 것이 좋습니다.
다음의 경우 새 App Service 계획으로 앱을 격리합니다.
- 앱이 리소스를 많이 사용합니다.
- 기존 계획에서 다른 앱과 독립적으로 앱을 확장하려고 합니다.
- 앱에 다른 지역의 리소스가 필요합니다.
언제든지 App Service 요금제를 확장 및 축소할 수 있습니다. 처음에 더 낮은 가격 책정 계층을 선택하고 더 많은 App Service 기능이 필요하면 나중에 확장할 수 있습니다.
리소스 그룹 지정
리소스 그룹은 웹앱, 데이터베이스, 스토리지 계정과 같은 Azure 리소스가 배포되고 관리되는 논리적 컨테이너입니다. 관리, 모니터링 및 청구 목적으로 리소스를 구성하는 메커니즘입니다. 기존 리소스 그룹을 사용하거나 Visual Studio에서 직접 그룹을 만들 수 있습니다.