Menggunakan Peering Jaringan VPC dengan Pelatihan

Anda dapat mengonfigurasi tugas Pelatihan AI Platform untuk di-peering dengan Virtual Private Cloud (VPC). Hal ini memungkinkan tugas pelatihan Anda mengakses alamat IP pribadi di dalam jaringan Google Cloud atau lokal Anda. Menggunakan IP pribadi untuk terhubung ke tugas pelatihan akan memberikan lebih banyak keamanan jaringan dan latensi jaringan yang lebih rendah daripada menggunakan IP publik.

Panduan ini menunjukkan cara mengonfigurasi IP pribadi dengan AI Platform Training menggunakan Peering Jaringan VPC untuk melakukan peering jaringan Anda dengan tugas Pelatihan AI Platform. Panduan ini direkomendasikan bagi administrator jaringan yang sudah memahami konsep jaringan Google Cloud.

Ringkasan

Panduan ini mencakup tugas-tugas berikut:

  • Konfigurasi akses layanan pribadi untuk VPC. Tindakan ini akan membuat koneksi peering antara VPC Anda dan jaringan VPC bersama Google.
  • Pertimbangkan rentang IP yang perlu Anda reservasi untuk AI Platform Training.
  • Jika ada, ekspor rute kustom agar AI Platform Training dapat mengimpornya.
  • Verifikasi status koneksi peering Anda.
  • Kirim tugas pelatihan di jaringan Anda.
  • Periksa tugas pelatihan yang aktif di satu jaringan sebelum mengirimkan tugas di jaringan lain.
  • Uji apakah tugas pelatihan dapat mengakses IP pribadi di jaringan Anda.

Sebelum memulai

  • Pilih VPC yang ingin Anda peering dengan tugas AI Platform Training.
  • Pilih atau buat project Google Cloud untuk menjalankan tugas pelatihan dengan AI Platform Training.
  • Make sure that billing is enabled for your Google Cloud project.

  • Aktifkan API Compute Engine API, AI Platform Training & Prediction, and the Service Networking.

    Mengaktifkan API

  • Anda juga dapat menggunakan VPC Bersama. Jika menggunakan VPC Bersama, Anda biasanya menjalankan tugas pelatihan di project Google Cloud yang terpisah dari project host VPC Anda. Aktifkan Compute Engine API dan Service Networking API di kedua project. Pelajari cara menyediakan VPC Bersama.
  • Instal gcloud CLI jika Anda ingin menjalankan contoh command line gcloud dalam panduan ini.

Izin

Jika Anda bukan pemilik atau editor project, pastikan Anda memiliki peran Admin Jaringan Compute, yang mencakup izin yang Anda perlukan untuk mengelola resource jaringan.

Untuk menjalankan tugas di Pelatihan AI Platform, Anda memerlukan izin yang disertakan dalam peran AI Platform Training Admin atau AI Platform Training Developer. Pelajari peran IAM Pelatihan AI Platform lebih lanjut.

Peering dengan jaringan lokal

Untuk Peering Jaringan VPC dengan jaringan lokal, ada langkah-langkah tambahan:

  1. Hubungkan jaringan lokal ke VPC Anda. Anda dapat menggunakan tunnel VPN atau Interconnect.
  2. Siapkan rute kustom dari VPC ke jaringan lokal Anda.
  3. Ekspor rute kustom Anda sehingga AI Platform Training dapat mengimpornya.

Menyiapkan akses layanan pribadi untuk VPC Anda

Saat menyiapkan akses layanan pribadi, Anda membuat koneksi pribadi antara jaringan Anda dan jaringan milik Google atau layanan pihak ketiga (produsen layanan). Dalam hal ini, AI Platform Training merupakan produsen layanan. Untuk menyiapkan akses layanan pribadi, cadangkan rentang IP untuk produsen layanan, lalu buat koneksi peering dengan AI Platform Training.

Jika Anda sudah mengonfigurasi VPC dengan akses layanan pribadi, dan ingin menggunakan VPC tersebut untuk melakukan peering dengan tugas pelatihan Anda, lanjutkan ke bagian mengekspor rute kustom.

  1. Tetapkan variabel lingkungan untuk project ID, nama region, nama rentang yang dicadangkan, dan nama jaringan Anda.
    • Jika Anda menggunakan VPC Bersama, gunakan project ID dari project host VPC Anda. Jika tidak, gunakan project ID project Google Cloud yang Anda gunakan untuk menjalankan tugas pelatihan.
    • Pilih wilayah yang memenuhi syarat untuk digunakan dengan Pelatihan AI Platform.
  2. Aktifkan API yang diperlukan. Jika Anda menggunakan VPC Bersama, pastikan untuk mengaktifkan API di project host VPC Anda dan project Google Cloud yang Anda gunakan untuk menjalankan tugas pelatihan.
  3. Tetapkan rentang yang dicadangkan menggunakan gcloud compute addresses create.
  4. Buat koneksi peering antara project host VPC Anda dan Jaringan Layanan Google, menggunakan gcloud services vpc-peerings connect.

    PROJECT_ID=YOUR_PROJECT_ID
    gcloud config set project $PROJECT_ID
    
    REGION=YOUR_REGION
    
    # This is for display only; you can name the range anything.
    PEERING_RANGE_NAME=google-reserved-range
    
    NETWORK=YOUR_NETWORK_NAME
    
    # NOTE: `prefix-length=16` means a CIDR block with mask /16 will be
    # reserved for use by Google services, such as AI Platform Training.
    gcloud compute addresses create $PEERING_RANGE_NAME \
      --global \
      --prefix-length=16 \
      --description="peering range for Google service" \
      --network=$NETWORK \
      --purpose=VPC_PEERING
    
    # Create the VPC connection.
    gcloud services vpc-peerings connect \
      --service=servicenetworking.googleapis.com \
      --network=$NETWORK \
      --ranges=$PEERING_RANGE_NAME \
      --project=$PROJECT_ID
    

Pelajari akses layanan pribadi lebih lanjut.

Mencadangkan rentang IP untuk Pelatihan AI Platform

Saat Anda mencadangkan rentang IP untuk pembuat layanan, rentang tersebut dapat digunakan oleh AI Platform Training serta layanan lainnya. Oleh karena itu, jika berencana untuk menghubungkan layanan lain ke rentang yang dicadangkan yang sama, Anda juga harus memastikan bahwa rentangnya cukup besar untuk menghindari kehabisan IP.

Anda dapat secara konservatif memperkirakan jumlah alamat yang digunakan setiap tugas pelatihan sebagai berikut:

nextPow2(32 * NUMBER_OF_POOLS * max(POOL_SIZE))

Tabel berikut menunjukkan jumlah maksimum tugas pelatihan paralel yang dapat Anda jalankan dengan rentang yang dicadangkan dari /16 hingga /19, dengan asumsi bahwa rentang tersebut digunakan hampir secara eksklusif oleh AI Platform Training.

Konfigurasi mesin untuk tugas pelatihan Rentang yang dicadangkan Jumlah maksimum tugas paralel
Hingga 8 node.
Misalnya: 6 pekerja, 1 master, dan 1 server parameter.
/16 63
/17 31
/18 15
/19 7
Hingga 16 node.
Misalnya: 14 pekerja, 1 master, dan 1 server parameter.
/16 31
/17 15
/18 7
/19 3
Hingga 32 node.
Misalnya: 30 pekerja, 1 master, dan 1 server parameter.
/16 15
/17 7
/18 3
/19 1

Pelajari lebih lanjut cara menentukan jenis mesin untuk tugas pelatihan.

Ekspor rute kustom

Jika menggunakan rute kustom, Anda harus mengekspornya agar AI Platform Training dapat mengimpornya. Jika Anda tidak menggunakan rute kustom, lanjutkan ke mengirimkan tugas pelatihan.

Untuk mengekspor rute kustom, perbarui koneksi peering di VPC Anda. Mengekspor rute kustom akan mengirimkan semua rute statis dan dinamis yang memenuhi syarat yang ada di jaringan VPC Anda, seperti rute ke jaringan lokal Anda, ke jaringan produsen layanan (dalam hal ini, Pelatihan AI Platform). Tindakan ini akan membentuk koneksi yang diperlukan dan memungkinkan tugas pelatihan mengirim traffic kembali ke jaringan lokal Anda.

Pelajari koneksi pribadi dengan jaringan lokal lebih lanjut.

Konsol

  1. Buka halaman Peering Jaringan VPC di konsol Google Cloud.
    Buka halaman Peering Jaringan VPC
  2. Pilih koneksi peering yang akan diperbarui.
  3. Klik Edit.
  4. Pilih Export custom routes.

gcloud

  1. Temukan nama koneksi peering yang akan diupdate. Jika Anda memiliki beberapa koneksi peering, hapus flag --format.

    gcloud services vpc-peerings list \
      --network=$NETWORK \
      --service=servicenetworking.googleapis.com \
      --project=$PROJECT_ID \
      --format "value(peering)"
    
  2. Perbarui koneksi peering untuk mengekspor rute kustom.

    gcloud compute networks peerings update PEERING-NAME \
        --network=$NETWORK \
        --export-custom-routes \
        --project=$PROJECT_ID
    

Memeriksa status koneksi peering

Untuk melihat apakah koneksi peering aktif, Anda dapat mencantumkannya menggunakan

gcloud compute networks peerings list --network $NETWORK

Anda akan melihat bahwa status peering yang baru saja dibuat adalah ACTIVE. Pelajari lebih lanjut koneksi peering aktif.

Mengirim tugas pelatihan

Saat mengirimkan tugas pelatihan, Anda perlu menentukan nama jaringan yang ingin Anda akses ke Pelatihan AI Platform.

Jika Anda mengirimkan tugas pelatihan tanpa nama jaringan, tugas pelatihan akan berjalan secara default tanpa koneksi peering, dan tanpa akses ke IP pribadi di project Anda.

  1. 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)")
    cat << EOF > config.yaml
    trainingInput:
      scaleTier: BASIC
      network: projects/$PROJECT_NUMBER/global/networks/$NETWORK
    EOF
    
  2. Buat permohonan pelatihan untuk dikirimkan ke Pelatihan AI Platform.

  3. Tentukan parameter lain untuk tugas pelatihan Anda. Pelajari lebih lanjut parameter yang diperlukan untuk mengirimkan tugas pelatihan.

    TRAINER_PACKAGE_PATH="PATH_TO_YOUR_TRAINING_APPLICATION"
    now=$(date +"%Y%m%d_%H%M%S")
    JOB_NAME="YOUR_JOB_NAME_$now"
    MAIN_TRAINER_MODULE="trainer.task"
    JOB_DIR="gs://PATH_TO_OUTPUT_DIRECTORY"
    REGION="us-east1"
    RUNTIME_VERSION="2.11"
    PYTHON_VERSION="3.7"
    
  4. Kirim tugas, dengan meneruskan file config.yaml Anda:

    gcloud ai-platform jobs submit training $JOB_NAME \
      --module-name $MAIN_TRAINER_MODULE \
      --job-dir $JOB_DIR \
      --region $REGION \
      --runtime-version $RUNTIME_VERSION \
      --python-version $PYTHON_VERSION \
      --package-path $TRAINER_PACKAGE_PATH \
      --config config.yaml
    

Menjalankan tugas di jaringan lain

Anda tidak dapat mengirimkan tugas pelatihan ke jaringan baru saat masih ada tugas pelatihan yang aktif di jaringan lain. Sebelum beralih ke jaringan lain, Anda harus menunggu semua tugas pelatihan yang dikirimkan selesai, atau membatalkannya. Misalnya, jika Anda menyiapkan jaringan untuk pengujian, dan Anda mengirimkan tugas pelatihan di jaringan pengujian tersebut, Anda harus menelusuri tugas aktif di jaringan pengujian, dan memastikan tugas tersebut selesai atau dibatalkan sebelum mengirimkan tugas pelatihan pada jaringan lain untuk produksi.

Menampilkan daftar tugas pelatihan yang masih aktif di jaringan:

PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
NETWORK_FULL_NAME="projects/$PROJECT_NUMBER/global/networks/$NETWORK"

gcloud ai-platform jobs list \
  --filter "(state=queued OR state=running) AND (trainingInput.network=$NETWORK_FULL_NAME)"

Output Anda mungkin terlihat seperti ini:

JOB_ID                                             STATUS     CREATED
job_20200502_151443                                QUEUED     2020-05-02T15:14:47

Jika ada tugas yang tercantum, Anda dapat menunggu hingga tugas selesai, atau menggunakan gcloud ai-platform jobs cancel untuk membatalkan setiap tugas.

Menguji akses tugas pelatihan

Untuk menguji apakah tugas pelatihan Anda dapat mengakses endpoint di jaringan Anda, Anda perlu menyiapkan endpoint di jaringan Anda, lalu mengirim tugas pelatihan yang mengaksesnya. Pelajari lebih lanjut dengan membaca panduan untuk menguji koneksi peering.

Pemecahan masalah

Bagian ini mencantumkan beberapa masalah umum dalam mengonfigurasi Peering Jaringan VPC dengan Pelatihan AI Platform.

  • Saat Anda mengirimkan tugas pelatihan, gunakan nama jaringan lengkap:

    "projects/YOUR_PROJECT_NUMBER/global/networks/YOUR_NETWORK_NAME"

  • Jangan gunakan TPU dalam tugas pelatihan yang di-peering dengan jaringan Anda. TPU tidak didukung dengan Peering Jaringan VPC di Pelatihan AI Platform.

  • Pastikan tidak ada tugas pelatihan aktif di jaringan sebelum mengirimkan tugas pelatihan di jaringan yang berbeda.

  • Pastikan Anda telah mengalokasikan rentang IP yang memadai untuk semua produsen layanan yang terhubung ke jaringan Anda, termasuk AI Platform Training.

Untuk mengetahui informasi pemecahan masalah tambahan, lihat panduan pemecahan masalah Peering Jaringan VPC.

Langkah selanjutnya