Menggunakan antarmuka Private Service Connect untuk Pelatihan Vertex AI

Antarmuka Private Service Connect direkomendasikan untuk konektivitas pribadi karena mengurangi kemungkinan kehabisan IP dan memungkinkan peering transitif.

Antarmuka Private Service Connect didukung di tugas kustom dan resource persisten Vertex AI.

Ringkasan

Antarmuka Private Service Connect didukung di tugas kustom dan resource persisten Vertex AI Training. Untuk menggunakan antarmuka Private Service Connect, Anda perlu menyiapkan jaringan VPC, subjaringan, dan lampiran jaringan di project pengguna. Lihat Menyiapkan antarmuka Private Service Connect. Nama lampiran jaringan harus disertakan dalam permintaan untuk membuat tugas kustom atau resource persisten guna mengaktifkan antarmuka Private Service Connect.

Konektivitas traffic keluar Private Service Connect Vertex AI ke jaringan lain

Vertex AI telah mengintegrasikan konektivitas jaringan keluar yang didukung oleh Private Service Connect (lihat Menghubungkan ke beban kerja di jaringan lain), dengan pengecualian berikut:

  • Egress ke Akses Google Pribadi pelanggan tidak didukung. Sebagai gantinya, traffic keluar Private Service Connect akan di-resolve secara lokal untuk Akses Google Pribadi.

  • Traffic keluar ke Cloud NAT hanya didukung jika Kontrol Layanan VPC diaktifkan.

Batasan

  • Antarmuka Private Service Connect tidak mendukung alamat IP eksternal.

Harga

Harga untuk antarmuka Private Service Connect dijelaskan di bagian "Menggunakan antarmuka Private Service Connect untuk akses ke jaringan VPC produsen atau konsumen" di halaman Semua harga jaringan.

Sebelum memulai

Siapkan resource untuk antarmuka Private Service Connect di project pengguna Anda.

Membuat tugas pelatihan kustom dengan antarmuka Private Service Connect

Anda dapat membuat tugas pelatihan kustom dengan antarmuka Private Service Connect menggunakan Vertex AI SDK untuk Python atau REST API.

Python

Untuk membuat tugas pelatihan kustom dengan PSC-I menggunakan Vertex AI SDK untuk Python, konfigurasikan tugas menggunakan definisi aiplatform_v1beta1/services/job_service.

Python

from google.cloud import aiplatform
from google.cloud import aiplatform_v1beta1


def create_custom_job_psci_sample(
    project: str,
    location: str,
    bucket: str,
    display_name: str,
    machine_type: str,
    replica_count: int,
    image_uri: str,
    network_attachment_name: str,
):
    """Custom training job sample with PSC-I through aiplatform_v1beta1."""
    aiplatform.init(project=project, location=location, staging_bucket=bucket)

    client_options = {"api_endpoint": f"{location}-aiplatform.googleapis.com"}

    client = aiplatform_v1beta1.JobServiceClient(client_options=client_options)

    request = aiplatform_v1beta1.CreateCustomJobRequest(
        parent=f"projects/{project}/locations/{location}",
        custom_job=aiplatform_v1beta1.CustomJob(
            display_name=display_name,
            job_spec=aiplatform_v1beta1.CustomJobSpec(
                worker_pool_specs=[
                    aiplatform_v1beta1.WorkerPoolSpec(
                        machine_spec=aiplatform_v1beta1.MachineSpec(
                            machine_type=machine_type,
                        ),
                        replica_count=replica_count,
                        container_spec=aiplatform_v1beta1.ContainerSpec(
                            image_uri=image_uri,
                        ),
                    )
                ],
                psc_interface_config=aiplatform_v1beta1.PscInterfaceConfig(
                    network_attachment=network_attachment_name,
                ),
            ),
        ),
    )

    response = client.create_custom_job(request=request)

    return response

  • project: Project ID Anda. Anda dapat menemukan ID ini di halaman sambutan Konsol Google Cloud.
  • location: Lihat daftar lokasi yang tersedia.
  • bucket: Ganti bucket dengan nama bucket yang dapat Anda akses.
  • display_name: Nama tampilan resource persisten.
  • machine_type: Menentukan resource komputasi.
  • replica_count: Jumlah replika worker yang akan digunakan untuk setiap uji coba.
  • service_attachment: Nama resource lampiran layanan. Diisi jika Private Service Connect diaktifkan.
  • image_uri: URI image container Docker dengan kode pelatihan Anda. Pelajari cara membuat image penampung kustom.
  • network_attachment_name: Nama yang Anda tentukan saat menyiapkan resource untuk Private Service Connect di project pengguna.

REST

Untuk membuat tugas pelatihan kustom, kirim permintaan POST menggunakan metode customJobs.create.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • LOCATION: Region tempat container atau paket Python akan dijalankan.
  • PROJECT_ID: Project ID Anda.
  • JOB_NAME: Nama tampilan untuk CustomJob.
  • REPLICA_COUNT: Jumlah replika worker yang akan digunakan. Pada umumnya, tetapkan ini ke 1 untuk kumpulan pekerja pertama Anda.
  • Jika aplikasi pelatihan Anda berjalan dalam container kustom, tentukan hal berikut:

Metode HTTP dan URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/customJobs

Isi JSON permintaan:

"display_name": JOB_NAME,
"job_spec": {
    "worker_pool_specs": [
      {
        "machine_spec": {
          "machine_type": "n1-standard-4",
        },
        "replica_count": REPLICA_COUNT,
        "container_spec": {
          "image_uri": IMAGE_URI,
        },
      },
    ],
    "psc_interface_config": {
      "network_attachment": NETWORK_ATTACHMENT_NAME
    },
    "enable_web_access": 1
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/customJobs"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/customJobs" | Select-Object -Expand Content

Anda akan menerima respons JSON yang mirip dengan yang berikut ini: