Mengonfigurasi jaringan dan akses ke Cloud TPU

Halaman ini menjelaskan cara menyiapkan konfigurasi jaringan dan akses kustom untuk Cloud TPU Anda, termasuk:

  • Menentukan jaringan dan subnetwork kustom
  • Menentukan alamat IP eksternal dan internal
  • Mengaktifkan akses SSH ke TPU
  • Melampirkan akun layanan kustom ke TPU
  • Mengaktifkan metode SSH kustom
  • Menggunakan Kontrol Layanan VPC

Prasyarat

Sebelum menjalankan prosedur ini, Anda harus menginstal Google Cloud CLI, membuat project Google Cloud , dan mengaktifkan Cloud TPU API. Untuk mengetahui petunjuknya, lihat Menyiapkan lingkungan Cloud TPU.

Menentukan jaringan dan subnetwork kustom

Anda dapat secara opsional menentukan jaringan dan subnetwork yang akan digunakan untuk TPU. Jika jaringan tidak ditentukan, TPU akan berada di jaringan default. Subnetwork harus berada di region yang sama dengan zona tempat TPU berjalan.

  1. Buat jaringan yang cocok dengan salah satu format valid berikut:

    • compute/{version}/projects/{proj-id}/global/networks/{network}
    • compute/{version}/projects/{proj-##}/global/networks/{network}
    • projects/{proj-id}/global/networks/{network}
    • projects/{proj-##}/global/networks/{network}
    • global/networks/{network}
    • {network}

    Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola jaringan VPC.

  2. Buat subnetwork yang cocok dengan salah satu format valid berikut:

    • compute/{version}/projects/{proj-id}/regions/{region}/subnetworks/{subnetwork}
    • compute/{version}/projects/{proj-##}/regions/{region}/subnetworks/{subnetwork}
    • projects/{proj-id}/regions/{region}/subnetworks/{subnetwork}
    • projects/{proj-##}/regions/{region}/subnetworks/{subnetwork}
    • regions/{region}/subnetworks/{subnetwork}
    • {subnetwork}

    Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola jaringan VPC.

  3. Buat VM TPU, dengan menentukan jaringan dan subnetwork kustom:

    gcloud

    Untuk menentukan jaringan dan subnetwork menggunakan CLI gcloud, tambahkan flag --network dan --subnetwork ke permintaan pembuatan Anda:

        $ gcloud compute tpus tpu-vm create TPU_NAME \
            --zone=us-central2-b \
            --accelerator-type=v4-8 \
            --version=TPU_SOFTWARE_VERSION \
            --network=NETWORK \
            --subnetwork=SUBNETWORK

    curl

    Untuk menentukan jaringan dan subnetwork dalam panggilan curl, tambahkan kolom network dan subnetwork ke isi permintaan:

        $ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d "{accelerator_type: 'v4-8', \
            runtime_version:'tpu-vm-tf-2.17.1-pjrt', \
            network_config: {network: 'NETWORK', subnetwork: 'SUBNETWORK', enable_external_ips: true}, \
            shielded_instance_config: { enable_secure_boot: true }}" \
            https://tpu.googleapis.com/v2/projects/PROJECT_ID/locations/us-central2-b/nodes?node_id=TPU_NAME

Memahami alamat IP eksternal dan internal

Saat Anda membuat VM TPU, VM tersebut selalu dilengkapi dengan alamat IP internal secara otomatis. Jika VM TPU dibuat melalui gcloud CLI, alamat IP eksternal akan dibuat secara default. Jika dibuat melalui Cloud TPU REST API (tpu.googleapis.com), alamat IP eksternal tidak ditetapkan secara default. Anda dapat mengubah perilaku default dalam kedua kasus tersebut.

Alamat IP eksternal

Saat Anda membuat TPU menggunakan gcloud, alamat IP eksternal akan dibuat secara default untuk setiap VM TPU. Jika Anda ingin membuat VM TPU tanpa IP eksternal, gunakan flag --internal-ips yang ditampilkan dalam contoh berikut saat Anda membuat VM TPU.

gcloud

Jika Anda menggunakan resource dalam antrean:

gcloud compute tpus queued-resources create your-queued-resource-id \
  --node-id your-node-id \
  --project your-project \
  --zone us-central2-b \
  --accelerator-type v4-8 \
  --runtime-version tpu_software_version \
  --internal-ips

Jika Anda menggunakan Create Node API:

$ gcloud compute tpus tpu-vm create TPU_NAME \
    --zone=us-central2-b \
    --accelerator-type=v4-8 \
    --version=tpu_software_version \
    --internal-ips

curl

Tetapkan kolom enable_external_ips ke false di isi permintaan:

$ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d "{accelerator_type: 'v4-8', \
    runtime_version:'tpu-vm-tf-2.17.1-pjrt', \
    network_config: {enable_external_ips: false}, \
    shielded_instance_config: { enable_secure_boot: true }}" \
    https://tpu.googleapis.com/v2/projects/PROJECT_ID/locations/us-central2-b/nodes?node_id=TPU_NAME

Untuk membuat VM TPU dengan alamat IP eksternal saat menggunakan REST API (tpu.googleapis.com), tetapkan kolom networkconfig.enable_external_ips dalam permintaan ke true.

Alamat IP internal

VM TPU selalu memiliki alamat IP internal. Pengguna Cloud TPU mungkin ingin membatasi VM TPU mereka ke alamat IP internal saja karena beberapa alasan utama:

Keamanan yang Ditingkatkan: IP Internal hanya dapat diakses oleh resource dalam jaringan VPC yang sama, yang dapat meningkatkan keamanan dengan membatasi akses eksternal ke VM TPU. Hal ini sangat penting terutama saat bekerja dengan data sensitif atau saat Anda ingin membatasi akses ke TPU Anda untuk pengguna atau sistem tertentu dalam jaringan Anda.

Penghematan Biaya: Dengan menggunakan alamat IP internal, Anda dapat menghindari biaya yang terkait dengan alamat IP eksternal, yang bisa signifikan untuk sejumlah besar VM TPU.

Peningkatan Performa Jaringan: IP internal dapat menghasilkan performa jaringan yang lebih baik karena traffic tetap berada dalam jaringan Google, sehingga menghindari overhead perutean melalui internet publik. Hal ini sangat relevan untuk workload machine learning skala besar yang memerlukan komunikasi bandwidth tinggi antar-VM TPU.

Mengaktifkan metode SSH kustom

Untuk terhubung ke TPU menggunakan SSH, Anda harus mengaktifkan alamat IP eksternal untuk TPU, atau mengaktifkan Akses Google Pribadi untuk subnetwork yang terhubung ke VM TPU.

Mengaktifkan Akses Google Pribadi

TPU yang tidak memiliki alamat IP eksternal dapat menggunakan Akses Google Pribadi untuk mengakses API dan layanan Google. Untuk mengetahui informasi selengkapnya tentang cara mengaktifkan Akses Google Pribadi, lihat Mengonfigurasi Akses Google Pribadi.

Setelah Anda mengonfigurasi Akses Google Pribadi, hubungkan ke VM menggunakan SSH.

Melampirkan akun layanan kustom

Setiap VM TPU memiliki akun layanan terkait yang digunakannya untuk membuat permintaan API atas nama Anda. VM TPU menggunakan akun layanan ini untuk memanggil API Cloud TPU dan mengakses Cloud Storage serta layanan lainnya. Secara default, TPU VM Anda menggunakan akun layanan Compute Engine default.

Akun layanan harus ditentukan dalam project Google Cloud yang sama dengan tempat Anda membuat VM TPU. Akun layanan kustom yang digunakan untuk VM TPU harus memiliki peran TPU Viewer untuk memanggil Cloud TPU API. Jika kode yang berjalan di VM TPU Anda memanggil layanan Google Cloud lain, kode tersebut harus memiliki peran yang diperlukan untuk mengakses layanan tersebut.

Untuk mengetahui informasi selengkapnya tentang akun layanan, lihat Akun layanan.

Gunakan perintah berikut untuk menentukan akun layanan kustom.

gcloud

Gunakan flag --service-account saat membuat TPU:

$ gcloud compute tpus tpu-vm create TPU_NAME \
    --zone=us-central2-b \
    --accelerator-type=TPU_TYPE \
    --version=tpu-vm-tf-2.17.1-pjrt \
    --service-account=SERVICE_ACCOUNT

curl

Tetapkan kolom service_account di isi permintaan:

$ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d "{accelerator_type: 'v4-8', \
    runtime_version:'tpu-vm-tf-2.17.1-pjrt', \
    network_config: {enable_external_ips: true}, \
    shielded_instance_config: { enable_secure_boot: true }}" \
    service_account: {email: 'SERVICE_ACCOUNT'} \
    https://tpu.googleapis.com/v2/projects/PROJECT_ID/locations/us-central2-b/nodes?node_id=TPU_NAME

Mengaktifkan metode SSH kustom

Jaringan default mengizinkan akses SSH ke semua VM TPU. Jika Anda menggunakan jaringan selain jaringan default atau mengubah setelan jaringan default, Anda harus mengaktifkan akses SSH secara eksplisit dengan menambahkan aturan firewall:

$ gcloud compute firewall-rules create \
    --network=NETWORK allow-ssh \
    --allow=tcp:22

Terintegrasi dengan Kontrol Layanan VPC

Kontrol Layanan VPC Cloud TPU memungkinkan Anda menentukan perimeter keamanan di sekitar resource Cloud TPU dan mengontrol pergerakan data melintasi batas perimeter. Untuk mempelajari lebih lanjut Kontrol Layanan VPC, lihat Ringkasan Kontrol Layanan VPC. Untuk mempelajari batasan penggunaan Cloud TPU dengan Kontrol Layanan VPC, lihat produk yang didukung dan batasan.