--- id: 테넌시 선택 20260305 created: 2026-03-05 13:18 tags: - tenancy - cluster - ecs - ecr - saas --- [[싱글 테넌시(Single-tenancy)]] vs [[멀티 테넌시(Multi-tenancy)]] : 결정적인 차이는 **물리적으로 격리되어있는지** 여부 ### [[멀티 테넌시(Multi-tenancy)]] 멀티 테넌시를 선택할 때 가장 중요한 것은 **인프라를 공유한다**는 것입니다. 순수 멀티 테넌시는 하나의 어플리케이션 인스턴스와 하나의 DB를 여러 고객들이 공유해서 사용합니다. > [!note] 설정값, 환경변수 등의 차이만으로 고객간의 구분을 하고 모든 인프라는 하나를 공유해서 사용 고객간의 요구사항 편차가 적을 경우에는 효율이 좋음 편차가 클 경우 대응이 매우 어렵거나 거의 불가능에 가깝습니다. (고객 수가 적으면 되긴 함) **SaaS 솔루션:** 완전한 멀티 테넌시 (공통 기능 + DB 설정 기반 커스텀) 즉 SaaS 솔루션은 모든 고객들이 하나의 인프라를 공유해서 사용하는 경우를 의미합니다. > [!warning] 이렇게 되면 고객간의 요구사항 편차가 클 경우 대응이 불가능함 이 문제를 해결하기 위해 하이브리드 방식을 채택합니다. **"인프라는 공유하되 애플리케이션은 격리하는 방식"** 같은 경우입니다. 이를 **가상 싱글 테넌시(Virtual Single Tenancy)** 또는 **격리형 멀티 테넌시**라고 부르기도 합니다. 격리형 테넌시 형태로 엔터프라이즈 솔루션 형태로 구성을 해야함. **엔터프라이즈 솔루션:** 고객별 컨테이너/네임스페이스 분리 + 이미지 커스텀 테넌시별로 별도의 컨테이너 이미지를 확보해야함 코드레벨에서 독립되어지기 때문에 클라우드형 싱글테넌시 구조와 유사한 형태의 서비스가 가능 ### 엔터프라이즈 솔루션의 구조도 (고객사별 독립된 어플리케이션 인스턴스 사용 + 하나의 DB 인프라 사용) ![[Pasted image 20260305140832.png]] VPC레벨까지도 격리를 원하는 고객사의 경우에는 위의 이미지대로 별도의 ECS Cluster를 구성 그정도까지 아니면 하나의 공용 ECS Cluster에 [[태스크(Task)]]만 별도로 추가 ## 🔗 관련 노트 - [[클러스터(Cluster)]] - [[ECR(Elastic Container Registry)]]