Panduan ini menjelaskan cara menguji apakah tugas pelatihan dapat mengakses IP pribadi di jaringan Anda. Pertama, Anda harus membuat koneksi pribadi antara jaringan VPC dan Pelatihan AI Platform.
Ringkasan
Penyiapan pengujian ini terdiri dari dua bagian:
- Siapkan endpoint di jaringan Anda.
- Kirim tugas pelatihan pengujian untuk mengakses endpoint tersebut.
Menyiapkan endpoint
Untuk menyiapkan endpoint, siapkan server lokal pada instance VM di jaringan Anda.
- Buat instance Compute Engine di jaringan VPC Anda.
- Periksa aturan firewall Anda untuk memastikan aturan tersebut tidak membatasi traffic masuk dari jaringan Pelatihan AI Platform. Jika demikian, tambahkan aturan untuk memastikan jaringan AI Platform Training dapat mengakses rentang IP yang Anda cadangkan untuk AI Platform Training (dan produsen layanan lainnya).
Temukan alamat IP pribadi VM Anda:
- Buka halaman VM instances
- Buka halaman VM instance details untuk instance Anda, dan temukan IP internal yang tercantum di halaman itu.
Tetapkan nama instance Anda, dan jalankan perintah
gcloud
berikut:INSTANCE_NAME="your-instance-name" gcloud compute instances describe $INSTANCE_NAME \ --format="value(networkInterfaces.networkIP)"
SSH ke VM Anda, lalu instal Node JS.
Salin contoh kode Node JS dan isi alamat IP pribadi Anda:
const http = require('http'); // Fill in the value of your vm's private IP const hostname = 'your_private_ip'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World ' + req.url + '\n'); }); server.listen(port, hostname, () => { console.log('Server running at http://${hostname}:${port}/'); }); ```
Jalankan server Anda:
nodejs hw.js
Beralihlah dari SSH VM untuk mengirimkan tugas pelatihan Anda.
Mengirim tugas pelatihan pengujian
Tugas pelatihan ini bukan melatih model, melainkan mengakses endpoint Anda untuk memverifikasi bahwa Pelatihan AI Platform dapat mengakses IP pribadi di jaringan Anda.
- Salin contoh aplikasi pelatihan Python untuk dikirim ke Pelatihan AI Platform.
Perbarui kode untuk menyertakan alamat IP pribadi Anda:
import logging import os import sys def main(): # Fill in the value of your vm's private IP hostname = "your_private_ip" response = os.system("curl http://" + hostname + ":3000/you_can_write_your_name_here") if response == 0: print(hostname, "is up!") logging.info("%s is up; Peering successful!", hostname) sys.exit(0) else: logging.error("%s is down; Peering failed!", hostname) sys.exit(1) if __name__ == "__main__": logging.getLogger().setLevel(logging.INFO) main()
Buat config.yaml untuk menentukan jaringan. Jika Anda menggunakan VPC Bersama, gunakan nomor project host VPC Anda.
Pastikan nama jaringan diformat dengan benar:
PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)") NETWORK=your-network-name cat << EOF > config.yaml trainingInput: scaleTier: BASIC network: projects/$PROJECT_NUMBER/global/networks/$NETWORK EOF
Kirim tugas ke Pelatihan AI Platform:
BUCKET_NAME=your_bucket_name JOB_ID='test_vpc_peering_job' gcloud ai-platform jobs submit training $JOB_ID \ --module-name trainingcode.test_peering \ --stream-logs \ --runtime-version 1.15 \ --job-dir gs://$BUCKET_NAME/$JOB_ID \ --region us-central1 \ --package-path trainingcode/ \ --config config.yaml
Tugas Anda akan berhasil dan mencetak "Peering berhasil" — ini memvalidasi koneksi peering Anda dengan AI Platform Training.