Langkah 4: Siapkan komponen
Halaman ini menjelaskan langkah keempat untuk men-deploy Data Foundation Cortex Framework, yang merupakan inti dari Cortex Framework. Pada langkah ini, Anda akan menyiapkan Google Cloud layanan yang diperlukan untuk di-deploy.
Mengaktifkan Google Cloud layanan
Di bagian ini, Anda akan mengaktifkan layanan Google Cloud berikut di projectGoogle Cloud :
- Instance dan set data BigQuery
- Cloud Build API
- Bucket Cloud Storage
- Akun layanan
- Cloud Resource Manager API
- Data Catalog API (jika men-deploy Datamesh)
- Eksekusi alur kerja (jika men-deploy Cortex for Meridian)
- Platform AI (jika men-deploy Cortex for Meridian)
Aktifkan layanan Google Cloud ini menggunakan Cloud Shell:
Salin dan tempel perintah berikut:
gcloud config set project SOURCE_PROJECT gcloud services enable bigquery.googleapis.com \ cloudbuild.googleapis.com \ composer.googleapis.com \ storage-component.googleapis.com \ cloudresourcemanager.googleapis.com \ dataflow.googleapis.com \ datacatalog.googleapis.com \ workflowexecutions.googleapis.com \ workflows.googleapis.com \ aiplatform.googleapis.com
Ganti
SOURCE_PROJECT
dengan project ID sumber Anda.Pastikan Google Cloud layanan diaktifkan jika Anda mendapatkan pesan keberhasilan.
Opsional. Anda dapat mengaktifkan layanan Google Cloud berikut di Google Cloud Project Anda:
- Cloud Composer untuk pemrosesan Change Data Capture (CDC), perataan hierarki (khusus SAP), dan replikasi data (khusus Non-SAP) melalui Directed Acyclic Graphs (DAG). Untuk menyiapkan instance, lihat dokumentasi Cloud Composer.
- Looker untuk terhubung ke template pelaporan.
- Set data tertaut berbagi BigQuery (sebelumnya Analytics Hub) digunakan untuk beberapa sumber eksternal, seperti DAG Cuaca. Anda dapat memilih untuk mengisi struktur ini dengan sumber lain yang tersedia sesuai pilihan Anda untuk skenario lanjutan.
- Alur Data: Alat integrasi untuk banyak set data Pemasaran seperti Google Ads.
- Dataplex Universal Catalog: Digunakan untuk membangun Mesh Data. Untuk mengetahui informasi selengkapnya, lihat Panduan Pengguna Data Mesh.
- Untuk Cortex Framework dengan Meridian:
- Colab Enterprise: Menjalankan notebook Colab Enterprise selama eksekusi dan memiliki akses ke hal berikut:
- Notebook dan file konfigurasi di Cloud Storage.
- Buat kueri tampilan dan tabel BigQuery yang relevan.
- Tulis kembali hasilnya ke Cloud Storage.
- Workflows: Menjalankan Workflow dan Cloud Build untuk memicu eksekusi notebook Colab Enterprise.
Memberikan izin kepada pengguna yang menjalankan
Berikan izin berikut kepada pengguna yang menjalankan, baik menggunakan konsolGoogle Cloud maupun Google Cloud CLI, untuk menjalankan deployment di project tempat Cloud Build dipicu:
- Pelanggan Penggunaan Layanan (
roles/serviceusage.serviceUsageConsumer
) - Storage Object Viewer (
roles/storage.objectViewer
) - Storage Admin (
roles/storage.admin
) - (
roles/cloudbuild.builds.editor
) Cloud Build Editor - Project Reader (
roles/reader
) - BigQuery Job User (
roles/bigquery.jobUser
) BigQuery Data Editor (
roles/bigquery.dataEditor
)
Konsol
Buka halaman IAM di konsol Google Cloud :
Pilih project Anda, lalu klik Lanjutkan.
Klik Grant access.
Masukkan alamat email pengguna yang menjalankan.
Pilih peran berikut dari menu drop-down:
- Pelanggan Penggunaan Layanan (
roles/serviceusage.serviceUsageConsumer
) - Storage Object Viewer (
roles/storage.objectViewer
) - Storage Admin (
roles/storage.admin
) - (
roles/cloudbuild.builds.editor
) Cloud Build Editor - Project Reader (
roles/reader
) - BigQuery Job User (
roles/bigquery.jobUser
) - BigQuery Data Editor (
roles/bigquery.dataEditor
)
- Pelanggan Penggunaan Layanan (
Klik Simpan.
gcloud
Untuk memberikan peran kepada pengguna, jalankan perintah add-iam-policy-binding
:
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="user:USER_EMAIL" \
--role="roles/serviceusage.serviceUsageConsumer"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="user:USER_EMAIL" \
--role="roles/storage.objectViewer"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="user:USER_EMAIL" \
--role="roles/storage.admin"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="user:USER_EMAIL" \
--role="roles/cloudbuild.builds.editor"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="user:USER_EMAIL" \
--role="roles/reader"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="user:USER_EMAIL" \
--role="roles/bigquery.jobUser"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="user:USER_EMAIL" \
--role="roles/bigquery.dataEditor"
Ganti kode berikut:
SOURCE_PROJECT
dengan project ID sumber.USER_EMAIL
dengan email pengguna yang menjalankan. Misalnya, user:my-user@example.com. Untuk daftar lengkap jenis prinsipal, ataumember
, lihat referensi Pengikatan Kebijakan.
Buat dan konfigurasi akun layanan Cloud Build
Cloud Build menggunakan akun layanan untuk menjalankan build atas nama Anda. Bagian ini memandu Anda membuat akun layanan khusus untuk deployment Cortex Framework dan memberikan izin yang diperlukan ke akun layanan Cloud Build.
Buat akun layanan baru
Buat akun layanan khusus untuk men-deploy Cortex Framework
guna meningkatkan keamanan dan kontrol. Setelah membuat akun layanan baru, Anda dapat menentukan akun layanan ini selama proses deployment menggunakan parameter penggantian _BUILD_ACCOUNT
.
Sebelum memulai, Anda harus mengaktifkan IAM API, menyiapkan autentikasi, serta memahami akun layanan dan peran IAM. Untuk mengetahui informasi selengkapnya, lihat Membuat akun layanan.
Buat akun layanan baru ini menggunakan konsol Google Cloud atau Google Cloud CLI.
Konsol
Buka halaman Akun layanan.
Langkah-langkah selanjutnya akan muncul di konsol Google Cloud .
Pilih project Google Cloud .
Masukkan akun layanan dan nama tampilan, dengan deskripsi dan di konsol Google Cloud . Konsol Google Cloud membuat ID akun layanan berdasarkan nama ini. Edit ID jika diperlukan. Anda tidak dapat mengubah ID nanti. Gunakan nilai default berikut untuk akun layanan:
- Name: "cortex-deployer".
- Deskripsi: "Cortex Deployer Service Account".
- Nama tampilan: "Cortex Deployer".
Beri pengguna akses ke akun layanan ini.
- Tambahkan ID semua pengguna (termasuk ID Anda sendiri) yang dapat menjalankan deployment melalui akun layanan.
- Tetapkan peran Service Account Token Creator. Untuk mengetahui informasi selengkapnya tentang peran ini, lihat Peran akun layanan.
Klik Selesai untuk menyelesaikan pembuatan akun layanan.
Jika Anda sudah memiliki akun layanan, ikuti langkah-langkah berikut:
- Buka Service accounts.
- Pilih Service account.
- Klik tab Izin.
- Klik Grant Access.
- Tambahkan ID semua pengguna (termasuk ID Anda sendiri) yang dapat menjalankan deployment melalui akun layanan.
- Tetapkan peran Service Account Token Creator.
gcloud
Buat akun layanan melalui kebijakan IAM dengan perintah berikut:
gcloud iam service-accounts create cortex-deployer \ --description="Cortex Deployer Service Account" \ --display-name="Cortex Deployer"
Tambahkan kebijakan IAM ke Google Cloud project Anda dengan perintah berikut:
gcloud projects add-iam-policy-binding SOURCE_PROJECT \ --member="serviceAccount:cortex-deployer@SOURCE_PROJECT." \ --role="roles/cloudbuild.builds.editor"
Tambahkan ID semua pengguna (termasuk ID Anda sendiri) yang dapat menjalankan deployment melalui akun layanan, dan tetapkan peran Service Account Token Creator kepada mereka dengan perintah berikut:
gcloud iam service-accounts add-iam-policy-binding cortex-deployer\ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountTokenCreator"
Ganti kode berikut:
SOURCE_PROJECT
dengan project sumber untuk deployment Data Foundation Cortex Framework.USER_EMAIL
dengan email pengguna yang menjalankan.
Untuk mengetahui informasi selengkapnya tentang cara membuat akun layanan baru, lihat Membuat akun layanan.
Memberikan izin
Akun layanan Cloud Build memerlukan izin tertentu di project sumber Anda (dan project target jika Anda men-deploy ke project terpisah). Berikan peran berikut menggunakan konsol Google Cloud atau Google Cloud CLI:
- Akun layanan Cloud Build (
roles/cloudbuild.builds.builder
) - Pengguna akun layanan (
roles/iam.serviceAccountUser
) - BigQuery Data Editor (
roles/bigquery.dataEditor
) - BigQuery Job User (
roles/bigquery.jobUser
) - Logs Writer (
roles/logging.logWriter
) - Admin Colab Enterprise (
roles/aiplatform.colabEnterpriseAdmin
- jika men-deploy Cortex for Meridian) - Pengguna Objek Penyimpanan (
roles/storage.objectUser
- jika men-deploy Cortex for Meridian) Workflows Editor (
roles/workflows.editor
- jika men-deploy Cortex for Meridian)
Konsol
Di konsol Google Cloud , buka halaman IAM.
Pilih project sumber Anda.
Klik
Berikan akses.Tambahkan akun layanan Cloud Build default dari langkah sebelumnya sebagai akun utama baru.
Dari menu drop-down Pilih peran, telusuri akun layanan Cloud Build, lalu klik akun layanan Cloud Build.
Ulangi langkah sebelumnya untuk menambahkan peran lainnya:
- Pengguna Akun Layanan
- BigQuery Data Editor
- BigQuery Job User
- Logs Writer
- Admin Colab Enterprise (jika men-deploy Cortex for Meridian)
- Storage Object User (jika men-deploy Cortex for Meridian)
- Workflows Editor (jika men-deploy Cortex for Meridian)
Klik Simpan.
Pastikan akun layanan dan peran yang sesuai tercantum di halaman IAM. Anda berhasil memberikan peran IAM.
gcloud
Gunakan perintah berikut untuk memberikan peran ke akun layanan Cloud Build:
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:CLOUD_BUILD_SA" \
--role="roles/cloudbuild.builds.builder"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:CLOUD_BUILD_SA" \
--role="roles/iam.serviceAccountUser"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:CLOUD_BUILD_SA" \
--role="roles/bigquery.dataEditor"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:CLOUD_BUILD_SA" \
--role="roles/bigquery.jobUser"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:CLOUD_BUILD_SA" \
--role="roles/logging.logWriter"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:CLOUD_BUILD_SA" \
--role="roles/aiplatform.colabEnterpriseAdmin"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:CLOUD_BUILD_SA" \
--role="roles/storage.objectUser"
gcloud projects add-iam-policy-binding SOURCE_PROJECT \
--member="serviceAccount:CLOUD_BUILD_SA" \
--role="roles/workflows.editor"
Ganti kode berikut:
SOURCE_PROJECT
dengan project ID sumber.CLOUD_BUILD_SA
dengan akun layanan Cloud Build, dalam formatCLOUD_BUILD_SA@SOURCE_PROJECT.
.
Untuk mengetahui informasi selengkapnya, lihat Memberikan peran ke akun layanan Cloud Build menggunakan halaman IAM dan Menetapkan dan mengelola kebijakan IAM pada bucket.
Membuat akun layanan tambahan untuk Cortex for Meridian
Akun layanan terpisah diperlukan untuk Meridian saat men-deploy Cortex Framework. Jika Anda tidak men-deploy untuk Meridian, Anda dapat melewati langkah ini. Akun layanan terpisah diperlukan untuk hal berikut:
- Menjalankan Workflow dan Cloud Build untuk memicu eksekusi notebook Colab Enterprise.
- Menjalankan notebook Colab Enterprise dengan akses ke:
- File notebook dan konfigurasi di Cloud Storage.
- Buat kueri tampilan dan tabel BigQuery yang relevan.
- Tulis kembali hasilnya ke Cloud Storage.
Gunakan perintah berikut untuk membuat akun layanan Cortex for Meridian:
gcloud iam service-accounts create cortex-meridian-colab-runner --project= PROJECT_ID \
--description="Cortex for Meridian Colab Runner Service Account" \
--display-name="Cortex Meridian Runner"
Ganti kode berikut:
PROJECT_ID
dengan project ID tempat Cortex for Meridian di-deploy.cortex-meridian-colab-runner
: Secara opsional, Anda dapat menggunakan ID akun layanan yang berbeda. Perhatikan bahwacortex-meridian-colab-runner
adalah default, dan mengubahnya mungkin memerlukan penyesuaian pada perintah lain.
Peran minimum yang diperlukan untuk akun layanan khusus Cortex for Meridian adalah sebagai berikut:
- BigQuery Data Viewer (
roles/bigquery.dataViewer
) - BigQuery Job User (
roles/bigquery.jobUser
) - BigQuery Read Session User (
roles/bigquery.readSessionUser
) - (
roles/cloudbuild.builds.editor
) Cloud Build Editor - Admin Colab Enterprise (
roles/aiplatform.colabEnterpriseAdmin
) - Logs Writer (
roles/logging.logWriter
) - Admin Runtime Notebook (
aiplatform.notebookRuntimeAdmin
) - Storage Admin (
roles/storage.admin
) - Storage Object User (
roles/storage.objectUser
) - Agen Layanan Colab Vertex AI (
roles/aiplatform.colabServiceAgent
)
Gunakan perintah berikut untuk memberikan peran ke akun layanan khusus untuk Cortex for Meridian:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
--role='roles/bigquery.dataViewer'
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
--role='roles/bigquery.jobUser'
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
--role='roles/bigquery.readSessionUser'
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
--role='roles/cloudbuild.builds.editor'
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
--role='roles/aiplatform.colabEnterpriseAdmin'
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
--role='roles/logging.logWriter'
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
--role='roles/aiplatform.notebookRuntimeAdmin'
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
--role='roles/storage.admin'
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
--role='roles/storage.objectUser'
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \
--role='roles/aiplatform.colabServiceAgent'
Ganti kode berikut:
PROJECT_ID
dengan project ID tempat Cortex for Meridian di-deploy.SERVICE_ACCOUNT_EMAIL
dengan akun layanan Anda untuk Cortex for Meridian.
Langkah opsional
Untuk penyesuaian penerapan yang lebih baik, pertimbangkan untuk mengikuti langkah-langkah opsional berikut:
- Data Mesh: Jika Anda perlu mengubah nilai default untuk Data Mesh guna menerapkan fitur di luar deskripsi, lihat konsep Data Mesh dan panduan pengguna Data Mesh.
Buat bucket Storage untuk menyimpan file terkait DAG
Bucket penyimpanan diperlukan untuk menyimpan skrip DAG pemrosesan dan file sementara lainnya yang dibuat selama deployment. Skrip ini harus dipindahkan secara manual ke instance Cloud Composer atau Apache Airflow setelah deployment.
Anda dapat membuat bucket penyimpanan dari Google Cloud CLI atau konsol dengan langkah-langkah berikut. Google Cloud
Konsol
Buka Cloud Storage.
Buat bucket di region yang sama dengan set data BigQuery Anda.
Pilih bucket yang dibuat.
Buka tab
Permissions
.Berikan izin
Storage Object Creator
kepada ID pengguna yang menjalankan perintah Build atau ke Akun layanan yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Menetapkan kondisi baru pada bucket: Konsol.
gcloud
Buat bucket dari Cloud Shell dengan perintah berikut:
gcloud storage buckets create gs://DAG_BUCKET_NAME -l REGION/MULTI_REGION
Ganti kode berikut:
DAG_BUCKET_NAME
dengan nama untuk bucket baru.REGION/MULTI_REGION
dengan region yang sama dengan set data BigQuery Anda.
Gunakan perintah berikut untuk menetapkan izin
Storage Object Creator
ke akun layanan:gcloud storage buckets add-iam-policy-binding gs://DAG_BUCKET_NAME --member=serviceAccount:CLOUD_BUILD_SA --role=roles/storage.objectCreator
Ganti kode berikut:
CLOUD_BUILD_SA
dengan akun layanan default Cloud Build.DAG_BUCKET_NAME
dengan nama untuk bucket baru.
Membuat bucket Storage untuk log
Anda dapat membuat bucket tertentu untuk proses Cloud Build guna menyimpan log. Hal ini berguna jika Anda ingin membatasi data yang mungkin disimpan dalam log ke region tertentu. Anda dapat membuat bucket penyimpanan untuk log dari Google Cloud CLI atau konsol Google Cloud .
Konsol
Untuk membuat bucket tertentu untuk log, ikuti langkah-langkah berikut:
Buka Cloud Storage.
Buat bucket di region yang sama dengan tempat deployment akan berjalan.
Pilih bucket yang dibuat.
Buka tab
Permissions
.Berikan izin
Storage Object Admin
kepada ID pengguna yang menjalankan perintah Build atau ke Akun layanan yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Menetapkan kondisi baru pada bucket: Konsol.
gcloud
Untuk membuat bucket tertentu untuk log, gunakan perintah berikut.
Buat bucket dari Cloud Shell dengan perintah berikut:
gcloud storage buckets create gs://LOGS_BUCKET_NAME -l REGION/MULTI_REGION
Ganti kode berikut:
REGION/MULTI_REGION
dengan region yang dipilih untuk membuat bucket.LOGS_BUCKET_NAME
dengan nama untuk bucket baru.
Gunakan perintah berikut untuk menetapkan izin
Storage Object Admin
ke akun layanan:gcloud storage buckets add-iam-policy-binding gs://LOGS_BUCKET_NAME --member=serviceAccount:CLOUD_BUILD_SA --role=roles/storage.objectAdmin
Ganti kode berikut:
CLOUD_BUILD_SA
dengan akun layanan default Cloud Build.LOGS_BUCKET_NAME
dengan nama untuk bucket baru.
Langkah berikutnya
Setelah Anda menyelesaikan langkah ini, lanjutkan ke langkah-langkah deployment berikut:
- Menetapkan workload.
- Clone repositori.
- Tentukan mekanisme integrasi.
- Menyiapkan komponen (halaman ini).
- Konfigurasi deployment.
- Jalankan deployment.