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 a Google Cloud project, 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.
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.
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.
Buat VM TPU, dengan menentukan jaringan dan subnetwork kustom:
gcloud
Untuk menentukan jaringan dan subnetwork menggunakan
gcloudCLI, tambahkan flag--networkdan--subnetworkke 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 kolomnetworkdansubnetworkke 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 akan 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), tidak ada alamat IP eksternal yang 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 hanya ke alamat IP internal 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 saat Anda 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 dapat signifikan untuk sejumlah besar VM TPU.
Performa Jaringan yang Ditingkatkan: IP internal dapat meningkatkan performa jaringan 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 tempat VM TPU terhubung.
Mengaktifkan Akses Google Pribadi
TPU yang tidak memiliki alamat IP eksternal dapat menggunakan Akses Google Pribadi untuk mengakses Google API dan layanan Google. Untuk mengetahui informasi selengkapnya tentang cara mengaktifkan Akses Google Pribadi, lihat Mengonfigurasi Akses Google Pribadi.
Setelah mengonfigurasi Akses Google Pribadi, hubungkan ke VM menggunakan SSH.
Melampirkan akun layanan kustom
Setiap VM TPU memiliki akun layanan terkait yang digunakan untuk membuat permintaan API atas nama Anda. VM TPU menggunakan akun layanan ini untuk memanggil Cloud TPU API dan mengakses Cloud Storage serta layanan lainnya. Secara default, VM TPU Anda menggunakan akun layanan Compute Engine default.
Akun layanan harus ditentukan dalam project yang sama tempat Anda membuat VM TPU. Google Cloud 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 lain Google Cloud , 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 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
Mengintegrasikan 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 Kontrol Layanan VPC lebih lanjut, lihat Ringkasan Kontrol Layanan VPC. Untuk mempelajari batasan penggunaan Cloud TPU dengan Kontrol Layanan VPC, lihat produk dan batasan yang didukung.