Mengonfigurasi project Google Cloud untuk Vertex AI Pipelines

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.

  1. Buat project Google Cloud dan konfigurasikan untuk digunakan dengan Vertex AI Pipelines.

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

    Sebaiknya buat akun layanan untuk menjalankan pipeline Anda, lalu beri akun ini izin terperinci ke resource Google Cloud yang diperlukan untuk menjalankan pipeline Anda.

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

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

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Aktifkan API Vertex AI and Cloud Storage.

    Mengaktifkan API

  5. Menginstal Google Cloud CLI.
  6. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init
  7. Update dan instal komponen gcloud:
    gcloud components update
    gcloud components install beta
  8. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  9. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  10. Aktifkan API Vertex AI and Cloud Storage.

    Mengaktifkan API

  11. Menginstal Google Cloud CLI.
  12. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init
  13. Update dan instal komponen gcloud:
    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.

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

    2. 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.
    3. Anda dapat menggunakan Artifact Registry untuk menghosting image container dan Kubeflow Pipeline template.

      Untuk mengetahui informasi selengkapnya tentang Artifact Registry, lihat dokumentasi Artifact Registry.

    4. 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.
    5. 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 Anda, mengaktifkan Compute Engine API, dan memberikan akses akun layanan default 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 yang digunakan layanan default Anda akun dibuat.

    Mengaktifkan API

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.

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

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

  1. Gunakan Cloud Key Management Service untuk mengonfigurasi kunci enkripsi yang dikelola pelanggan.

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