Menggunakan antarmuka Private Service Connect untuk Vertex AI Training

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

Antarmuka Private Service Connect didukung pada tugas kustom dan resource persisten Agent Platform.

Ringkasan

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

Konektivitas egress Private Service Connect Platform Agen Gemini Enterprise ke jaringan lain

Platform Agen Gemini Enterprise telah mengintegrasikan konektivitas jaringan egress yang didukung oleh Private Service Connect (lihat Menghubungkan ke workload di jaringan lain), dengan perilaku arsitektur berikut.

Menjangkau Google API dan layanan khusus internal

Saat Platform Agen Gemini Enterprise mengirim traffic ke Google API, traffic tersebut akan diselesaikan secara lokal dalam lingkungan produsen dan tidak menggunakan setelan Akses Google Pribadi atau perutean jaringan VPC konsumen Anda.

Catatan:

  • Persyaratan identitas VPC: Karena resolusi lokal melewati jalur jaringan VPC konsumen, traffic tidak membawa identitas jaringan VPC Anda. Hal ini akan menyebabkan permintaan ke layanan Google khusus internal, seperti layanan Cloud Run yang dikonfigurasi dengan ingress internal, gagal dengan error 404 atau 403.
  • Solusi endpoint Private Service Connect: Untuk menjangkau layanan internal ini secara pribadi, Anda harus mengonfigurasi endpoint Private Service Connect untuk Google API di jaringan VPC Anda.
  • Konfigurasi DNS: Anda harus memastikan bahwa domain layanan (misalnya, *.run.app) di-resolve ke alamat IP internal endpoint Private Service Connect Anda untuk memastikan traffic tetap berada di jalur yang sepenuhnya pribadi.

Egress internet dan Cloud NAT

Secara default, Platform Agen Gemini Enterprise menggunakan gateway internet yang dikelola Google untuk traffic keluar, bukan rute jaringan VPC Anda. Egress menggunakan gateway Cloud NAT konsumen hanya digunakan jika project adalah bagian dari perimeter Kontrol Layanan VPC.

Perimeter ini memblokir akses internet default, sehingga memaksa traffic melalui antarmuka Private Service Connect dan aturan perutean jaringan VPC Anda. Jika Anda tidak menggunakan Kontrol Layanan VPC, traffic internet keluar akan sepenuhnya melewati jaringan VPC dan gateway Cloud NAT Anda.

Batasan

Untuk mengetahui fitur dan batasan antarmuka Private Service Connect, lihat Tentang mengakses layanan Platform Agen Gemini Enterprise melalui antarmuka Private Service Connect.

Harga

Harga untuk antarmuka Private Service Connect dijelaskan di bagian "Menggunakan antarmuka Private Service Connect untuk mengakses jaringan VPC produsen atau konsumen" di halaman Harga semua jaringan.

Sebelum memulai

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

Membuat tugas pelatihan tanpa server dengan antarmuka Private Service Connect

Anda dapat membuat tugas pelatihan tanpa server dengan antarmuka Private Service Connect menggunakan Agent Platform SDK untuk Python atau REST API.

Python

Untuk membuat tugas pelatihan tanpa server dengan PSC-I menggunakan Agent Platform SDK untuk Python, konfigurasikan tugas menggunakan definisi aiplatform_v1/services/job_service.

Python

from google.cloud import aiplatform


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: str,
    domain: str,
    target_project: str,
    target_network: str,
):
    """Custom training job sample with PSC Interface Config."""
    aiplatform.init(project=project, location=location, staging_bucket=bucket)

    worker_pool_specs = [{
        "machine_spec": {
            "machine_type": machine_type,
        },
        "replica_count": replica_count,
        "container_spec": {
            "image_uri": image_uri,
            "command": [],
            "args": [],
        },
    }]
    psc_interface_config = {
        "network_attachment": network_attachment,
        "dns_peering_configs": [
            {
                "domain": domain,
                "target_project": target_project,
                "target_network": target_network,
            },
        ],
    }
    job = aiplatform.CustomJob(
        display_name=display_name,
        worker_pool_specs=worker_pool_specs,
    )

    job.run(psc_interface_config=psc_interface_config)

  • project: . Anda dapat menemukan ID ini di Google Cloud konsol halaman selamat datang.
  • location: Lihat daftar lokasi yang tersedia.
  • bucket: Ganti bucket dengan nama bucket yang dapat Anda akses.
  • display_name: Nama tampilan resource persisten.
  • machine_type: Tentukan 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 container kustom.
  • network_attachment: Nama atau jalur lengkap network attachment yang Anda buat saat menyiapkan resource untuk Private Service Connect.
  • domain: Nama DNS zona Cloud DNS pribadi yang Anda buat saat menyiapkan Peering DNS Pribadi.
  • target_project: Project yang menghosting jaringan VPC.
  • target_network: Nama jaringan VPC.

REST

Untuk membuat tugas pelatihan tanpa server, 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 worker pertama Anda.
  • Jika aplikasi pelatihan Anda berjalan dalam container kustom, tentukan hal berikut:
    • IMAGE_URI: URI image container Docker dengan kode pelatihan Anda. Pelajari cara membuat image container kustom.
    • NETWORK_ATTACHMENT: Nama atau jalur lengkap network attachment yang Anda buat saat Anda menyiapkan antarmuka Private Service Connect.
    • Jika Anda memerlukan peering DNS pribadi, kolom dns_peering_configs diperlukan. Untuk daftar ini, setiap item berisi:
      • DOMAIN_SUFFIX: Nama DNS zona Cloud DNS pribadi yang Anda buat saat menyiapkan Peering DNS Pribadi.
      • TARGET_PROJECT: Project yang menghosting jaringan VPC.
      • TARGET_NETWORK: Nama jaringan VPC.

Metode HTTP dan URL:

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

Meminta isi JSON:

"display_name": JOB_NAME,
"job_spec": {
    "worker_pool_specs": [
      {
        "machine_spec": {
          "machine_type": "n2-standard-4",
        },
        "replica_count": REPLICA_COUNT,
        "container_spec": {
          "image_uri": IMAGE_URI,
        },
      },
    ],
    "psc_interface_config": {
      "network_attachment": NETWORK_ATTACHMENT,
      "dns_peering_configs": [
         {
          "domain": DOMAIN_SUFFIX,
          "target_project": TARGET_PROJECT,
          "target_network": TARGET_NETWORK
         }
      ],
    },
    "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/v1/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/v1/projects/PROJECT_ID/locations/LOCATION/customJobs" | Select-Object -Expand Content

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