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