App Service 는 확장 가능한 웹 사이트 및 웹 애플리케이션을 호스팅하는 데 최적화된 완전 관리형 컴퓨팅 플랫폼 서비스입니다. 이 문서에서는 기존 애플리케이션을 Azure App Service로 리프트 앤 시프트하는 방법, 고려할 수정 사항 및 클라우드로 이동하기 위한 추가 리소스에 대한 정보를 제공합니다. 대부분의 ASP.NET 웹 사이트(웹 폼, MVC) 및 서비스(Web API, WCF)는 변경 없이 Azure App Service로 직접 이동할 수 있습니다. 일부는 사소한 변경이 필요할 수 있지만 다른 일부는 리팩터링이 필요할 수 있습니다.
시작할 준비가 되셨나요? ASP.NET + SQL 애플리케이션을 Azure App Service에 게시합니다.
고려 사항
온-프레미스 리소스(SQL Server 포함)
마이그레이션하거나 변경해야 할 수 있으므로 온-프레미스 리소스에 대한 액세스를 확인합니다. 다음은 온-프레미스 리소스에 대한 액세스를 완화하기 위한 옵션입니다.
- Azure Virtual Network를 사용하여 App Service를 온-프레미스 리소스에 연결하는 VPN을 만듭니다.
- Azure Relay를 사용하여 방화벽 변경 없이 온-프레미스 서비스를 클라우드에 안전하게 노출합니다.
- SQL 데이터베이스와 같은 종속성을 Azure로 마이그레이션합니다.
- 클라우드에서 서비스로서의 플랫폼 제품을 사용하여 종속성을 줄입니다. 예를 들어 온-프레미스 메일 서버에 연결하는 대신 SendGrid를 사용하는 것이 좋습니다.
포트 바인딩
Azure App Service는 HTTP용 포트 80 및 HTTPS 트래픽의 경우 포트 443을 지원합니다.
WCF의 경우 다음 바인딩이 지원됩니다.
묶기 | 비고 |
---|---|
BasicHttp |
|
WSHttp |
|
WSDualHttpBinding |
웹 소켓 지원을 사용하도록 설정해야 합니다. |
NetHttpBinding |
이중 계약에 대해 웹 소켓 지원을 사용하도록 설정해야 합니다. |
NetHttpsBinding |
이중 계약에 대해 웹 소켓 지원을 사용하도록 설정해야 합니다. |
BasicHttpContextBinding |
|
WebHttpBinding |
|
WSHttpContextBinding |
인증
Azure App Service는 기본적으로 익명 인증과 의도한 경우 Forms 인증을 지원합니다. Windows 인증은 Azure Active Directory 및 ADFS와만 통합하여 사용할 수 있습니다. 온-프레미스 디렉터리를 Azure Active Directory와 통합하는 방법에 대해 자세히 알아봅니다.
GAC의 어셈블리(전역 어셈블리 캐시)
지원되지 않습니다. 필요한 어셈블리를 앱의 \bin 폴더에 복사하는 것이 좋습니다. 서버에 설치된 사용자 지정 .msi 파일(예: PDF 생성기)을 사용할 수 없습니다.
IIS 설정
애플리케이션의 applicationHost.config 통해 전통적으로 구성된 모든 항목은 이제 Azure Portal을 통해 구성할 수 있습니다. AppPool 비트 수, WebSocket 활성화/비활성화, 관리되는 파이프라인 버전, .NET Framework 버전(2.0/4.0) 등에 적용됩니다. 애플리케이션 설정을 수정하려면 Azure Portal로 이동하여 웹앱에 대한 블레이드를 연 다음 애플리케이션 설정 탭을 선택합니다.
IIS5 호환 모드
IIS5 호환성 모드는 지원되지 않습니다. Azure App Service에서 각 웹앱과 그 아래의 모든 애플리케이션은 특정 애플리케이션 풀 집합을 사용하여 동일한 작업자 프로세스에서 실행됩니다.
IIS7+ 스키마 준수
일부 요소와 특성은 Azure App Service IIS 스키마에 정의되어 있지 않습니다. 문제가 발생하는 경우 XDT 변환을 사용하는 것이 좋습니다.
사이트당 단일 애플리케이션 풀
Azure App Service에서 각 웹앱과 그 아래의 모든 애플리케이션은 동일한 애플리케이션 풀에서 실행됩니다. 공통 설정을 사용하여 단일 애플리케이션 풀을 설정하거나 각 애플리케이션에 대해 별도의 웹앱을 만드는 것이 좋습니다.
COM 및 COM+ 구성 요소
Azure App Service는 플랫폼에서 COM 구성 요소의 등록을 허용하지 않습니다. 앱에서 COM 구성 요소를 사용하는 경우 관리 코드로 다시 작성하고 사이트 또는 애플리케이션과 함께 배포해야 합니다.
물리적 디렉터리
Azure App Service는 물리적 드라이브 액세스를 허용하지 않습니다. Azure Files를 사용하여 SMB를 통해 파일에 액세스해야 할 수 있습니다. Azure Blob Storage 는 HTTPS를 통해 액세스하기 위해 파일을 저장할 수 있습니다.
ISAPI 필터
Azure App Service는 ISAPI 필터 사용을 지원할 수 있지만 ISAPI DLL은 사이트에 배포되고 web.config통해 등록되어야 합니다.
HTTPS 바인딩 및 SSL
HTTPS 바인딩은 마이그레이션되지 않으며 웹 사이트와 연결된 SSL 인증서도 아닙니다. 그러나 사이트 마이그레이션이 완료된 후 SSL 인증서를 수동으로 업로드할 수 있습니다.
SharePoint 및 FrontPage
SharePoint 및 FPSE(FrontPage Server Extensions)는 지원되지 않습니다.
웹 사이트 크기
무료 사이트의 콘텐츠 크기 제한은 1GB입니다. 사이트가 1GB보다 큰 경우 유료 SKU로 업그레이드해야 합니다. App Service 가격 책정을 참조하세요.
데이터베이스 크기
SQL Server 데이터베이스의 경우 현재 SQL Database 가격을 확인하세요.
AAD(Azure Active Directory) 통합
AAD는 무료 앱에서 작동하지 않습니다. AAD를 사용하려면 앱 SKU를 업그레이드해야 합니다. App Service 가격 책정을 참조하세요.
모니터링 및 진단
모니터링 및 진단을 위한 현재 온-프레미스 솔루션은 클라우드에서 작동하지 않을 수 있습니다. 그러나 Azure는 웹앱 문제를 식별하고 디버그할 수 있도록 로깅, 모니터링 및 진단을 위한 도구를 제공합니다. 구성에서 웹앱에 대한 진단을 쉽게 사용하도록 설정하고 Azure Application Insights에 기록된 로그를 볼 수 있습니다. 웹앱에 대한 진단 로깅을 사용하도록 설정하는 방법에 대해 자세히 알아봅니다.
연결 문자열 및 애플리케이션 설정
애플리케이션에 사용되는 중요한 정보를 안전하게 저장하는 서비스인 Azure KeyVault를 사용하는 것이 좋습니다. 또는 이 데이터를 App Service 설정으로 저장할 수 있습니다.
디엔에스 (DNS)
애플리케이션의 요구 사항에 따라 DNS 구성을 업데이트해야 할 수 있습니다. 이러한 DNS 설정은 App Service 사용자 지정 도메인 설정에서 구성할 수 있습니다.
Windows 컨테이너를 사용하는 Azure App Service
앱을 App Service로 직접 마이그레이션할 수 없는 경우 GAC, COM 구성 요소, MSI, .NET FX API, DirectX 등에 대한 모든 권한을 사용할 수 있는 Windows 컨테이너를 사용하여 App Service를 고려합니다.
참고하십시오
.NET