이 가이드에서는 SaaS 런타임 테넌트와 이를 사용하여 SaaS 제품을 구성하는 방법을 간략히 설명합니다.
테넌트 및 테넌트 프로젝트
SaaS 런타임 테넌트 리소스는 SaaS 제품의 논리적 고객, 클라이언트 또는 테넌트를 나타냅니다. 주로 특정 테넌트에 속하는 단위를 그룹화하는 데 도움이 되는 조직 도구 역할을 합니다.
SaaS 제품에 테넌트가 여러 개 있는 경우 각 테넌트의 리소스를 별도의 Google Cloud 프로젝트에 프로비저닝하는 것이 좋습니다. 테넌트 리소스를 전용 Google Cloud 프로젝트로 분리하려면 다음 두 개 이상의 프로젝트를 만들어야 합니다.
- 생산자 프로젝트: SaaS 제품이 구성된 프로젝트입니다. SaaS 애플리케이션에는 하나의 프로듀서 프로젝트만 있으면 됩니다.
- 테넌트 프로젝트: 특정 테넌트의 SaaS 런타임 리소스가 있는 프로젝트입니다. 테넌트마다 하나의 프로젝트를 만드는 것이 좋습니다.
테넌트마다 별도의 프로젝트를 사용하면 테넌트 프로젝트 내에서 구성(예: IAM 정책 또는 네트워크 피어링)을 설정할 수 있으며 각 테넌트의 비용을 추적하고 리소스를 관리하는 데 도움이 됩니다.
테넌트 프로젝트의 작동 서비스 계정
작동 서비스 계정에는 Terraform 구성에 정의된 리소스를 만들고 관리할 수 있는 테넌트 프로젝트의 권한이 필요합니다. 테넌트마다 별도의 활성화 계정을 설정하는 것이 좋습니다.
작동 서비스 계정 및 필요한 권한에 대한 자세한 내용은 작동 서비스 계정을 참고하세요.
테넌트 프로젝트의 API
SaaS 런타임 (인프라 관리자 및 활성화 서비스 계정을 통해)이 테넌트 프로젝트에서 리소스 (예: VM)를 만들려고 하면 필요한 API가 해당 테넌트 프로젝트에서 사용 설정되어 있어야 합니다. 그렇지 않으면 프로비저닝이 실패합니다.
테넌트 프로젝트 내에서 Terraform 구성이 사용하는 모든 리소스 유형에 대해 API를 사용 설정해야 합니다.
임시 단위 종류를 사용하여 테넌트 설정을 자동화하세요
새 테넌트마다 프로젝트를 수동으로 만들고, API를 사용 설정하고, IAM을 구성하는 것은 시간이 많이 걸리고 오류가 발생하기 쉽습니다. 다음과 같은 Terraform 구성이 포함된 임시 단위 종류를 만들어 SaaS 런타임을 사용하여 테넌트 설정 프로세스를 자동화할 수 있습니다.
- 테넌트의 새 Google Cloud 프로젝트를 만듭니다.
- 새 프로젝트 내에서 필요한 API를 사용 설정합니다.
- 프로비저닝된 테넌트(생산자 프로젝트 또는 테넌트 프로젝트)를 위한 전용 작동 서비스 계정을 만듭니다.
- 테넌트 프로젝트 내 서비스 계정에 필요한 IAM 권한을 부여합니다.
- 네트워킹, 로깅 또는 기타 기준 인프라를 설정합니다.
임시 단위 종류는 다음을 충족해야 합니다.
tenant_project_id,tenant_project_number,actuation_sa이메일에 대한 Terraformoutput변수를 정의합니다.tenant_id을input변수로 수신합니다.
애플리케이션 단위 종류가 임시 단위 종류에 종속되도록 구성하고 출력 변수를 애플리케이션 단위의 해당 입력 변수에 매핑합니다.
단위 종류 종속 항목을 구성하면 SaaS 런타임은 애플리케이션이 포함된 단위가 프로비저닝되기 전에 기본 테넌트 인프라 단위가 프로비저닝되었는지 (테넌트 프로젝트를 만들고 권한을 설정) 확인합니다.
이 패턴 구현에 관한 자세한 내용은 단위 간 종속 항목 관리 및 변수 사용을 참고하세요.
다음 단계
- 테넌트 프로젝트 및 리소스를 만드는 방법을 알아봅니다.
- 단위를 임차인과 연결하는 방법 알아보기