Anda dapat mengonfigurasi konektivitas pribadi untuk menjalankan pipeline menggunakan antarmuka Private Service Connect. Google merekomendasikan penggunaan Vertex AI Private Service Connect untuk konektivitas pribadi, karena mengurangi kemungkinan kehabisan IP dan mendukung peering transitif.
Vertex AI Pipelines menggunakan infrastruktur antarmuka Private Service Connect yang mendasarinya untuk pelatihan guna meneruskan detail koneksi ke tugas pelatihan kustom. Untuk mempelajari lebih lanjut batasan dan harga penggunaan antarmuka Private Service Connect dengan pelatihan kustom, lihat Menggunakan antarmuka Private Service Connect untuk Vertex AI Training.
Batasan
Antarmuka Private Service Connect tidak mendukung alamat IP eksternal.
Harga
Harga untuk antarmuka Private Service Connect dijelaskan di halaman Semua harga jaringan.
Sebelum memulai
Untuk menggunakan antarmuka Private Service Connect dengan Vertex AI Pipelines, Anda harus Menyiapkan antarmuka Private Service Connect untuk resource Vertex AI terlebih dahulu.
Membuat eksekusi pipeline dengan antarmuka Private Service Connect
Untuk membuat proses pipeline, Anda harus membuat spesifikasi pipeline terlebih dahulu. Spesifikasi pipeline adalah objek dalam memori yang Anda buat dengan mengonversi definisi pipeline yang dikompilasi.
Membuat spesifikasi pipeline
Ikuti petunjuk berikut untuk membuat spesifikasi pipeline dalam memori yang dapat Anda gunakan untuk membuat proses pipeline:
Tentukan pipeline dan kompilasi menjadi file YAML. Untuk mengetahui informasi selengkapnya tentang menentukan dan mengompilasi pipeline, lihat Membangun pipeline.
Gunakan contoh kode berikut untuk mengonversi file YAML pipeline yang dikompilasi menjadi spesifikasi pipeline dalam memori.
import yaml with open("COMPILED_PIPELINE_PATH", "r") as stream: try: pipeline_spec = yaml.safe_load(stream) print(pipeline_spec) except yaml.YAMLError as exc: print(exc)
Ganti COMPILED_PIPELINE_PATH dengan jalur lokal ke file YAML pipeline yang dikompilasi.
Buat proses pipeline
Gunakan contoh berikut untuk membuat proses pipeline menggunakan antarmuka Private Service Connect:
Python
Untuk membuat proses pipeline dengan
antarmuka Private Service Connect menggunakan
Vertex AI SDK untuk Python, konfigurasi proses menggunakan
definisi aiplatform_v1/services/pipeline_service
.
# Import aiplatform and the appropriate API version v1
from google.cloud import aiplatform, aiplatform_v1
# Initialize the Vertex SDK using PROJECT_ID and LOCATION
aiplatform.init(project="PROJECT_ID", location="LOCATION")
# Create the API endpoint
client_options = {
"api_endpoint": f"LOCATION-aiplatform.googleapis.com"
}
# Initialize the PipelineServiceClient
client = aiplatform_v1.PipelineServiceClient(client_options=client_options)
PSCI_INTERFACE_CONFIG = {
"network_attachment": "NETWORK_ATTACHMENT_NAME",
"dns_peering_configs": [
{
"domain": "DNS_DOMAIN",
"target_project": "TARGET_PROJECT",
"target_network": "TARGET_NETWORK"
}
]
}
# Construct the request
request = aiplatform_v1.CreatePipelineJobRequest(
parent=f"projects/PROJECT_ID/locations/LOCATION",
pipeline_job=aiplatform_v1.PipelineJob(
display_name="DISPLAY_NAME",
pipeline_spec=PIPELINE_SPEC,
runtime_config=aiplatform_v1.PipelineJob.RuntimeConfig(
gcs_output_directory="OUTPUT_DIRECTORY",
),
psc_interface_config=aiplatform_v1.PscInterfaceConfig(
PSCI_INTERFACE_CONFIG
),
)
# Make the API call
response = client.create_pipeline_job(request=request)
# Print the response
print(response)
Ganti kode berikut:
- PROJECT_ID: Project ID project tempat Anda ingin membuat eksekusi pipeline.
- LOCATION: Region tempat Anda ingin membuat eksekusi pipeline.
- DISPLAY_NAME: Nama tugas pipeline. Panjang maksimum untuk nama tampilan adalah 128 karakter UTF-8.
- PIPELINE_SPEC: Spesifikasi pipeline yang Anda buat di Membuat spesifikasi pipeline.
- OUTPUT_DIRECTORY: URI bucket Cloud Storage untuk menyimpan artefak output. Jalur ini adalah direktori output root untuk pipeline dan digunakan untuk membuat jalur artefak output.
- NETWORK_ATTACHMENT_NAME: Nama lampiran jaringan Compute Engine
yang akan dilampirkan ke resource
PipelineJob
. Untuk mendapatkan lampiran jaringan, Anda harus menyelesaikan langkah-langkah di bagian Sebelum memulai. Untuk mengetahui informasi selengkapnya tentang lampiran jaringan, lihat Menyiapkan jaringan VPC, subnet, dan lampiran jaringan. - DNS_DOMAIN: Nama DNS zona DNS pribadi cloud yang Anda buat saat menyiapkan peering DNS pribadi.
- TARGET_PROJECT: Project yang menghosting jaringan VPC.
- TARGET_NETWORK: Nama jaringan VPC.
REST
Untuk membuat proses pipeline, kirim permintaan POST
menggunakan metode
pipelineJobs.create.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID project tempat Anda ingin membuat eksekusi pipeline.
- LOCATION: Region tempat Anda ingin membuat eksekusi pipeline.
- DISPLAY_NAME: Nama tugas pipeline. Panjang maksimum untuk nama tampilan adalah 128 karakter UTF-8.
- PIPELINE_SPEC: Spesifikasi pipeline yang Anda buat di Membuat spesifikasi pipeline.
- OUTPUT_DIRECTORY: URI bucket Cloud Storage untuk menyimpan artefak output. Jalur ini adalah direktori output root untuk pipeline dan digunakan untuk membuat jalur artefak output.
- NETWORK_ATTACHMENT_NAME: Nama lampiran jaringan Compute Engine
yang akan dilampirkan ke resource
PipelineJob
. Untuk mendapatkan lampiran jaringan, Anda harus menyelesaikan langkah-langkah di bagian Sebelum memulai. Untuk mengetahui informasi selengkapnya tentang lampiran jaringan, lihat Menyiapkan jaringan VPC, subnet, dan lampiran jaringan. - DNS_DOMAIN: Nama DNS zona DNS pribadi cloud 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/pipelineJobs
Isi JSON permintaan:
{ "display_name": "DISPLAY_NAME", "pipeline_spec": "PIPELINE_SPEC", "runtime_config": { "gcs_output_directory": "OUTPUT_DIRECTORY", }, "psc_interface_config": { "network_attachment": "NETWORK_ATTACHMENT_NAME", "dns_peering_configs": [ { "domain": "DNS_DOMAIN", "target_project": "TARGET_PROJECT", "target_network": "TARGET_NETWORK" } ] } }
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/pipelineJobs"
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/pipelineJobs" | Select-Object -Expand Content
Anda akan melihat output yang mirip dengan berikut ini. PIPELINE_JOB_ID merepresentasikan ID operasi pipeline dan SERVICE_ACCOUNT_NAME merepresentasikan akun layanan yang digunakan untuk menjalankan pipeline.
{ "name": "projects/PROJECT_ID/locations/LOCATION/pipelineJobs/PIPELINE_JOB_ID", "displayName": "DISPLAY_NAME", "createTime": "20xx-01-01T00:00:00.000000Z", "updateTime": "20xx-01-01T00:00:00.000000Z", "pipelineSpec": PIPELINE_SPEC, "state": "PIPELINE_STATE_PENDING", "labels": { "vertex-ai-pipelines-run-billing-id": "VERTEX_AI_PIPELINES_RUN_BILLING_ID" }, "runtimeConfig": { "gcsOutputDirectory": "OUTPUT_DIRECTORY" }, "serviceAccount": "SERVICE_ACCOUNT_NAME" "pscInterfaceConfig": { "networkAttachment": "NETWORK_ATTACHMENT_NAME", "dnsPeeringConfigs": [ { "domain": "DNS_DOMAIN", "targetProject": "TARGET_PROJECT", "targetNetwork": "TARGET_NETWORK" } ] } }