ASP.NET Core는 간단한 웹 사이트 및 복잡한 웹 애플리케이션을 위한 포괄적인 솔루션을 제공합니다. Azure 서비스는 많은 요구 사항을 해결하고 웹 사이트 및 웹 애플리케이션 개발에서 발생하는 많은 문제를 해결하는 데 도움이 될 수 있습니다. ASP.NET Core 웹 애플리케이션은 클라이언트 쪽 JavaScript를 자주 사용합니다.
많은 Visual Studio 구독에는 Azure 개별 개발/테스트 크레딧이 포함됩니다. Visual Studio 구독자인 경우 이러한 크레딧을 사용하여 다양한 Azure 서비스를 비용 없이 사용해 볼 수 있습니다. 구독자가 아니고 Azure 구독이 없는 경우 체험 계정을 만들 수 있습니다.
필수 조건
아직 개발하지 않은 경우 Visual Studio에서 연결된 서비스의 기본 사항, Azure에 배포, Azure 애플리케이션 디버깅, Docker 컨테이너 사용 등을 다루는 Visual Studio의 Azure 개발 개요를 읽어보세요.
Azure 개발 및 ASP.NET 및 웹 개발 워크로드가 설치된 Visual Studio 2019 이상이 필요합니다.
아키텍처 다이어그램
다음 다이어그램은 스토리지, SQL 데이터베이스 액세스 및 인증과 같은 일반적인 시나리오를 처리하는 일부 Azure 서비스를 사용하는 Azure 웹 애플리케이션의 아키텍처 예제를 보여 줍니다.
스토리지 및 데이터베이스에 연결
웹 애플리케이션과 관련이 없지만 대부분의 웹 애플리케이션에 중요한 많은 서비스는 이미 기본 개요에서 다루었습니다. Azure Storage 및 데이터베이스에 앱을 연결하는 방법을 참조하고,gRPC, OpenAPI 및 WCF 엔드포인트에 앱을 연결하는 방법을 참조하세요.
Azure Cache for Redis에 연결
Azure Cache for Redis는 Azure 서비스, 웹 사이트 및 웹 애플리케이션에 대한 메모리 내 데이터 저장소를 제공합니다. Azure Cache for Redis를 분산 데이터 또는 콘텐츠 캐시, 세션 저장소, 메시지 브로커 등으로 사용할 수 있습니다. 지원되는 시나리오는 다음과 같습니다.
- API에서 들어오는 데이터를 캐시하여 API 호출을 줄입니다.
- 캐시 출력(CPU 사용량을 줄일 수 있습니다).
- 캐시 세션 상태
Azure Cache for Redis란?에서 자세히 알아보거나 Visual Studio Connected Services를 사용하여 Azure Cache for Redis에 연결하기 시작하세요.
사용자 인증
대부분의 웹 사이트에는 사이트별 또는 사용자가 기존 계정을 가지고 있는 ID 공급자가 제공하는 일종의 사용자 관리 및 인증 메커니즘이 필요합니다. 기본 제공 사용자 인증은 Azure App Service에서 지원됩니다. Azure App Service 및 Azure Functions의 인증 및 권한 부여에 대해 자세히 알아보고 Azure App Service에서 실행되는 웹앱에 앱 인증 추가를 시작합니다. Microsoft Entra ID(이전에는 Azure Active Directory라고 함)는 완전한 기능을 갖춘 클라우드 기반 ID 관리 서비스입니다. Microsoft Entra란?에서 자세히 알아보세요.
지원되는 인증 공급자는 다음과 같습니다.
- 소셜 계정: Facebook, Google, Microsoft 계정 등
- Microsoft Entra 계정(단일 테넌트에서)
- Microsoft Entra 계정(여러 테넌트에서)
Visual Studio에서 연결된 서비스를 사용하여 Microsoft Entra ID에 연결에서 앱에서 이러한 서비스를 사용하는 방법을 알아봅니다.
App Configuration
Azure에 배포된 ASP.NET 웹앱은 모든 환경(테스트, UAT(사용자 승인 테스트), 사전 프로덕션 및 프로덕션)에 대한 구성이 필요할 수 있습니다. Azure App Configuration을 통해 이 구성을 관리할 수 있습니다. Visual Studio Connected Services를 사용하여 앱을 Azure App Configuration에 연결하는 방법을 알아봅니다.
비밀 관리
API 공급자를 위한 데이터베이스 및 토큰에 대한 액세스 키와 같은 암호 및 기타 비밀의 보안 스토리지는 Azure Key Vault가 보안 솔루션을 제공하는 일반적인 문제입니다. Azure Key Vault를 사용하여 Azure에서 실행되는 앱에 대한 비밀을 저장할 수 있으며, 개발 중에는 Azure의 키 자격 증명 모음 또는 로컬 저장소(secrets.json)를 로컬 실행, 테스트 및 디버깅에 사용할 수 있습니다. 클라우드에 대한 종속성 없이 디자인 및 개발 중에 시작하지만 중단 없이 테스트 및 프로덕션의 이후 단계로 전환합니다.
Azure Key Vault에서 자세히 알아보고 Visual Studio Connected Services를 사용하여 웹 애플리케이션에 Key Vault 연결에서 시작합니다.
Entity Framework를 사용하여 데이터 마이그레이션
Visual Studio는 앱을 개발하고 로컬로 데이터베이스를 변경한 다음 Azure의 프로덕션 데이터베이스와 동기화하는 문제를 해결하는 데 도움이 됩니다.
Azure SQL Database 및 Entity Framework를 사용하여 웹앱을 ASP.NET 경우 데이터베이스를 로컬로 변경할 때 Entity Framework 마이그레이션을 사용하여 구조화된 방식으로 해당 스키마 변경 내용 및 데이터 변경 내용을 Azure에 푸시할 수 있습니다. Entity Framework 마이그레이션을 참조하세요.
작업자 서비스
ASP.NET 웹앱은 작업자 서비스 실행의 이점을 활용할 수 있습니다. 기존 App Service 인스턴스에서 작업자 서비스를 실행하는 데 추가 비용은 없으며 온-프레미스 또는 가상 머신에서 실행 중인 Windows 서비스를 직접 대체할 수 있습니다. .NET의 작업자 서비스를 참조하세요.
다음 단계
Azure 서비스에 관심이 있을 수 있는 Azure 서비스에 대해 자세히 알아봅니다.
관련 콘텐츠
Azure 아키텍처 센터에서 Azure 개발을 위한 아키텍처 조언을 가져옵니다.