Share via


Azure SQL Database를 사용하는 독립형 단일 테넌트 애플리케이션을 배포 및 탐색합니다.

적용 대상:Azure SQL Database

이 자습서에서는 독립형 애플리케이션 패턴 또는 테넌트별 앱 패턴을 사용하여 개발한 Wingtip 티켓 SaaS 애플리케이션 예제를 배포하고 탐색합니다. 애플리케이션은 다중 테넌트 SaaS 활성화 시나리오를 간소화하는 Azure SQL Database의 기능을 보여 주도록 설계되었습니다.

독립형 애플리케이션 패턴 또는 테넌트별 앱 패턴은 각 테넌트에 대해 애플리케이션 인스턴스를 배포합니다. 각 애플리케이션은 특정 테넌트에 대해 구성되고 별도 Azure 리소스 그룹에 배포됩니다. 다중 테넌트 솔루션을 제공하기 위해 애플리케이션의 여러 인스턴스를 프로비전합니다. 이 패턴은 테넌트 격리가 최우선인 테넌트 수가 더 작은 경우에 가장 적합합니다. Azure에는 테넌트를 대신하여 서비스 공급자가 리소스를 테넌트 구독에 배포하고 관리하도록 허용하는 파트너 프로그램이 있습니다.

이 자습서에서는 3개의 테넌트에 대한 3개의 독립형 애플리케이션을 Azure 구독에 배포합니다. 개별 애플리케이션 구성 요소를 탐색하고 작업할 수 있는 전체 액세스 권한이 있습니다.

애플리케이션 소스 코드 및 관리 스크립트는 WingtipTicketsSaaS-StandaloneApp GitHub 리포지토리에서 사용할 수 있습니다. 애플리케이션은 Visual Studio 2015를 사용하여 만들어졌으며, 업데이트해야만 Visual Studio 2019에서 성공적으로 열리고 컴파일됩니다.

이 자습서에서는 다음에 대해 알아봅니다.

  • Wingtip 티켓 SaaS 독립 실행형 애플리케이션 배포 방법
  • 애플리케이션 소스 코드 및 관리 스크립트를 가져올 위치.
  • 앱을 구성하는 서버 및 데이터베이스 정보.

추가 자습서가 제공될 예정입니다. 이러한 자습서를 통해 이 애플리케이션 패턴을 기준으로 다양한 관리 시나리오를 살펴볼 수 있습니다.

Wingtip 티켓 SaaS 독립 실행형 애플리케이션 배포

제공된 3개 테넌트에 대한 앱을 배포합니다.

  1. Azure Portal에서 배포 템플릿을 열려면 파란색의 각 Azure에 배포 단추를 클릭합니다. 각 템플릿에는 새 리소스 그룹의 이름 및 앱의 다른 배포와 이 배포를 구분하는 사용자 이름이 매개 변수 값으로 필요합니다. 다음 단계에서는 이러한 값을 설정하는 방법을 자세히 설명합니다.

    Contoso Concert Hall
    Image showing a button labeled

    Dogwood Dojo
    Image showing a button labeled

    Fabrikam Jazz Club
    Image showing a button labeled

  2. 각각의 배포에 필요한 매개 변수 값을 입력합니다.

    중요

    일부 인증 및 서버 방화벽은 데모 목적으로 의도적으로 보호되지 않습니다. 각각의 애플리케이션 배포에 대한 새 리소스 그룹을 만듭니다. 기존 리소스 그룹을 사용하지 마세요. 이 애플리케이션이나 여기에서 만든 리소스를 프로덕션에 사용하지 마세요. 관련된 결제를 중지하려면 애플리케이션을 완료할 때 모든 리소스 그룹을 삭제합니다.

    리소스 이름에는 소문자, 숫자 및 하이픈만 사용하는 것이 가장 좋습니다.

    • 리소스 그룹 - 새로 만들기를 선택한 후 리소스 그룹의 이름을 소문자로 입력합니다. wingtip-sa-<venueName>-<user>가 권장되는 패턴입니다. <venueName>의 경우 장소 이름을 공백 없이 바꿉니다. <user>의 경우 아래에서 사용자 값을 바꿉니다. 이 패턴을 사용하면 리소스 그룹 이름은 wingtip-sa-contosoconcerthall-af1, wingtip-sa-dogwooddojo-af1, wingtip-sa-fabrikamjazzclub-af1이 될 수 있습니다.

    • 드롭다운 목록에서 위치를 선택합니다.

    • 사용자 - 이니셜에 숫자를 더한 짧은 사용자 값이 좋습니다(예: af1).

  3. 애플리케이션을 배포합니다.

    • 사용 약관에 동의하려면 클릭합니다.
    • 구매를 클릭합니다.
  4. 알림(검색 상자 오른쪽의 벨 아이콘)을 클릭하여 세 가지 전체 배포의 배포 상태를 모니터링합니다. 앱 배포에 약 5분이 걸립니다.

애플리케이션 실행

앱은 이벤트를 호스트하는 장소를 표시합니다. 장소는 애플리케이션의 테넌트입니다. 각 장소는 해당 이벤트를 나열하고 티켓을 판매하는 개인 설정된 웹 사이트를 얻게 됩니다. 장소 유형에는 콘서트 홀, 재즈 클럽 및 스포츠 클럽 등이 포함됩니다. 샘플에서 장소 유형에 따라 장소의 웹 사이트에 표시되는 배경 사진이 결정됩니다. 독립 실행형 앱 모델에서 각 장소에는 별도의 애플리케이션 인스턴스와 고유한 독립형 Azure SQL Database가 있습니다.

  1. 별도의 브라우저 탭에서 세 개의 각 테넌트에 대한 이벤트 페이지를 엽니다.

    • http://events.contosoconcerthall.<;user>.trafficmanager.net

    • http://events.dogwooddojo.<;user>.trafficmanager.net

    • http://events.fabrikamjazzclub.<;user>.trafficmanager.net

      각 URL에서 <user>를 배포의 사용자 값으로 바꿉니다.

    Events

들어오는 요청의 배포를 제어하기 위해 앱에서는 Azure Traffic Manager를 사용합니다. 각 테넌트 관련 앱 인스턴스는 URL에 도메인 이름의 일부로 테넌트 이름을 포함합니다. 모든 테넌트 URL에는 특정 사용자 값이 포함됩니다. URL은 다음 형식을 따릅니다.

  • http://events.<venuename>.<user>.trafficmanager.net

각 테넌트의 데이터베이스 위치는 배포된 해당 앱의 앱 설정에 포함됩니다.

프로덕션 환경에서는 일반적으로 CNAME DNS 레코드를 만들어 회사 인터넷 도메인이 트래픽 관리자 프로필의 URL을 가리키도록 합니다.

서버 및 테넌트 데이터베이스 탐색

배포된 리소스 중 일부를 살펴보겠습니다.

  1. Azure Portal에서 리소스 그룹 목록으로 이동합니다.
  2. 세 개의 테넌트 리소스 그룹이 표시됩니다.
  3. Fabrikam Jazz Club 배포의 리소스를 포함하는 wingtip-sa-fabrikam-<user> 리소스 그룹을 엽니다. fabrikamjazzclub-<user> 서버에 fabrikamjazzclub 데이터베이스가 포함되어 있습니다.

각 테넌트 데이터베이스는 50개의 DTU 독립형 데이터베이스입니다.

추가 리소스

리소스 그룹을 삭제하여 청구 중지

샘플 사용을 마친 후에는 만든 모든 리소스 그룹을 삭제하여 관련 청구를 중지합니다.

다음 단계

이 자습서에서는 다음에 대해 알아보았습니다.

  • Wingtip 티켓 SaaS 독립 실행형 애플리케이션 배포 방법
  • 앱을 구성하는 서버 및 데이터베이스 정보.
  • 샘플 리소스를 삭제하여 관련 결제를 중지하는 방법

다음 단계로, 프로비저닝 및 카탈로그 자습서를 참고하여 스키마 관리, 테넌트 분석과 같은 다양한 교차 테넌트 시나리오를 지원하는 테넌트 카탈로그의 용도를 살펴보세요.