Menyiapkan App Hub dengan project host

Halaman ini menjelaskan cara menyiapkan project host untuk mengelompokkan layanan dan beban kerja sebagai aplikasi App Hub.

Project host adalah model penyiapan yang didukung untuk pengguna App Hub yang sudah ada. Namun, sebaiknya gunakan folder yang kompatibel dengan aplikasi untuk menyiapkan App Hub untuk penerapan baru. Folder yang mendukung aplikasi memberikan akses ke set lengkap fitur Google Cloud yang berfokus pada Aplikasi, seperti Pusat Desain Aplikasi dan Gemini Cloud Assist. Untuk perbandingan perbedaan utama antara model penyiapan App Hub yang tersedia, lihat Memilih model penyiapan App Hub.

Ringkasan project host dan layanan

Project host adalah project Google Cloud standar yang Anda tetapkan untuk mengelompokkan resource yang didukung sebagai aplikasi App Hub. Anda melampirkan project lain secara manual, yang disebut project layanan, ke project host ini sehingga App Hub dapat menemukan layanan dan beban kerja dalam project tersebut dan mendaftarkannya.

Model project host dan layanan di App Hub berbeda dengan model yang digunakan oleh VPC Bersama. Anda tidak dapat menggunakan project host VPC Bersama dan project layanan yang terlampir untuk App Hub. Di App Hub, project host dan layanan digunakan untuk mengelompokkan resource aplikasi secara logis, bukan untuk berbagi jaringan VPC.

Sebelum memulai

Anda harus menyelesaikan langkah-langkah berikut sebelum mengonfigurasi Google Cloud project sebagai project host dan layanan untuk aplikasi Anda:

  1. Identifikasi project Google Cloud yang ingin Anda gunakan sebagai project host. Anda dapat menggunakan project yang ada atau membuat project baru.
  2. Identifikasi project Google Cloud yang ingin Anda lampirkan ke project host sebagai project layanan. Anda harus mengidentifikasi semua project yang berisi layanan dan workload yang ingin Anda daftarkan ke aplikasi App Hub. Resource dalam project lain tidak akan terlihat oleh App Hub. Pertimbangkan aspek berikut untuk project layanan:

    • Project layanan harus berada di organisasi yang sama dengan project host.
    • Project layanan hanya dapat dilampirkan ke satu project host dalam satu waktu.
    • Project host dapat bertindak sebagai project layanan untuk mengelola resourcenya sendiri, tetapi Anda tidak dapat melampirkannya sebagai project layanan ke project host lain.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk melampirkan project layanan ke project host, minta administrator untuk memberi Anda peran IAM App Hub Admin (roles/apphub.admin) di project host dan di setiap project layanan yang ingin Anda lampirkan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Menyiapkan project host

Ikuti langkah-langkah berikut untuk mengonfigurasi project sebagai project host:

Konsol

  1. Di halaman Welcome pada konsol Google Cloud , gunakan pemilih project untuk memilih project yang ingin Anda konfigurasi sebagai project host.

    Buka Selamat Datang

  2. Enable the required API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Pastikan Google Cloud CLI versi terbaru telah diinstal:

    gcloud components update
    
  3. Temukan project ID dari project Google Cloud yang ingin Anda konfigurasi sebagai project host.

  4. Tetapkan project host sebagai project default untuk perintah:

    gcloud config set project HOST_PROJECT_ID
    

    Ganti HOST_PROJECT_ID dengan ID project yang ingin Anda konfigurasi sebagai project host.

  5. Aktifkan App Hub API di project host:

    gcloud services enable apphub.googleapis.com \
        --project=HOST_PROJECT_ID
    

Lampirkan project layanan

Lampirkan project layanan yang berisi layanan dan workload yang ingin Anda kelompokkan sebagai aplikasi App Hub ke project host:

Konsol

  1. Di halaman Welcome pada konsol Google Cloud , gunakan pemilih project untuk memilih project host.

    Buka Selamat Datang

  2. Buka halaman Setelan App Hub:

    Buka Setelan

  3. Klik Attach projects.

  4. Pilih project layanan yang akan dilampirkan ke project host dengan salah satu cara berikut:

    • Dari daftar project, centang kotak untuk project yang ingin Anda lampirkan sebagai project layanan.
    • Filter nama project dan centang kotak di sampingnya.
  5. Klik Pilih.

    Tabel Project Layanan yang Terlampir menampilkan project layanan yang dipilih.

  6. Klik Close.

gcloud

  1. Temukan project ID dari setiap project Google Cloud yang ingin Anda konfigurasi sebagai project layanan.
  2. Lampirkan setiap project layanan:

    gcloud apphub service-projects add SERVICE_PROJECT_ID \
        --project=HOST_PROJECT_ID
    

    Ganti kode berikut:

    • SERVICE_PROJECT_ID: ID project layanan yang akan dilampirkan.
    • HOST_PROJECT_ID: ID project host.
  3. Ulangi proses sebelumnya untuk setiap project layanan yang ingin Anda lampirkan ke project host.

Terraform

Untuk melampirkan project layanan ke project host menggunakan Terraform, gunakan resource google_apphub_service_project_attachment, misalnya:

resource "google_apphub_service_project_attachment" "example" {
    service_project_attachment_id = google_project.service_project.project_id
    depends_on = [time_sleep.wait_120s]
}

resource "google_project" "service_project" {
    project_id ="project-1"
    name = "Service Project"
    org_id = "123456789"
    deletion_policy = "DELETE"
}

resource "time_sleep" "wait_120s" {
    depends_on = [google_project.service_project]

    create_duration = "120s"
}

Melepaskan project layanan memerlukan penghapusan lampiran. Untuk mengetahui informasi selengkapnya, lihat Menghapus project layanan.

Menetapkan peran dan izin App Hub

Ikuti langkah-langkah berikut untuk memberikan peran dan izin App Hub yang sesuai kepada pengguna App Hub di project host dan layanan:

Konsol

  1. Di halaman Welcome pada konsol Google Cloud , gunakan pemilih project untuk memilih project host.

    Buka Selamat Datang

  2. Buka halaman IAM:

    Buka IAM

  3. Klik Grant access. Panel Berikan akses akan terbuka.

  4. Di kolom New principals, masukkan alamat email akun utama yang ingin Anda beri akses ke App Hub.

  5. Klik Pilih peran, lalu masukkan App Hub di kolom Filter.

  6. Pilih peran IAM App Hub yang ingin Anda tetapkan ke akun utama, lalu klik Simpan.

  7. Di setiap project layanan App Hub yang Anda lampirkan ke project host, ulangi proses sebelumnya untuk memberikan peran yang sama kepada pengguna yang sama.

gcloud

  1. Temukan project ID dari setiap project Google Cloud yang Anda konfigurasi sebagai project host dan project layanan.

  2. Memberi akses ke akun utama di project host:

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
        --member='user:EMAIL_ADDRESS' \
        --role='ROLE_NAME'
    

    Ganti kode berikut:

    • HOST_PROJECT_ID: ID project host.
    • EMAIL_ADDRESS: alamat email principal yang harus mendapatkan akses App Hub di project host. Nilai ini harus memiliki format username@yourdomain, misalnya, my.user@example.com.
    • ROLE_NAME: Peran IAM App Hub yang ingin Anda tetapkan ke akun utama, misalnya, roles/apphub.admin.
  3. Di setiap project layanan App Hub yang Anda lampirkan ke project host, berikan peran yang sama kepada pengguna yang sama:

    gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \
        --member='user:EMAIL_ADDRESS' \
        --role='ROLE_NAME'
    

    Ganti SERVICE_PROJECT_ID dengan ID project layanan yang aksesnya Anda berikan.

Menyiapkan Kontrol Layanan VPC

Jika Anda ingin melindungi aplikasi dengan perimeter Kontrol Layanan VPC, tambahkan project host dan layanan App Hub ke perimeter sebelum Anda membuat aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menggunakan Kontrol Layanan VPC dengan App Hub.

Sekarang Anda dapat mendaftarkan resource yang ada ke aplikasi.

Opsional: Mengonfigurasi cakupan metrik

Untuk melihat metrik sistem aplikasi dalam project host Anda di Cloud Monitoring, tambahkan project layanan terlampir ke cakupan metrik project host. Project host berfungsi sebagai project pencakupan untuk data deret waktu, sehingga memungkinkan pembuatan diagram dan pemantauan data. Untuk informasi selengkapnya dan petunjuk konfigurasi mendetail, lihat Mengonfigurasi cakupan metrik dan Mengonfigurasi cakupan metrik menggunakan API.

Menghapus project layanan

Anda dapat mengubah lampiran project layanan agar berbagai layanan dan beban kerja dapat dikelompokkan ke dalam aplikasi. Anda dapat melampirkan lebih banyak project layanan ke project host atau mengikuti langkah-langkah berikut untuk menghapus lampiran project layanan dari project host:

Konsol

  1. Di halaman Welcome pada konsol Google Cloud , gunakan pemilih project untuk memilih project host.

    Buka Selamat Datang

  2. Buka halaman Setelan App Hub:

    Buka Setelan

  3. Centang kotak project layanan yang ingin Anda hapus dari project host.

  4. Klik Lepaskan project.

    Tabel Project Layanan yang Terlampir diperbarui untuk menampilkan hanya project yang tetap terlampir ke project host.

gcloud

  1. Temukan project ID dari setiap project layanan yang ingin Anda hapus dari project host.
  2. Hapus setiap project layanan:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
        --project=HOST_PROJECT_ID
    

    Ganti kode berikut:

    • SERVICE_PROJECT_ID: ID project layanan yang akan dihapus.
    • HOST_PROJECT_ID: ID project host.
  3. Ulangi proses sebelumnya untuk setiap project layanan yang ingin Anda hapus dari project host.

Saat Anda menghapus project layanan dari project host, pertimbangkan juga untuk menghapusnya dari cakupan metrik project host jika sebelumnya Anda mengonfigurasi cakupan metrik. Untuk mengetahui informasi selengkapnya, lihat Menghapus project dari cakupan metrik.

Langkah berikutnya