Menguji koneksi peering untuk IP pribadi

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.

  1. Buat instance Compute Engine di jaringan VPC Anda.
  2. 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).
  3. 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)"
      
  4. SSH ke VM Anda, lalu instal Node JS.

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

    nodejs hw.js
    
  7. 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.

  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" — ini memvalidasi koneksi peering Anda dengan AI Platform Training.