Mengaitkan unit dengan penyewa

Dalam panduan memulai ini, Anda akan mengubah penawaran aplikasi untuk mengaitkan unit VM yang di-deploy dengan resource tenant, dan menyediakan VM ke dalam project tenant khusus yang dimiliki oleh tenant Anda.

Pendekatan ini meningkatkan isolasi resource, sehingga Anda dapat mengelola resource untuk setiap tenant secara terpisah dan memberikan keamanan serta kepatuhan yang lebih baik untuk penawaran aplikasi Anda.

Kita akan mengembangkan skenario dari panduan memulai Men-deploy instance MySQL dengan App Lifecycle Manager, dengan memodifikasinya untuk mengaitkan unit VM yang di-deploy dengan resource tenant dan menyediakan VM ke dalam project khusus yang dimiliki oleh tenant:

  1. Membuat resource tenant di App Lifecycle Manager.
  2. Kaitkan VM dengan resource tenant.
  3. Konfigurasi App Lifecycle Manager dan konfigurasi Terraform Anda untuk men-deploy resource ke project tenant terpisah.
  4. Tangani masalah umum izin dan pengaktifan API saat men-deploy lintas project.

Di akhir panduan memulai ini, Anda akan membuat fondasi untuk penawaran Aplikasi dengan beberapa tenant yang memungkinkan Anda menetapkan konfigurasi dan kebijakan tingkat tenant dengan membuat tenant dan mengaitkannya dengan unit.

Sebelum memulai

Sebelum membuat penyewa atau mengaitkannya dengan unit, Anda harus memiliki pengetahuan tentang dasar-dasar ekosistem App Lifecycle Manager, dan membuat Penawaran aplikasi.

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.

    In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

  2. Deploy instance MySQL dengan App Lifecycle Manager, termasuk membuat konfigurasi Terraform, repositori Artifact Registry, penawaran Aplikasi, jenis unit, unit, dan komponen (termasuk terraform-files.zip).

    • Pastikan API yang tercantum di bagian Sebelum memulai panduan memulai diaktifkan di project produsen Anda.
    • Pastikan Anda memiliki akun layanan dan peran IAM 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.com pada project produsen.
  3. Project produser dan project tenant harus dibuat sebelum Anda membuat dan mengaitkan resource tenant. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan project tenant.

Membuat dan mengaitkan resource tenant

Anda dapat menggunakan tenant untuk mengelompokkan resource unit. Buat resource tenant di penawaran Aplikasi project produsen Anda untuk mewakili pelanggan Anda:

  1. Di Google Cloud konsol, buka App Lifecycle Manager > Tenants.

    Buka Tenant

  2. Klik Create.

  3. Di halaman Create tenant, masukkan vm-quickstart-tenant di kotak Tenant name.

  4. Di kotak Penawaran aplikasi, pilih vm-quickstart-saas-offering.

  5. Di drop-down Region, pilih us-central1.

  6. Klik Tambahkan unit. Bagian New unit akan muncul.

  7. Di drop-down Unit, pilih unit projects/YOUR-PROJECT-NAME/locations/us-central1/units/vm-quickstart-unit.

  8. Klik Done untuk mengaitkan resource vm-quickstart-unit dengan resource vm-quickstart-tenant.

  9. Klik Create untuk membuat resource tenant Anda. Anda telah berhasil membuat resource vm-quickstart-tenant dan mengaitkannya dengan resource vm-quickstart-unit. Asosiasi ini terutama berfungsi sebagai tag organisasi dalam konsol Google Cloud , yang membantu Anda mengidentifikasi unit mana yang termasuk dalam tenant mana.

Membuat rilis tenant

  1. Di konsol Google Cloud , buka App Lifecycle Manager > Releases.

    Buka Releases

  2. Di halaman Rilis, klik Buat.

  3. Di halaman Create Release, masukkan vm-quickstart-tenant-release di kotak Release name.

  4. Di kotak Unit kind, pilih vm-quickstart-unit-kind. Klik Next.

  5. Pada langkah Select Blueprint, klik tombol Select an existing image from Artifact Registry.

  6. Pada langkah Store Blueprint, klik Browse, lalu pilih artefak yang terkait dengan vm-quickstart-tenant-blueprint. Klik Next.

  7. Klik Create. Anda telah berhasil membuat resource vm-quickstart-tenant-release.

Membuat project tenant dan men-deploy unit

Dalam panduan memulai Men-deploy instance MySQL dengan App Lifecycle Manager, Anda akan menyediakan resource App Lifecycle Manager ke dalam project yang sama dengan yang berisi konfigurasi penawaran Aplikasi Anda.

Dalam panduan memulai ini, Anda akan mengarahkan penyediaan resource ke project tenant, bukan project produsen.

Anda harus meneruskan variabel tenant_project_id dan tenant_project_number yang diubah selama penyediaan unit.

  1. Buat project tenant tempat Anda akan men-deploy file terraform-vm.zip:

    gcloud projects create quickstart-tenant-project --name="SaaS Tenant A Project"
    
  2. Aktifkan API dan berikan peran IAM pada project tenant. Untuk men-deploy unit ke project tenant, Anda perlu mengaktifkan Compute Engine API dan memberikan peran IAM di project tenant.

Mengaktifkan API di project tenant Anda

Aktifkan Compute Engine API di project tenant menggunakan Google Cloud konsol:

  1. Buka pemilih project.

    Buka pemilih project

  2. Klik Select a project.

  3. Pilih quickstart-tenant-project.

  4. Aktifkan Compute Engine API, jika belum diaktifkan.

    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 Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

    Mengaktifkan API

  5. Pastikan Anda memiliki peran berikut di project: roles/compute.admin

    Memeriksa peran

    1. Di konsol Google Cloud , buka halaman IAM.

      Buka IAM
    2. Pilih project.
    3. Di kolom Akun utama, temukan semua baris yang mengidentifikasi Anda atau grup yang Anda termasuk di dalamnya. Untuk mengetahui grup mana saja yang Anda ikuti, hubungi administrator Anda.

    4. Untuk semua baris yang menentukan atau menyertakan Anda, periksa kolom Peran untuk melihat apakah daftar peran menyertakan peran yang diperlukan.

    Memberikan peran

    1. Di konsol Google Cloud , buka halaman IAM.

      Buka IAM
    2. Pilih project.
    3. Klik Grant access.
    4. Di kolom New principals, masukkan ID pengguna Anda. Biasanya, ini adalah alamat email untuk Akun Google.

    5. Klik Pilih peran, lalu telusuri peran.
    6. Untuk memberikan peran tambahan, klik Add another role, lalu tambahkan tiap peran tambahan.
    7. Klik Simpan.

Menyediakan unit dengan variabel project tenant

Dari project produser, sediakan unit baru dengan variabel input project tenant Anda:

  1. Buka pemilih project.

    Buka pemilih project

  2. Klik Select a project.

  3. Pilih project produsen Anda.

  4. Buka App Lifecycle Manager > Units di konsol. Google Cloud

    Buka Unit

  5. Pilih resource vm-quickstart-unit.

  6. Klik Provision.

  7. Pilih resource vm-quickstart-tenant-release.

  8. Pilih Akun layanan aktuasi yang Anda beri izin di project tenant.

  9. Di bagian Variabel Input:

    • Variabel tenant_project_id tercantum seperti yang Anda tentukan di variables.tf.
    • Di kotak Tenant Project ID, masukkan quickstart-tenant-project.
  10. Klik Provision.

App Lifecycle Manager memicu Infrastructure Manager menggunakan akun layanan pengaktifan yang ditentukan. Infrastructure Manager membaca variabel tenant_project_id dan membuat VM di dalam project tenant tersebut.

Pembersihan

Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

  1. Di konsol Google Cloud , buka halaman Manage resources.

    Buka Kelola resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Hapus.
  3. Pada layar perintah, ketik project ID, lalu klik Matikan.

Langkah berikutnya