Share via


다중 테넌트 솔루션의 설계자 및 개발자를 위한 리소스

다중 테넌트 애플리케이션에 대한 아키텍처

다음 문서에서는 Azure의 다중 테넌트 아키텍처 예제를 제공합니다.

Architecture 요약 기술 포커스
Azure의 다중 테넌트 SaaS 여러 지역에 배포되는 Azure의 다중 테넌트 SaaS 시나리오에 대한 참조 아키텍처
다중 테넌트 Azure Kubernetes Service와 함께 Application Gateway 수신 컨트롤러 사용 AKS 및 AGIC를 사용한 다중 테넌트 지원 구현 예제 Kubernetes
모든 다중 테넌트 아키텍처 다중 테넌트 지원을 포함하는 모든 아키텍처를 나열합니다. 여러 접두사

클라우드 디자인 패턴

다음 클라우드 디자인 패턴은 다중 테넌트 아키텍처에서 자주 사용됩니다.

패턴 요약
배포 스탬프 패턴 데이터 저장소를 포함하여 애플리케이션 구성 요소의 여러 독립 복사본(스케일링 단위)을 배치합니다.
페더레이션 ID 외부 ID 공급자에게 인증을 위임합니다.
게이트 키퍼 클라이언트와 애플리케이션 또는 서비스 간 브로커 역할을 하며, 요청을 검사 및 정리하고, 요청 및 데이터를 전달하는 전용 호스트 인스턴스를 사용하여 애플리케이션 및 서비스를 보호합니다.
큐 기반 부하 평준화 작업 그리고 그 작업이 일시적인 높은 부하를 부드럽게 처리하기 위해 호출하는 서비스 사이에서 버퍼 역할을 하는 큐를 사용합니다.
분할 데이터 저장소를 수평 파티션 또는 분할 집합으로 나눕니다.
제한 애플리케이션 인스턴스, 개별 테넌트 또는 서비스 전체의 리소스 사용량을 제어합니다.

안티패턴

한 테넌트의 활동이 다른 테넌트의 시스템 사용에 부정적인 영향을 미칠 수 있는 노이지 네이버 안티패턴을 고려합니다.

Microsoft Azure Well-Architected Framework

Azure Well-Architected Framework의 전체가 모든 솔루션에 중요하지만 복원력 핵심 요소에 특히 주의해야 합니다. 클라우드 호스팅의 속성 상 애플리케이션은 다중 테넌트인 경우가 많고, 공유 플랫폼 서비스를 사용하고, 리소스와 대역폭에 대해 경쟁하고, 인터넷을 통해 통신하고, 상용 하드웨어에서 실행됩니다. 이 때문에 일시적 오류 및 더 영구적인 오류가 발생할 가능성이 둘 다 높아집니다.

다중 테넌트 아키텍처 참고 자료

  • Azure에서 다중 테넌트 솔루션 설계(비디오): 이 비디오에서는 Azure에서 다중 테넌트 솔루션을 디자인, 설계 및 빌드하는 방법을 설명합니다. SaaS 제품 또는 다른 다중 테넌트 서비스를 빌드하는 경우 고성능, 테넌트 격리를 계획하고 배포를 관리할 때 고려해야 할 사항이 많습니다. 이 세션은 스타트업 및 ISV를 포함하여 다중 테넌트 또는 SaaS 애플리케이션을 빌드하는 개발자와 설계자를 대상으로 합니다.
  • Azure Friday - Azure에서 다중 테넌트 솔루션 설계(비디오): Azure Friday의 이 비디오에서는 Azure에서 다중 테넌트 SaaS(서비스 제공 소프트웨어) 솔루션을 디자인, 설계 및 빌드하는 방법을 설명합니다.
  • SaaS로의 여정 가속화 및 위험성 제거(비디오): 이 비디오에서는 기존 솔루션을 온-프레미스에서 Azure로 리프트 앤 시프트하거나, 다중 테넌트 아키텍처를 고려하거나, 기존 SaaS 웹 애플리케이션을 현대화하려는 경우에 SaaS(서비스 제공 소프트웨어) 제공 모델로 전환하기 위한 참고 자료를 제공합니다.

Azure 서비스용 리소스

거버넌스 및 규정 준수

  • 여러 Azure 구독 구성 및 관리: Azure 구독을 관리하는 방법과 구독에 테넌트 리소스를 할당하는 방법을 고려하는 것이 중요합니다.
  • 테넌트 간 관리 환경: 서비스 공급자로서 Azure Lighthouse를 사용하여 사용자 고유의 Microsoft Entra 테넌트 내에서 여러 고객을 위한 리소스를 관리할 수 있습니다. Azure 위임 리소스 관리를 사용하여 여러 작업 및 서비스를 관리되는 테넌트에서 수행할 수 있습니다.
  • Azure 관리형 애플리케이션: 관리되는 애플리케이션에서 리소스는 앱 게시자가 관리하는 리소스 그룹에 배포됩니다. 리소스 그룹은 소비자의 구독에 있지만, 게시자 테넌트의 ID는 해당 리소스 그룹에 액세스할 수 있습니다.

Compute

  • Azure Kubernetes Service에서 클러스터 격리의 모범 사례: AKS는 다중 테넌트 클러스터를 실행하고 리소스를 격리할 수 있는 방법에 유연성을 제공합니다. Kubernetes에 대한 투자를 최대화하려면 먼저 AKS 다중 테넌트 지원 및 격리 기능을 이해하고 구현해야 합니다. 이 모범 사례 문서는 클러스터 운영을 위한 격리를 중점적으로 설명합니다.
  • Azure Kubernetes Service에서 클러스터 보안 및 업그레이드에 대한 모범 사례: AKS(Azure Kubernetes Service)에서 클러스터를 관리할 때 워크로드 및 데이터 보안이 주요 고려 사항입니다. 논리적 격리를 사용하여 다중 테넌트 클러스터를 실행하는 경우 특히 리소스 및 워크로드 액세스를 보호해야 합니다.

네트워킹

  • 공급자(SaaS ISV) 및 소비자 관점에서 본 Azure Private Link 서비스 설명 및 데모: 다중 테넌트 서비스 공급자(예: SaaS 제품을 빌드하는 독립 소프트웨어 공급업체)를 지원하는 Azure Private Link 서비스 기능을 살펴보는 비디오입니다. 이 솔루션을 사용하면 소비자가 소비자 고유의 Azure 가상 네트워크에서 개인 IP 주소를 사용하여 공급자의 서비스에 액세스할 수 있습니다.
  • Azure Private Link 서비스와 TCP 프록시 프로토콜 v2 — 심층 분석: Azure Private Link 서비스의 고급 기능인 TCP 프록시 프로토콜 v2에 대한 심층 분석을 제공하는 비디오입니다. 다중 테넌트 및 SaaS 시나리오에서 유용합니다. 이 비디오에서는 Azure Private Link 서비스에서 프록시 프로토콜 v2를 사용하도록 설정하는 방법을 보여 줍니다. 또한 프라이빗 엔드포인트를 통해 서비스에 액세스하기 위해 NAT IP가 아닌 원래 클라이언트의 원본 개인 IP 주소를 읽도록 NGINX 서비스를 구성하는 방법도 보여 줍니다.
  • NGINX Plus를 사용하여 linkIdentifierAzure Private Link 서비스에서 프록시 프로토콜 TLV 디코딩: NGINX Plus를 사용하여 Azure Private Link 서비스에서 TCP 프록시 프로토콜 v2 TLV를 가져오는 방법을 보여 주는 비디오입니다. 이 비디오에서는 프라이빗 엔드포인트 연결의 숫자 linkIdentifier(LINKID라고도 함)를 추출하고 디코딩하는 방법을 보여 줍니다. 이 솔루션은 연결이 만들어진 특정 소비자 테넌트를 식별해야 하는 다중 테넌트 공급자에게 유용합니다.
  • SaaS 프라이빗 연결 패턴: Azure Managed Applications를 사용하여 프라이빗 엔드포인트 연결의 승인을 자동화하는 한 가지 방법을 보여 주는 예제 솔루션입니다.

  • SaaS 솔루션에 대한 클레임 기반 라우팅: 이 문서에서는 테넌트 라우팅 및 테넌트에 대한 매핑 요청을 용이하게 하기 위해 역방향 프록시를 사용하여 SaaS 솔루션에서 백 엔드 서비스 관리를 강화하는 방법을 설명합니다.

스토리지 및 데이터

메시징

ID

  • Microsoft Entra ID의 테넌트: Microsoft Entra ID에는 여러 Microsoft Entra 디렉터리에서 작동하는 것을 의미하는 자체적인 다중 테넌트 개념이 있습니다. 개발자는 Microsoft Entra 앱을 사용할 때 다양한 시나리오를 지원하도록 앱을 단일 테넌트 또는 다중 테넌트로 구성하도록 선택할 수 있습니다.
  • Azure AD B2C를 사용한 사용자 지정 브랜드 ID 솔루션: Azure Active Directory B2C는 하루에 수백만 명의 사용자와 수십억 개의 인증을 지원할 수 있는 고객 ID 액세스 관리 솔루션입니다.
  • Microsoft ID 플랫폼 엔드포인트를 사용하여 다중 테넌트 디먼 빌드: 이 샘플 애플리케이션은 Microsoft ID 플랫폼 엔드포인트를 사용하여 장기 실행 비대화형 프로세스에서 Microsoft 비즈니스 고객의 데이터에 액세스하는 방법을 보여 줍니다. 이는 OAuth2 클라이언트 자격 증명 부여를 사용하여 액세스 토큰을 획득한 다음, 이를 사용하여 Microsoft Graph를 호출하고 조직 데이터에 액세스합니다.
  • Microsoft Entra ID를 사용하여 다중 테넌트 앱 인증 및 권한 부여: Microsoft Entra ID를 통해 다중 테넌트 시나리오에서 클라우드 네이티브 앱의 기능을 개선할 수 있는 방법을 알아봅니다.
  • Azure 아키텍처 연습: B2C 시나리오를 위한 다중 테넌트 Azure 아키텍처 빌드: Azure Active Directory B2C 및 API Management를 사용하는 다중 테넌트 모바일 앱 배후의 아키텍처를 둘러봅니다.
  • SaaS 솔루션에서 Microsoft Entra ID를 사용하여 사용 권한, 역할 및 범위를 정의하고 구현합니다. 이 문서에서는 SaaS 공급자가 사용할 수 있는 Microsoft Entra 인증 및 권한 부여와 관련된 세 가지 기본 개념을 다룹니다. 애플리케이션 역할 기능, 위임 및 애플리케이션 권한 및 범위 기능에 대해 설명합니다.

분석

IoT

AI/ML

커뮤니티 콘텐츠

Kubernetes

  • Kubernetes에 대한 세 가지 테넌시 모델: Kubernetes 클러스터는 일반적으로 조직의 여러 팀에서 사용합니다. 이 문서에서는 Kubernetes에 대한 세 가지 테넌시 모델을 설명합니다.
  • Kubernetes 다중 테넌트 이해: Kubernetes는 다중 테넌트 시스템이 아닙니다. 다중 테넌트 구성이 가능하지만 이는 어려울 수 있습니다. 이 문서에서는 Kubernetes 다중 테넌트 유형에 대해 설명합니다.
  • Kubernetes 다중 테넌트 – 모범 사례 가이드: Kubernetes 다중 테넌시는 Kubernetes 사용량이 확산됨에 따라 점점 더 많은 조직이 관심을 갖는 주제입니다. 그러나 Kubernetes는 명시적으로 다중 테넌트 시스템이 아니므로 다중 테넌트 Kubernetes 구현을 설계하기가 어려울 수 있습니다. 이 문서에서는 Kubernetes 다중 테넌트용 유용한 도구뿐만 아니라 이러한 문제를 극복하는 방법에 대해 설명합니다.
  • 캡슐: Kubernetes 다중 테넌트를 간단하게 만들었습니다. 캡슐은 Kubernetes 클러스터에서 다중 테넌트 및 정책 기반 환경을 구현하는 데 도움이 됩니다. PaaS(Platform as a Service) 제품은 아니지만 업스트림 Kubernetes만 사용하여 미니멀한 디자인 접근 방식을 사용하는 마이크로 서비스 기반 에코시스템입니다.
  • 로프트: 클러스터에 다중 테넌트 추가: 로프트는 다중 테넌트용 경량 Kubernetes 확장을 제공합니다.
  • 크로스플레인: 클라우드 네이티브 컨트롤 플레인 프레임워크: 크로스플레인을 사용하면 Kubernetes 기반 접근 방식을 사용하여 자체 솔루션에 대한 제어 평면을 빌드할 수 있습니다.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

주요 작성자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인하세요.