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:

  1. 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.

  2. 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

  1. Buka halaman IAM di konsol Google Cloud :

    Buka halaman IAM

  2. Pilih project Anda, lalu klik Lanjutkan.

  3. Klik Grant access.

  4. Masukkan alamat email pengguna yang menjalankan.

  5. 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)
  6. 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, atau member, 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

  1. Buka halaman Akun layanan.

    Akun layanan

    Langkah-langkah selanjutnya akan muncul di konsol Google Cloud .

  2. Pilih project Google Cloud .

  3. 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".
  4. Beri pengguna akses ke akun layanan ini.

    1. Tambahkan ID semua pengguna (termasuk ID Anda sendiri) yang dapat menjalankan deployment melalui akun layanan.
    2. Tetapkan peran Service Account Token Creator. Untuk mengetahui informasi selengkapnya tentang peran ini, lihat Peran akun layanan.
  5. Klik Selesai untuk menyelesaikan pembuatan akun layanan.

Jika Anda sudah memiliki akun layanan, ikuti langkah-langkah berikut:

  1. Buka Service accounts.
  2. Pilih Service account.
  3. Klik tab Izin.
  4. Klik Grant Access.
    1. Tambahkan ID semua pengguna (termasuk ID Anda sendiri) yang dapat menjalankan deployment melalui akun layanan.
    2. Tetapkan peran Service Account Token Creator.

gcloud

  1. 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"
    
  2. 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"
    
  3. 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

  1. Di konsol Google Cloud , buka halaman IAM.

    Buka IAM

  2. Pilih project sumber Anda.

  3. Klik Berikan akses.

  4. Tambahkan akun layanan Cloud Build default dari langkah sebelumnya sebagai akun utama baru.

  5. Dari menu drop-down Pilih peran, telusuri akun layanan Cloud Build, lalu klik akun layanan Cloud Build.

  6. Ulangi langkah sebelumnya untuk menambahkan peran lainnya:

  7. Klik Simpan.

  8. 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 format CLOUD_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 bahwa cortex-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:

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

  1. Buka Cloud Storage.

    Cloud Storage

  2. Buat bucket di region yang sama dengan set data BigQuery Anda.

  3. Pilih bucket yang dibuat.

  4. Buka tab Permissions.

  5. 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

  1. 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.
  2. 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:

  1. Buka Cloud Storage.

    Cloud Storage

  2. Buat bucket di region yang sama dengan tempat deployment akan berjalan.

  3. Pilih bucket yang dibuat.

  4. Buka tab Permissions.

  5. 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.

  1. 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.
  2. 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:

  1. Menetapkan workload.
  2. Clone repositori.
  3. Tentukan mekanisme integrasi.
  4. Menyiapkan komponen (halaman ini).
  5. Konfigurasi deployment.
  6. Jalankan deployment.