Dokumen ini menjelaskan cara menyiapkan project host di App Hub dan membuat batas multi-project.
Project host adalah model penyiapan aplikasi lama yang didukung untuk pengguna App Hub lama. Sebaiknya tentukan batas tingkat folder dengan menyiapkan folder yang kompatibel dengan aplikasi untuk penerapan baru. Batas level folder memberikan akses ke kumpulan lengkap fitur Google Cloud yang berfokus pada Aplikasi, seperti Application Design Center dan Gemini Cloud Assist. Untuk perbandingan perbedaan utama antara model yang tersedia untuk pengelolaan aplikasi, lihat Memilih model penyiapan aplikasi.
Ringkasan project host dan layanan
Project host adalah project Google Cloud yang digunakan untuk melampirkan project lain yang berisi layanan dan workload yang ingin Anda kelompokkan sebagai aplikasi App Hub. Project yang Anda lampirkan ke project host disebut project layanan. Penautan project host dan project layanan menentukan batas multi-project.
Project host dapat mengelola resource-nya sendiri secara langsung dengan melampirkan dirinya sendiri. Namun, untuk penyiapan satu project, sebaiknya gunakan pendekatan satu project.
Sebelum memulai
Sebelum menyiapkan project Google Cloud sebagai project host dan melampirkan project layanan ke project tersebut, selesaikan langkah-langkah berikut:
- Identifikasi project Google Cloud yang ingin Anda gunakan sebagai project host. Anda dapat menggunakan project yang ada atau membuat project baru.
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. Project layanan memiliki persyaratan berikut:
- Project layanan harus berada dalam 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 guna melampirkan project layanan ke project host,
minta administrator Anda untuk memberi Anda
peran IAM Admin App Hub (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
Untuk mengonfigurasi project Google Cloud sebagai project host, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud , gunakan pemilih project untuk memilih project Anda.
Buka halaman Ringkasan dari App Hub:
Klik Siapkan Hub Aplikasi.
Di halaman Enable App Hub, pilih Penyiapan penuh untuk membuat batas beberapa project.
Catat nama dan ID project. Informasi ini mengidentifikasi project host dan Anda akan menggunakan nilai ini untuk memberikan akses.
Tinjau daftar API yang sedang diaktifkan. Beberapa API memiliki biaya terkait. Pelajari lebih lanjut biaya API atau klik setiap API untuk melihat biaya terkait.
Klik Lanjutkan.
Di tab Tentukan batas, verifikasi informasi project Anda.
Klik Tambahkan project untuk menambahkan project layanan ke batas Anda atau menambahkannya nanti.
Klik Lanjutkan.
Di tab Grant access, pilih peran dan izin IAM yang sesuai untuk administrator dalam project. Untuk mengetahui daftar peran yang direkomendasikan dan berfokus pada aplikasi di seluruh produkGoogle Cloud , lihat Memberi peran yang berfokus pada aplikasi kepada pengguna Anda.
Di kotak Akun utama baru, masukkan pengguna, grup, atau akun layanan yang harus memiliki akses administrator ke tugas yang berfokus pada aplikasi dalam project.
Klik Berikan peran, lalu klik Selesai.
Selanjutnya, Anda dapat memberikan peran IAM tambahan kepada principal dari halaman IAM. Untuk mengetahui informasi selengkapnya, lihat Memberikan peran IAM menggunakan Google Cloud konsol.
gcloud
-
In the Google Cloud console, 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.
Pastikan Google Cloud CLI versi terbaru telah diinstal:
gcloud components updateTemukan project ID dari project Google Cloud yang ingin Anda konfigurasi sebagai project host.
Tetapkan project host sebagai project default untuk perintah:
gcloud config set project HOST_PROJECT_IDGanti
HOST_PROJECT_IDdengan ID project yang ingin Anda konfigurasi sebagai project host.Aktifkan App Hub API di project host:
gcloud services enable apphub.googleapis.com \ --project=HOST_PROJECT_ID
Menambahkan project layanan
Tambahkan project layanan ke batas pengelolaan aplikasi dengan melampirkannya ke project host.
Untuk melampirkan project layanan ke project host dan membuat batas multi-project, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud , gunakan pemilih project untuk memilih project host.
Buka halaman Setelan batas dari App Hub:
Klik Tambahkan project.
Pilih project layanan yang ingin Anda lampirkan ke project host dan tambahkan ke batas Anda 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.
Klik Pilih.
Tabel Project dalam batas Anda menampilkan project layanan yang dipilih. Proses lampiran mungkin memerlukan waktu beberapa saat.
Pastikan daftar project layanan sudah lengkap.
gcloud
- Temukan project ID dari setiap project Google Cloud yang ingin Anda konfigurasi sebagai project layanan.
Lampirkan setiap project layanan:
gcloud apphub service-projects add SERVICE_PROJECT_ID \ --project=HOST_PROJECT_IDGanti kode berikut:
SERVICE_PROJECT_ID: ID project layanan yang akan dilampirkan.HOST_PROJECT_ID: ID project host.
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"
}
Untuk melepaskan project layanan dari project host, lihat Menghapus project layanan.
Menetapkan peran dan izin App Hub
Untuk memberikan peran dan izin App Hub yang sesuai kepada pengguna App Hub di project host dan project layanan, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud , gunakan pemilih project untuk memilih project host.
Buka halaman IAM:
Klik Grant access. Panel Berikan akses akan terbuka.
Di kolom New principals, masukkan alamat email principal yang ingin Anda beri akses ke App Hub.
Klik Pilih peran, lalu masukkan App Hub di kolom Filter.
Pilih peran IAM App Hub yang ingin Anda tetapkan ke akun utama, lalu klik Simpan.
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
Temukan project ID dari setiap project Google Cloud yang Anda konfigurasi sebagai project host dan project layanan.
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 formatusername@yourdomain, misalnya,my.user@example.com.ROLE_NAME: peran IAM App Hub yang ingin Anda tetapkan ke akun utama, misalnya,roles/apphub.admin.
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_IDdengan ID project layanan yang aksesnya Anda berikan.
Menyiapkan Kontrol Layanan VPC
Untuk melindungi aplikasi Anda dengan perimeter Kontrol Layanan VPC, tambahkan project host dan project layanan App Hub Anda ke perimeter sebelum Anda membuat aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menggunakan Kontrol Layanan VPC dengan App Hub.
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 mengetahui informasi dan petunjuk konfigurasi selengkapnya, lihat Mengonfigurasi cakupan metrik dan Mengonfigurasi cakupan metrik menggunakan API.
Menghapus project layanan
Hapus project layanan dari batas pengelolaan aplikasi dengan melepaskannya dari project host.
Untuk melepaskan project layanan dari project host, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud , gunakan pemilih project untuk memilih project host.
Buka halaman Setelan batas dari App Hub:
Pilih kotak centang project layanan yang ingin Anda lepaskan dari project host dan hapus dari batas Anda.
Klik Lepaskan project.
Tabel Projects in your boundary diperbarui untuk hanya menampilkan project yang tetap terlampir ke project host.
Pastikan daftar project layanan telah diperbarui.
gcloud
- Temukan project ID dari setiap project layanan yang ingin Anda hapus dari project host.
Hapus setiap project layanan:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_IDGanti kode berikut:
SERVICE_PROJECT_ID: ID project layanan yang akan dihapus.HOST_PROJECT_ID: ID project host.
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
- Mendaftarkan resource yang ada ke aplikasi
- Menyiapkan pemantauan aplikasi
- Peran dan izin IAM App Hub
- Ringkasan App Hub