Sebelum menggunakan Vertex AI Pipelines untuk mengatur pipeline machine learning (ML), Anda harus menyiapkan project Google Cloud. Beberapa resource, seperti penyimpanan metadata yang digunakan oleh Vertex ML Metadata, dibuat di project Google Cloud saat Anda pertama kali menjalankan pipeline.
Gunakan petunjuk berikut guna mengonfigurasi project Anda untuk Vertex AI Pipelines.
Buat project Google Cloud dan konfigurasikan untuk digunakan dengan Vertex AI Pipelines.
Jika Anda tidak menentukan akun layanan, Vertex AI Pipelines akan menggunakan akun layanan default Compute Engine untuk menjalankan pipeline Anda. Untuk mengetahui informasi selengkapnya tentang akun layanan default Compute Engine, lihat Menggunakan Akun Layanan Default Compute Engine.
Vertex AI Pipelines menggunakan Cloud Storage untuk menyimpan artefak operasi pipeline Anda. Buat bucket Cloud Storage dan beri akun layanan Anda akses ke bucket ini.
Vertex AI Pipelines menggunakan Vertex ML Metadata untuk menyimpan metadata yang dibuat oleh operasi pipeline. Saat Anda menjalankan pipeline untuk pertama kalinya, jika penyimpanan metadata project Anda tidak ada, Vertex AI akan membuat penyimpanan metadata project Anda.
Jika Anda ingin agar data Anda dienkripsi menggunakan kunci enkripsi yang dikelola pelanggan (CMEK), Anda dapat membuat penyimpanan metadata menggunakan kunci CMEK secara manual sebelum menjalankan pipeline. Atau, jika tidak ada penyimpanan metadata default di project Anda, Vertex AI akan membuat penyimpanan metadata project menggunakan kunci CMEK yang digunakan saat Anda menjalankan pipeline untuk pertama kalinya. Setelah dibuat, penyimpanan metadata akan menggunakan kunci CMEK yang berbeda dari kunci CMEK yang digunakan dalam operasi pipeline.
Menyiapkan project Google Cloud
Gunakan petunjuk berikut untuk membuat project Google Cloud dan mengonfigurasinya untuk digunakan dengan Vertex AI Pipelines.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI, Compute Engine, and Cloud Storage APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Update and install
gcloud
components:gcloud components update
gcloud components install beta -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI, Compute Engine, and Cloud Storage APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Update and install
gcloud
components:gcloud components update
gcloud components install beta
Mengonfigurasi akun layanan dengan izin terperinci
Saat menjalankan pipeline, Anda dapat menentukan akun layanan. Operasi pipeline Anda bertindak atas izin akun layanan ini.
Jika Anda tidak menentukan akun layanan, operasi pipeline Anda akan menggunakan akun layanan default Compute Engine. Untuk mengetahui informasi selengkapnya tentang akun layanan default Compute Engine, lihat Menggunakan Akun Layanan Default Compute Engine.
Gunakan petunjuk berikut untuk membuat akun layanan dan memberinya izin terperinci ke resource Google Cloud.
Jalankan perintah berikut untuk membuat akun layanan.
gcloud iam service-accounts create SERVICE_ACCOUNT_ID \ --description="DESCRIPTION" \ --display-name="DISPLAY_NAME" \ --project=PROJECT_ID
Ganti nilai berikut:
- SERVICE_ACCOUNT_ID: ID untuk akun layanan.
- DESCRIPTION: (Opsional) Deskripsi akun layanan.
- DISPLAY_NAME: Nama tampilan untuk akun layanan tersebut.
- PROJECT_ID: Project tempat Anda akan membuat akun layanan.
Pelajari lebih lanjut tentang membuat akun layanan.
Beri akun layanan Anda akses ke Vertex AI. Perhatikan bahwa mungkin perlu beberapa saat agar perubahan akses diterapkan. Untuk mengetahui informasi selengkapnya, lihat Penerapan perubahan akses.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/aiplatform.user"
Ganti nilai berikut:
- PROJECT_ID: Project tempat akun layanan Anda dibuat.
- SERVICE_ACCOUNT_ID: ID untuk akun layanan.
Anda dapat menggunakan Artifact Registry untuk menghosting image container dan template Kubeflow Pipelines.
Untuk informasi selengkapnya tentang Artifact Registry, lihat dokumentasi Artifact Registry.
Beri akun layanan Anda akses ke resource Google Cloud apa pun yang Anda gunakan di pipeline Anda.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com" \ --role="ROLE_NAME"
Ganti nilai berikut:
- PROJECT_ID: Project tempat akun layanan Anda dibuat.
- SERVICE_ACCOUNT_ID: ID untuk akun layanan.
- ROLE_NAME: Peran Identity and Access Management yang akan diberikan ke akun layanan ini.
Agar dapat menggunakan Vertex AI Pipelines untuk menjalankan pipeline dengan akun layanan ini, jalankan perintah berikut untuk memberi akun layanan Anda peran roles/iam.serviceAccountUser untuk akun layanan Anda
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"
Ganti nilai berikut:
- SERVICE_ACCOUNT_ID: ID untuk akun layanan.
- PROJECT_ID: Project tempat akun layanan Anda dibuat.
- USER_EMAIL: Alamat email pengguna yang menjalankan pipeline sebagai akun layanan ini.
Jika Anda lebih suka menggunakan akun layanan default Compute Engine untuk menjalankan pipeline, aktifkan Compute Engine API dan beri akun layanan default Anda akses ke Vertex AI. Perhatikan bahwa mungkin perlu beberapa saat agar perubahan akses diterapkan. Untuk mengetahui informasi selengkapnya, lihat Penerapan perubahan akses.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/aiplatform.user"
Ganti nilai berikut:
- PROJECT_ID: Project tempat akun layanan default Anda dibuat.
- PROJECT_NUMBER: Nomor project tempat akun layanan default Anda dibuat.
Mengonfigurasi bucket Cloud Storage untuk artefak pipeline
Vertex AI Pipelines menyimpan artefak operasi pipeline Anda menggunakan Cloud Storage. Gunakan petunjuk berikut untuk membuat bucket Cloud Storage dan memberi akun layanan Anda (atau akun layanan default Compute Engine) akses untuk membaca dan menulis objek dalam bucket tersebut.
Jalankan perintah berikut untuk membuat bucket Cloud Storage di region tempat Anda ingin menjalankan pipeline.
gcloud storage buckets create gs://BUCKET_NAME --location=BUCKET_LOCATION --project=PROJECT_ID
Ganti nilai berikut:
- PROJECT_ID: Tentukan project yang terkait dengan bucket Anda.
- BUCKET_LOCATION: Tentukan lokasi
bucket Anda — misalnya,
US-CENTRAL1
. - BUCKET_NAME: Nama yang ingin Anda berikan untuk bucket, tunduk
pada persyaratan penamaan. Contohnya,
my-bucket
.
Pelajari lebih lanjut cara membuat bucket Cloud Storage.
Jalankan perintah berikut guna memberi akun layanan Anda akses untuk membaca dan menulis artefak pipeline di bucket yang telah Anda buat dalam langkah sebelumnya.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com \ --role=roles/storage.objectUser
Ganti nilai berikut:
- SERVICE_ACCOUNT_ID: ID untuk akun layanan.
- PROJECT_ID: Project tempat akun layanan Anda dibuat.
- BUCKET_NAME: Nama bucket yang Anda izinkan untuk diakses akun layanan Anda.
Atau, jika Anda lebih suka menggunakan akun layanan default Compute Engine untuk menjalankan pipeline, jalankan perintah
gcloud iam service-accounts list
untuk menemukan nomor project untuk akun tersebut.gcloud iam service-accounts list
Akun layanan default Compute Engine diberi nama seperti berikut:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
.Jalankan perintah berikut guna memberi akun layanan default Compute Engine akses untuk membaca dan menulis artefak pipeline di bucket yang telah Anda buat dalam langkah sebelumnya.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/storage.objectUser
Ganti nilai berikut:
- PROJECT_NUMBER: Nomor project untuk akun layanan default Compute Engine.
- BUCKET_NAME: Nama bucket yang Anda izinkan untuk diakses akun layanan Anda.
Pelajari lebih lanjut cara mengontrol akses ke bucket Cloud Storage
Membuat penyimpanan metadata yang menggunakan CMEK (opsional)
Gunakan petunjuk berikut untuk membuat CMEK dan menyiapkan penyimpanan metadata Vertex ML Metadata yang menggunakan CMEK ini.
Gunakan Cloud Key Management Service untuk mengonfigurasi kunci enkripsi yang dikelola pelanggan.
Gunakan panggilan REST berikut untuk membuat penyimpanan metadata default project Anda menggunakan CMEK.
Sebelum menggunakan permintaan data mana pun, buat pengganti berikut:
- LOCATION_ID: Region Anda.
- PROJECT_ID: Project ID Anda.
- KEY_RING: Nama key ring Cloud Key Management Service tempat kunci enkripsi Anda aktif.
- KEY_NAME: Nama kunci enkripsi yang ingin Anda gunakan untuk penyimpanan metadata ini.
Metode HTTP dan URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores?metadata_store_id=default
Meminta isi JSON:
{ "encryption_spec": { "kms_key_name": "projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME" }, }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip seperti berikut:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATIONS_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateMetadataStoreOperationMetadata", "genericMetadata": { "createTime": "2021-05-18T18:47:14.494997Z", "updateTime": "2021-05-18T18:47:14.494997Z" } } }