매일 업데이트
2023-07-24 07:27 11 min

클라우드 컴퓨팅의 단일 테넌트 대 다중 테넌트 이해

클라우드 컴퓨팅 환경에서 '테넌트'라는 용어는 저장 공간, 서버, 애플리케이션 등 컴퓨팅 자원의 공유 풀에 접근할 수 있는 그룹 또는 개별 사용자를 지칭합니다. 이러한 자원은 클라우드 서비스 제공업체가 제공합니다.

각 테넌트는 다른 테넌트와 분리되어 있어 상호 간의 데이터나 자원에 접근할 수 없습니다. 이는 여러 테넌트가 각자의 개인 정보 보호와 보안을 유지하면서 동일한 인프라를 공유할 수 있게 합니다. 테넌트는 개인, 조직 또는 조직 내 부서가 될 수 있습니다.

만약 자원과 인프라가 특정 테넌트 하나만을 위해 할당된다면, 이러한 구조를 '단일 테넌트'라고 부릅니다. 반대로, 여러 다른 테넌트가 동일한 자원을 공유하는 경우, 이는 '다중 테넌트' 구조를 의미합니다.

하지만 단일 테넌트와 다중 테넌트 구조의 차이는 때로는 더욱 복잡합니다. 예를 들어, 클라우드 서비스 제공업체로 AWS를 활용하여 단일 테넌트와 다중 테넌트 구조를 모두 구축할 수 있습니다. 실질적인 차이는 세부 사항에 있습니다. 좀 더 자세히 살펴보겠습니다.

출처: blogs.sap.com

더 자세히 알아보기 전에, 두 구조의 주요 특징을 요약해 보겠습니다.

특징 단일 테넌트 구조 다중 테넌트 구조
자원 공유 다른 테넌트와 공유하지 않음 여러 고객 간 공유
맞춤 설정 높은 수준의 맞춤 설정 가능 제한적인 맞춤 설정
비용 일반적으로 더 비쌈 일반적으로 더 저렴함
보안 강화된 보안 보안 수준이 낮음
성능 예측 가능한 성능 확장성에 영향
유지 관리 고객이 자원 유지 관리 클라우드 제공자가 유지 관리 처리
협업 제한적인 협업 더 큰 협업
규정 준수 특정 규정을 더 잘 준수 모든 테넌트에 대한 표준 프로세스

단일 테넌트 구조

단일 테넌트 클라우드 애플리케이션은 오직 하나의 고객 또는 조직에 서비스를 제공하도록 설계되었으며, 다른 고객과 공유되지 않는 전용 자원을 제공합니다.

출처: cncf.io

이 모델에서는 하나의 고객 또는 테넌트가 클라우드 서버, 애플리케이션 또는 인프라에 독점적으로 접근합니다. 고객은 자원을 완전히 제어하고 특정 요구 사항에 맞게 자원을 맞춤 설정할 수 있습니다. 즉, 클라우드 자원이 해당 고객 전용이라는 의미입니다.

이러한 단일 테넌트는 특정 요구 사항에 맞춰 자원을 맞춤 설정할 수 있으며, 이는 자원에 대한 더 큰 유연성과 제어를 가능하게 합니다.

고객은 전용 자원에 대한 비용을 지불하므로, 일반적으로 다중 테넌트 구조보다 비용이 더 많이 듭니다.

다음은 AWS 클라우드에서 엔드투엔드 단일 테넌트 구조를 구축하는 방법의 예시입니다.

  • 가상 사설 클라우드(VPC)를 생성하여 단일 테넌트의 자원을 격리합니다. VPC는 네트워크 격리 및 보안을 제공합니다.
  • IAM(Identity and Access Management)을 사용하여 단일 테넌트의 자원에 대한 접근 권한을 관리합니다. IAM은 테넌트가 접근할 수 있는 자원을 정의하는 정책을 설정합니다.
  • Elastic Compute Cloud(EC2)를 사용하여 단일 테넌트를 위한 가상 머신을 프로비저닝합니다. EC2는 특정 구성으로 인스턴스를 생성하고 자원에 대한 완벽한 제어를 제공합니다.
  • EBS(Elastic Block Store)를 사용하여 가상 머신에 블록 수준의 저장 공간을 제공합니다.
  • 관계형 데이터베이스 서비스(RDS)를 사용하여 단일 테넌트를 위한 관리형 데이터베이스 서비스를 제공합니다. 테넌트의 격리 및 보안을 제공하는 별도의 데이터베이스 인스턴스를 생성할 수 있습니다.
  • Amazon S3를 사용하여 이미지, 비디오, 문서와 같은 정적 자산을 저장합니다. 테넌트만 접근할 수 있는 별도의 버킷을 생성할 수 있습니다.
  • Elastic Load Balancer(ELB)를 사용하여 테넌트 전용 자원 내에서 애플리케이션의 여러 인스턴스 간에 트래픽을 분산시킵니다.

클라우드 애플리케이션 예시

다음은 단일 테넌트 구조에서 활용할 수 있는 대표적인 클라우드 애플리케이션의 일부입니다.

  • Workday는 고객에게 단일 테넌트 구조를 제공하는 클라우드 기반 인적 자원 및 재무 관리 소프트웨어입니다.
  • SAP HANA 클라우드 기반 플랫폼.
  • Oracle 클라우드 구조.
  • 전용 자원이 포함된 IBM Cloud Dedicated는 다른 고객과 공유되지 않습니다.
  • Rackspace 프라이빗 클라우드.

단일 테넌트 클라우드 구조의 장점

단일 테넌트 클라우드 구조는 다중 테넌트 구조에 비해 몇 가지 중요한 이점을 제공합니다.

  • 자원이 단일 고객 전용이므로 보안이 강화됩니다. 고객은 자원의 보안을 완전히 제어할 수 있습니다. 다중 테넌트 환경에서 발생할 수 있는 데이터 유출 또는 무단 접근의 위험을 제거합니다.
  • 더 큰 맞춤 설정이 가능합니다. 특정 요구 사항을 충족하도록 자원을 맞춤 설정하여 성능과 효율성을 높일 수 있습니다. 또한 소프트웨어 및 하드웨어 선택에 있어 더 큰 유연성을 누릴 수 있습니다.
  • 자원이 단일 고객에게 전용되므로 예측 가능한 성능을 제공합니다. 높은 수준의 성능과 안정성이 요구되는 애플리케이션에 대해 일관된 성능을 기대할 수 있습니다.
  • 자원이 단일 테넌트만을 위한 것이므로 특정 규정이나 표준을 더 잘 준수할 수 있습니다.
  • 고객이 필요에 따라 자원을 확장 또는 축소할 수 있어 확장성이 향상됩니다.

하지만 단일 테넌트 구조는 일반적으로 다중 테넌트 구조보다 비용이 많이 들기 때문에, 모든 조직에 최적의 선택은 아닙니다.

단일 테넌트 클라우드 구조의 실제 사용 사례

다음은 단일 테넌트 구조가 가장 적합한 사용 사례의 예시입니다.

  • 의료 기관은 HIPAA와 같은 엄격한 규정을 준수해야 하며, 높은 수준의 보안과 개인 정보 보호를 요구합니다. 단일 테넌트 구조를 통해 의료 기관은 자원을 완벽하게 제어하고 환자와 직원의 요구 사항에 맞는 보안 조치를 구현할 수 있습니다.
  • 금융 기관은 PCI DSS와 같은 엄격한 규정을 준수해야 합니다. 따라서 단일 테넌트 구조는 좋은 해결책이 될 수 있습니다.
  • 정부 기관은 FISMA와 같은 높은 수준의 보안 및 규정 준수를 요구하는 엄격한 규정을 준수해야 합니다.
  • 연구 기관은 자원에 대한 높은 수준의 사용자 정의 및 성능이 요구되는 경우가 많습니다.
  • 전자 상거래 조직도 단일 테넌트 구조의 또 다른 좋은 사용 사례입니다. 고객의 변화하는 요구 사항을 충족하기 위해 필요에 따라 자원을 확장하거나 축소할 수 있습니다.

다중 테넌트 구조

출처: aws.amazon.com

다중 테넌트 구조는 높은 보안 및 사용자 정의 요구 사항보다는 비용 절감, 확장성, 협업을 우선시하는 조직에 가장 적합한 해결책인 경우가 많습니다.

  • 여러 고객이 클라우드에서 동일한 자원을 공유합니다. 이는 자원이 특정 고객 전용이 아니라 모든 고객 간에 공유됨을 의미합니다.
  • 다중 테넌트 구조는 공유 자원의 특성으로 인해 일반적으로 단일 테넌트 구조보다 비용이 저렴합니다.
  • 맞춤 설정 가능 범위에 제한이 있습니다. 따라서 고도로 맞춤 설정된 자원이 필요한 고객에게는 단점이 될 수 있습니다.

다음은 AWS 클라우드에서 엔드투엔드 다중 테넌트 구조를 구축하는 방법의 예시입니다.

  • 각 테넌트의 자원을 격리하기 위한 VPC를 생성합니다. 각 테넌트는 네트워크 격리 및 보안을 제공하는 자체 VPC를 갖게 됩니다.
  • IAM을 사용하여 각 테넌트의 자원에 대한 접근 권한을 관리합니다. IAM은 각 테넌트가 접근할 수 있는 자원을 정의하는 정책을 생성합니다. 테넌트마다 다른 정책을 가질 수 있습니다.
  • ELB를 사용하여 애플리케이션의 여러 인스턴스에 트래픽을 분산시킵니다. 어떤 트래픽이 어떤 테넌트로 이동하는지 제어합니다.
  • RDS를 사용하여 각 테넌트에 관리형 데이터베이스 서비스를 제공합니다. 별도의 데이터베이스 권한 및 데이터 콘텐츠를 사용하여 각 테넌트에 대해 별도의 데이터베이스 인스턴스를 만듭니다. 동일한 데이터베이스 클러스터를 사용할 수도 있습니다. 이는 테넌트에게 격리 및 보안을 제공합니다.
  • Amazon S3를 사용하여 이미지, 비디오, 문서와 같은 정적 자산을 저장합니다. 테넌트의 버킷에 대한 접근을 제어할 수 있으며, 필요에 따라 여러 계정 간에 공유하거나 분리할 수 있습니다.
  • CloudFront를 사용하여 사용자에게 정적 자산을 배포합니다. 격리 및 보안을 제공하는 각 테넌트에 대해 별도의 배포를 생성합니다.

클라우드 애플리케이션 예시

다음은 다중 테넌트 클라우드 애플리케이션의 몇 가지 실제 예시입니다.

  • Salesforce는 여러 조직이 데이터를 분리하고 안전하게 유지하면서 동일한 인프라를 사용할 수 있도록 하는 클라우드 기반 고객 관계 관리(CRM) 플랫폼입니다.
  • Dropbox는 여러 사용자가 동일한 파일을 공동 작업할 수 있는 클라우드 기반 파일 저장 및 공유 서비스입니다.
  • Microsoft Office 365는 여러 사용자가 동일한 문서, 스프레드시트, 프레젠테이션에서 공동 작업할 수 있는 클라우드 기반 생산성 제품군입니다.
  • Google Workspace는 Microsoft와 유사한 또 다른 클라우드 기반 생산성 제품군입니다.
  • AWS는 여러 조직이 데이터를 분리하고 안전하게 유지하면서 동일한 인프라를 사용할 수 있도록 하는 클라우드 기반 인프라 플랫폼입니다.

다중 테넌트 구조의 장점

다중 테넌트 클라우드 구조는 몇 가지 고유한 장점을 제공합니다.

  • 이 구조는 일반적으로 단일 테넌트 구조보다 저렴합니다. 여러 고객이 자원을 공유하기 때문입니다.
  • 확장성이 더 뛰어납니다. 자원을 공유할 때 고객의 변화하는 요구 사항을 충족하기 위해 필요에 따라 자원을 확장하거나 축소할 수 있습니다. 동시에 모든 사용자를 위해 확장됩니다.
  • 이 구조는 유지 관리가 덜 필요합니다. 클라우드 제공자는 모든 테넌트의 동일한 자원을 유지 관리할 책임이 있습니다. 따라서 유지 관리는 한 번만 수행됩니다.
  • 고객이 동일한 자원을 공유하므로 고객 간에 협업이 용이합니다. 고객은 프로젝트에서 함께 작업하고 데이터를 보다 효율적으로 공유할 수 있습니다.
  • 이 구조는 표준화를 촉진합니다. 클라우드 제공자는 표준 프로세스와 절차를 구현하고 모든 테넌트에 동시에 적용할 수 있습니다.

하지만 조직에서 높은 수준의 보안, 규정 준수 또는 사용자 정의가 필요한 경우, 다중 테넌트 구조가 최선의 선택이 아닐 수 있습니다. 공유 자원은 이러한 요구 사항을 충족할 기회를 낮춥니다.

다중 테넌트 구조의 실제 사용 사례

다음은 다중 테넌트 구조가 가장 적합한 사용 사례의 몇 가지 예입니다.

  • 중소기업(SMB)은 예산과 자원이 제한적인 경우가 많기 때문에, 다중 테넌트 구조가 매력적인 선택이 될 수 있습니다.
  • SaaS(Software as a Service) 제공업체는 다중 테넌트 구조를 사용하여 여러 고객에게 서비스를 제공합니다.
  • 소셜 미디어 플랫폼은 높은 수준의 확장성과 협업을 필요로 합니다. 다중 테넌트 구조를 통해 소셜 미디어 플랫폼은 사용자의 변화하는 요구 사항을 충족하기 위해 필요에 따라 자원을 확장하거나 축소할 수 있습니다.
  • 교육 기관은 IT 인프라를 위한 비용 효율적인 해결책이 필요한 경우가 많습니다. 다중 테넌트 구조를 통해 교육 기관은 자원 비용을 다른 기관과 공유하여 비용을 절감할 수 있습니다.
  • 퍼블릭 클라우드 제공업체는 다중 테넌트 구조를 사용하여 여러 고객에게 서비스를 제공합니다.

AWS 클라우드는 어디에 적합할까요?

출처: prod.workshops.aws

앞서 언급했듯이, AWS는 단일 및 다중 테넌트 구조 모두에 사용할 수 있습니다.

단일 고객 또는 조직을 위한 전용 인프라를 구축할 수 있습니다. 예를 들어, AWS는 단일 고객 전용 물리적 서버를 제공하는 EC2 전용 호스트를 제공합니다. 이를 통해 고객은 기본 하드웨어를 완벽하게 제어할 수 있습니다.

AWS에는 고객이 AWS 클라우드 내에서 격리된 가상 네트워크를 생성할 수 있는 가상 사설 클라우드(VPC)도 있습니다.

그러나 AWS는 공유 인프라를 구축하는 데 사용할 수 있는 다양한 서비스를 제공할 수 있습니다. 예를 들어, AWS는 여러 고객이 공유할 수 있는 가상 서버를 제공하는 EC2 인스턴스(전용 아님)를 제공합니다. 그런 다음 각 고객은 고유한 개인 정보 보호 및 보안을 유지하면서 동일한 기본 하드웨어와 인프라를 공유합니다.

또한 Amazon S3와 같은 서비스를 활용하여 여러 고객 간에 동일한 저장 공간을 공유할 수 있습니다. 고객은 공유 환경에서 데이터를 저장하고 검색할 수 있습니다.

AWS의 RDS 데이터베이스의 경우, 다양한 설정 옵션을 사용할 수 있습니다. 각 테넌트에 대해 별도의 데이터베이스 인스턴스를 생성할 수 있습니다. 단일 테넌트 전용 데이터베이스 클러스터와 인스턴스를 생성할 수도 있습니다.

마지막으로, RDS를 사용하여 여러 테넌트를 위한 공유 데이터베이스 서비스를 생성할 수 있습니다. 이러한 데이터베이스 인스턴스는 여러 테넌트를 지원하며, 궁극적으로 맞춤 설정 또는 성능 수준을 제한합니다.

결론적으로, 단일 또는 다중 테넌트 구조를 사용할지는 플랫폼 자체가 아니라 플랫폼을 어떻게 구성하고 설정하는지에 따라 결정됩니다.

마지막으로

단일 테넌트와 다중 테넌트 구조 사이의 선택은 고객의 특정 요구 사항에 따라 달라집니다. 단일 테넌트 구조는 일반적으로 높은 수준의 보안, 규정 준수, 사용자 정의가 필요한 조직에서 선호합니다. 반면, 다중 테넌트 구조는 비용 절감과 확장성을 우선시하는 조직에서 선호합니다.

AWS와 같은 클라우드 플랫폼은 필요에 따라 구조를 변경할 수 있는 유연성을 제공합니다. 또한 각 사례가 고유한 위치를 차지하며 함께 작동하는 하이브리드 환경을 구축하는 데 활용될 수도 있습니다.

다음으로, 클라우드 컴퓨팅의 다중 테넌시를 심층적으로 알아보시기 바랍니다.

저자
Korea

기술 트렌드와 실용적인 팁을 전하는 लेखक입니다.