Panduan ini menjelaskan cara menggunakan tenant App Lifecycle Manager untuk mengatur unit yang di-deploy dan cara men-deploy resource ke dalam project tenant terpisah untuk mengisolasi dan mengelola resource Anda.
Untuk mengetahui ringkasan tenant dan project tenant, lihat Tenant dan project tenant.
Sebelum memulai
Sebelum membuat project atau resource tenant:
- Buat konfigurasi Terraform, repositori Artifact Registry, dan buat artefak yang berisi aplikasi SaaS di project produsen Anda. Lihat men-deploy instance layanan dengan App Lifecycle Manager untuk mempelajari cara menyiapkan penawaran Aplikasi.
Aktifkan API yang diperlukan oleh App Lifecycle Manager.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.Pastikan Anda memiliki akun layanan dan peran Identity and Access Management yang diperlukan yang diberikan dalam project produsen. Hal ini mencakup akun layanan yang dibuat pengguna dan izin yang diberikan ke akun
service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.comdi project produsen.
Menyiapkan project tenant
Saat Anda menyediakan resource tenant ke dalam project terpisah, resource, kebijakan IAM, kuota, dan konfigurasi jaringan Anda akan dipisahkan untuk setiap tenant, sehingga kemungkinan pelanggaran atau kesalahan konfigurasi dengan satu tenant akan lebih kecil dan tidak memengaruhi tenant lainnya.
Anda akan memerlukan:
- satu project produsen, dan
satu project tenant untuk setiap tenant Anda.
Konsol
Untuk menyiapkan project tenant dan produsen menggunakan Google Cloud konsol:
- Buat project produsen, dan project tenant untuk setiap tenant Anda.
- Aktifkan penagihan di project tenant dan produsen Anda.
Aktifkan API yang diperlukan oleh App Lifecycle Manager di project tenant Anda.
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.Pastikan project tenant Anda memiliki akun layanan aktivasi dengan izin yang diperlukan.
Untuk mengetahui detailnya, lihat Akun layanan App Lifecycle Manager.
Anda telah berhasil menyiapkan project tenant dan produsen. Setelah membuat dan mengaktifkan penagihan untuk project produsen dan tenant, Anda dapat membuat resource tenant dan mengaitkan unit dengan tenant.
gcloud
Untuk menyiapkan project produsen dan tenant menggunakan Google Cloud CLI:
Buat project produsen, dan project tenant untuk setiap tenant Anda:
gcloud projects create PRODUCER_PROJECT_ID --name="SaaS producer project" [--folder=folder-id] gcloud projects create TENANT_PROJECT_ID --name="SaaS tenant A project" [--folder=folder-id]Ganti:
PRODUCER_PROJECT_ID: ID string yang mewakili ID project produsen.TENANT_PROJECT_ID: ID string yang mewakili ID project tenant.
Aktifkan penagihan untuk project tenant dan produsen Anda:
gcloud beta billing projects link PRODUCER_PROJECT_ID --billing-account=BILLING_ACCOUNT_ID gcloud beta billing projects link TENANT_PROJECT_ID --billing-account=BILLING_ACCOUNT_IDGanti:
PRODUCER_PROJECT_ID: ID string yang mewakili ID project produsen.TENANT_PROJECT_ID: ID string yang mewakili ID project tenant.BILLING_ACCOUNT_ID: ID akun penagihan yang ingin Anda kaitkan dengan project yang ditentukan.
Berikan peran Identity and Access Management yang diperlukan ke akun layanan aktivasi untuk setiap project tenant:
gcloud projects add-iam-policy-binding TENANT_PROJECT_ID \ --member='serviceAccount:SERVICE_ACCOUNT@PRODUCER_PROJECT_ID.iam.gserviceaccount.com' \ --role=ROLEGanti:
TENANT_PROJECT_ID: ID string yang mewakili ID project tenant.PRODUCER_PROJECT_ID: ID string yang mewakili ID project produsen.SERVICE_ACCOUNT: Akun layanan yang ingin Anda berikan peran dalam project yang ditentukan.ROLE: Peran Identity and Access Management yang akan diberikan.Anda harus menjalankan
gcloud projects add-iam-policy-bindinguntuk setiap peran yang ingin Anda berikan ke akun layanan yang ditentukan (--role='roles/compute.admin', misalnya).
Anda telah berhasil menyiapkan project tenant dan produsen. Setelah membuat dan mengaktifkan penagihan untuk project produsen dan tenant, Anda dapat membuat resource tenant dan mengaitkan unit dengan tenant.
Membuat resource tenant
Buat resource tenant di penawaran Aplikasi Anda untuk mewakili pelanggan Anda:
Di Google Cloud konsol, buka App Lifecycle Manager > Tenants.
Klik Create.
Di kotak Tenant name, masukkan nama untuk resource tenant Anda.
Opsional: Di kotak Customer resource, berikan resource konsumen dengan setelan yang ditentukan konsumen untuk integrasi.
Di kotak App offering, pilih penawaran Aplikasi yang ingin Anda kaitkan dengan tenant Anda.
Di menu drop-down Region, pilih region tempat metadata tenant akan disimpan.
Opsional: Klik Add label untuk menambahkan label pasangan nilai kunci ke tenant Anda.
Klik Create untuk membuat resource tenant Anda.
Anda telah berhasil membuat resource tenant.
Mengaitkan unit dengan tenant
Setelah membuat tenant dan men-deploy unit, Anda dapat menautkannya satu sama lain. Asosiasi ini terutama berfungsi sebagai tag organisasi yang membantu Anda mengatur unit mana yang termasuk dalam tenant mana.
Untuk mengetahui informasi selengkapnya tentang men-deploy unit, lihat Men-deploy instance MySQL dengan App Lifecycle Manager.
Untuk mengaitkan unit dengan tenant:
Di Google Cloud konsol, buka App Lifecycle Manager > Tenants.
Klik nama tenant yang ingin Anda kaitkan dengan unit.
Klik Edit.
Di bagian Associated units, klik Add Unit.
Pilih unit yang ingin Anda kaitkan dengan tenant ini.
Klik Done.
Klik Save.
Unit yang dipilih dikaitkan dengan tenant yang ditunjukkan.
Menyediakan unit baru dengan variabel project tenant
Saat menyediakan unit yang terkait dengan tenant, Anda harus memberikan variabel tenant_project_id.
Buka App Lifecycle Manager > Units di Google Cloud konsol.
Buat unit baru yang terkait dengan jenis unit Anda.
Klik Provision.
Pilih Release untuk disediakan ke unit tenant Anda.
Pilih Actuation service account yang Anda berikan izin di project tenant Anda. Anda harus mengikuti prinsip hak istimewa terendah dan hanya memberikan peran yang diperlukan untuk resource yang dikelola.
Di bagian Input Variables:
- Pastikan variabel
tenant_project_idtercantum seperti yang Anda tentukan dalam filevariables.tfkonfigurasi Terraform Anda. - Di kotak Tenant Project ID, berikan nama project tenant Anda.
- Berikan variabel input yang ditentukan dalam konfigurasi Terraform Anda. Jika Anda belum menentukan variabel lain dalam konfigurasi Terraform, lewati langkah ini.
- Pastikan variabel
Klik Provision.
App Lifecycle Manager memicu Infrastructure Manager menggunakan akun layanan aktivasi yang ditentukan. Infrastructure Manager membaca variabel tenant_project_id dan membuat VM di dalam project tenant tersebut.
Menyediakan ulang unit dengan rilis baru
Saat menyediakan ulang unit yang ada dengan rilis baru, Anda harus memberikan variabel tenant_project_id.
Buka App Lifecycle Manager > Units di Google Cloud konsol.
Pilih unit yang terkait dengan jenis unit Anda.
Klik Edit Provisioning.
Pilih Release yang Anda buat dengan konfigurasi Terraform yang diperbarui.
Pilih Actuation service account yang Anda berikan izin di project tenant Anda. Anda harus mengikuti prinsip hak istimewa terendah dan hanya memberikan peran yang diperlukan untuk resource yang dikelola.
Di bagian Input Variables:
- Pastikan variabel
tenant_project_idtercantum seperti yang Anda tentukan dalam filevariables.tfkonfigurasi Terraform Anda. - Di kotak Tenant Project ID, berikan nama project tenant Anda.
- Berikan variabel input yang ditentukan dalam konfigurasi Terraform Anda. Jika Anda belum menentukan variabel lain dalam konfigurasi Terraform, lewati langkah ini.
- Pastikan variabel
Klik Update.
App Lifecycle Manager memicu Infrastructure Manager menggunakan akun layanan aktivasi yang ditentukan. Infrastructure Manager membaca variabel tenant_project_id dan membuat VM di dalam project tenant tersebut.
Langkah berikutnya
- Pelajari cara mengelola dependensi antar-unit.
- Pelajari lebih lanjut cara menggunakan variabel dan pemetaan variabel.
- Tinjau izin yang diperlukan untuk akun layanan.