호스팅 SaaS 애플리케이션에 대한 기반 구조 설계 방법 학습
SaaS 애플리케이션 정보
SaaS 응용 프로그램은 공급업체가 클라우드에서 서비스로 제공하는 응용 프로그램입니다. 공급업체의 고객은 서비스에 구독하고 필요할 때 애플리케이션을 사용합니다.
SaaS 업체의 각 가입자(또는 고객) 는 테넌트입니다.
- 단일 테넌트 인식 응용 프로그램 인스턴스입니다.
이 패턴에서 SaaS 공급업체는 모든 테넌트에서 사용하는 단일 응용 프로그램 인스턴스를 배치합니다. 응용 프로그램은 테넌트 관련 작업 로드 및 데이터의 구분을 처리합니다.
모든 테넌트는 공통 코드 기반에서 구축된 동일한 애플리케이션 버전을 가져옵니다. 모든 애플리케이션 배치는 동일한 코드를 기반으로 하므로 공급업체는 서비스를 효율적으로 구성, 패치 및 업그레이드할 수 있습니다. 서비스 스케일 및 작동은 쉽습니다.그러나 테넌트 인식 애플리케이션 환경을 구축하려면 초기에 더 많은 노력이 필요합니다. 또한 이 배치 패턴은 전체 격리가 필요한 SaaS 고객에게 적합하지 않습니다.
- 다중 테넌트 관련 애플리케이션 인스턴스
이 패턴은 솔루션의 중심입니다.
SaaS 공급업체는 여러 개의 격리된 애플리케이션 인스턴스를 배포하고 관리합니다. 각 배치는 특정 테넌트에 사용됩니다. SaaS 공급업체는 공통 관리 계층을 통해 개별 테넌트 애플리케이션 인스턴스를 관리합니다.
공급업체는 단일 코드 기반에서 모든 테넌트 애플리케이션 인스턴스를 작성하거나 각 테넌트에 애플리케이션의 사용자정의 버전을 제공하도록 선택할 수 있습니다. 이 패턴은 응용 프로그램 환경을 완전히 격리해야 하는 SaaS 고객에게 적합합니다.
구조
이 아키텍처는 SaaS 공급업체의 여러 테넌트를 호스트하는 Oracle Cloud Infrastructure 테넌시를 보여줍니다. 구조의 모든 리소스는 단일 영역에 있습니다.
SaaS 공급업체의 관리 기반구조와 각 테넌트의 응용 프로그램 리소스는 별도의 구획 및 vcn(가상 클라우드 네트워크) 에서 격리됩니다. 네트워크 격리를 통해 응용 프로그램 및 데이터가 테넌시의 다른 배치와 분리됩니다. 구획은 리소스의 논리적 격리를 보장하고 세분화된 액세스 제어를 사용으로 설정합니다.
![여러 SaaS 테넌트를 호스트하는 ISV 테넌시에 대한 구조입니다. 여러 SaaS 테넌트를 호스트하는 ISV 테넌시에 대한 구조입니다.](img/saas-isv-multitenant-architecture.png)
이 구조에는 다음 구성 요소가 포함됩니다.
- 관리 구획
관리 구획은 개별 테넌트 응용 프로그램 배치를 관리하는 데 사용되는 공통 기반 구조에 필요한 모든 Isv별 리소스에 대한 논리적 컨테이너입니다. 여기에는 다음 리소스가 포함됩니다.
- ISV VCN
해당 테넌트에 액세스하고 관리하기 위해 SaaS ISV에 필요한 리소스가 ISV VCN에 연결되어 있습니다.
- 관리 서버
관리 서버는 전용 서브넷의 컴퓨트 인스턴스입니다. 이 서버에서 기반 구조 모니터링 응용 프로그램을 실행하여 테넌트 서버를 모니터할 수 있습니다. 관리 서버는 ISV VCN의 전용 서브넷에 연결됩니다. 관리 서버는 경로 지정 게이트웨이를 통해 테넌트 구획의 서버와 통신할 수 있습니다.
- ISV VCN
- 피어링 구획
ISV VCN의 리소스와 테넌트 리소스 간의 전용 통신을 위해서는 ISV VCN와 각 테넌트 VCN 간의 로컬 피어링 관계가 필요합니다. 그러나 VCN는 최대 10개의 로컬 피어링 관계만 가질 수 있습니다. 이 배율 제한을 극복하기 위해 아키텍처는 여러 피어링 Vcn에 연결할 수 있는 경로 지정 게이트웨이를 사용합니다. 각 피어링 VCN는 최대 10개의 테넌트 vcn과 로컬 피어링 관계를 가질 수 있습니다. 따라서 피어링 구획의 경로 지정 게이트웨이 및 피어링 Vcn을 추가하여 토폴로지를 확장할 수 있습니다.
- 피어링 서브넷
피어링 서브넷은 ISV VCN의 일부입니다. 모든 경로 지정 게이트웨이는 이 서브넷에 연결됩니다.
- 경로 지정 게이트웨이 및 피어링 Vcn
각 경로 지정 게이트웨이는 피어링 VCN를 통해 관리 서버에서 테넌트 vcn으로 트래픽을 경로 지정하는 Oracle Linux 컴퓨트 인스턴스입니다.
각 경로 지정 게이트웨이 인스턴스의 기본 VNIC는 ISV VCN의 피어링 서브넷에 연결됩니다.
각 경로 지정 게이트웨이 인스턴스의 보조 Vnic는 피어링 vcn의 서브넷에 연결됩니다. 경로 지정 게이트웨이가 작동할 수 있는 최대 피어링 Vcn 수는 기본 컴퓨트 인스턴스 구성에서 지원하는 보조 vnic 수에 따라 다릅니다. 예를 들어, 경로 지정 게이트웨이가
VM.Standard.2.4
구성을 사용하는 컴퓨트 인스턴스에서 실행되는 경우 최대 3개의 보조 vnic를 가질 수 있으며 최대 3개의 피어링 vcn을 서비스할 수 있습니다. 각 피어링 VCN은 최대 10개의 테넌트 vcn에 연결할 수 있습니다. 따라서VM.Standard.2.4
모양을 사용하는 경로 지정 게이트웨이는 최대 30개의 응용 프로그램 테넌트를 지원할 수 있습니다.각 경로 지정 게이트웨이의 고가용성을 위해서는 부동 IP 주소를 사용하여 계산 인스턴스의 능동-수동 쌍을 설정하고, 자동 복구를 위해 Pacemaker 및 Corosync와 같은 소프트웨어를 사용할 수 있습니다.
- 피어링 서브넷
- 테넌트 구획
각 테넌트에 대한 리소스가 별도의 구획에 있습니다. 각 테넌트 구획에는 해당 테넌트에 대한 모든 리소스가 연결되는 VCN가 포함되어 있습니다. 따라서 각 테넌트에 대한 리소스는 토폴로지의 다른 모든 테넌트로부터 격리된 네트워크에서 고유한 주소 공간을 사용합니다.
각 테넌트 구획에서 구획의 서버를 모니터하고 ISV VCN의 관리 서버로 측정항목을 전송할 수 있는 에이전트를 실행 중인 계산 인스턴스를 프로비전할 수 있습니다.
새 애플리케이션 테넌트를 추가하면 새 테넌트에 필요한 리소스가 새 구획에 프로비전됩니다.
테넌트는 공용 인터넷 또는 전용 접속(IPSec VPN 또는 FastConnect) 을 통해 자신의 응용 프로그램에 액세스할 수 있습니다. 공용 인터넷에서 접근하려면 각 테넌트 VCN에 인터넷 게이트웨이가 필요합니다. VPN 또는 FastConnect를 사용하여 액세스하려면 DRG가 필요합니다. 구조 다이어그램에 테넌트 Vcn에 대한 인터넷 게이트웨이 및 drg가 표시되지 않습니다.
필수 서비스 및 정책 정보
이 솔루션은 다음 서비스 및 액세스 관리 정책을 필요로 합니다.
서비스 | 필요한 정책... |
---|---|
Oracle Cloud Infrastructure Identity and Access Management | 구획을 생성 및 관리합니다. |
Oracle Cloud Infrastructure Networking | Vcn, 서브넷, 인터넷 게이트웨이, 라우팅 테이블, 보안 목록, lpg 및 drg를 만들고 관리합니다. |
Oracle Cloud Infrastructure Compute | 컴퓨트 인스턴스를 생성 및 관리합니다. |
필요한 클라우드 서비스를 얻으려면 Oracle 솔루션용 Oracle Cloud 서비스를 얻는 방법 알아보기 를 참조하십시오.