Menguji koneksi peering untuk IP pribadi

Panduan ini menjelaskan cara menguji apakah tugas pelatihan dapat mengakses IP pribadi di jaringan Anda. Pertama, Anda perlu membuat koneksi pribadi antara jaringan VPC dan AI Platform Training,

Ringkasan

Penyiapan pengujian ini memiliki dua bagian:

  • Siapkan endpoint di jaringan Anda.
  • Kirim tugas pelatihan pengujian untuk mengakses endpoint tersebut.

Menyiapkan endpoint

Untuk menyiapkan endpoint, siapkan server lokal di instance VM di jaringan Anda.

  1. Buat instance Compute Engine di jaringan VPC Anda.
  2. Periksa aturan firewall Anda untuk memastikan aturan tersebut tidak membatasi traffic masuk dari jaringan AI Platform Training. 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).
  3. Temukan alamat IP pribadi VM Anda:

    • Buka halaman Instance VM
    • Buka halaman VM instance details untuk instance Anda, lalu temukan IP internal yang tercantum di halaman.
    • Tetapkan nama instance Anda, lalu jalankan perintah gcloud berikut:

      INSTANCE_NAME="your-instance-name"
      gcloud compute instances describe $INSTANCE_NAME \
        --format="value(networkInterfaces.networkIP)"
      
  4. Gunakan SSH untuk terhubung ke VM dan instal Node JS.

  5. Salin kode Node JS contoh 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}/');
     });
     ```
    
  6. Jalankan server Anda:

    nodejs hw.js
    
  7. Keluar dari SSH VM untuk mengirimkan tugas pelatihan Anda.

Mengirim tugas pelatihan pengujian

Alih-alih melatih model, tugas pelatihan ini mengakses endpoint Anda untuk memverifikasi bahwa AI Platform Training dapat mengakses IP pribadi di jaringan Anda.

  1. Salin contoh aplikasi pelatihan Python untuk dikirim ke Pelatihan AI Platform.
  2. 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()
    
  3. 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
    
  4. 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" — hal ini memvalidasi koneksi peering Anda dengan AI Platform Training.