Mengonfigurasi jaringan dan akses ke instance TPU

Halaman ini menjelaskan cara menyiapkan konfigurasi jaringan dan akses kustom untuk instance TPU, 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 Compute Engine API. Untuk mengetahui petunjuknya, lihat Menyiapkan project Google Cloud untuk TPU.

Menentukan jaringan dan subnetwork kustom

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

  1. Buat jaringan dan subnetwork dengan mengikuti petunjuk untuk membuat jaringan VPC.

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

    Untuk menentukan jaringan dan subnetwork, sertakan flag jaringan yang ditunjukkan dalam contoh berikut saat Anda menjalankan perintah gcloud compute instances create:

    gcloud compute instances create TPU_NAME \
        --machine-type=MACHINE_TYPE \
        --image-family=IMAGE_FAMILY \
        --image-project=IMAGE_PROJECT \
        --zone=ZONE \
        --maintenance-policy=TERMINATE \
        --network=NETWORK_NAME \
        --subnet=SUBNET_NAME \
        --stack-type=STACK_TYPE \
        --private-network-ip=INTERNAL_IPV4_ADDRESS \
        --address=EXTERNAL_IPV4_ADDRESS
    

    Ganti placeholder berikut:

    • TPU_NAME: Nama untuk VM TPU.
    • MACHINE_TYPE: Jenis mesin untuk VM TPU (misalnya, ct6e-standard-8t).
    • IMAGE_FAMILY: Kelompok image OS untuk VM TPU. Jika Anda ingin menginstal versi OS tertentu, gunakan flag --image. Untuk mengetahui informasi selengkapnya tentang image OS, lihat Image OS.
    • IMAGE_PROJECT: Project yang berisi image OS. Untuk image TPU, ini adalah ubuntu-os-accelerator-images.
    • ZONE: Zona untuk TPU VM (misalnya, us-central1-b).
    • NETWORK_NAME: Opsional: nama jaringan. Jika menentukan jaringan, Anda harus menentukan subnet dan subnet tersebut harus berasal dari jaringan yang sama. Jika Anda tidak menentukan jaringan, Compute Engine akan menyimpulkan jaringan dari subnet yang telah ditentukan.
    • SUBNET_NAME: Nama subnet yang akan digunakan dengan instance.

      Untuk melihat daftar subnet di dalam jaringan, gunakan perintah gcloud compute networks subnets list.

    • STACK_TYPE: Opsional: jenis stack jaringan untuk antarmuka jaringan. STACK_TYPE harus salah satu dari: IPV4_ONLY, IPV4_IPV6, atau IPV6_ONLY (Pratinjau). Nilai defaultnya adalah IPV4_ONLY.

    • INTERNAL_IPV4_ADDRESS: Opsional: alamat IPv4 internal yang Anda inginkan untuk digunakan instance komputasi di subnet target. Hilangkan tanda ini jika Anda tidak memerlukan alamat IP tertentu.

      Untuk menentukan alamat IPv6 internal, gunakan flag --internal-ipv6-address.

    • EXTERNAL_IPV4_ADDRESS: Opsional: alamat IPv4 eksternal statis yang akan digunakan dengan antarmuka jaringan. Ganti EXTERNAL_IPV4_ADDRESS dengan salah satu dari berikut ini:

      • Alamat IPv4 yang valid dari subnet yang ditentukan. Anda harus sudah mencadangkan alamat IPv4 eksternal sebelumnya.
      • '' (string kosong) untuk menggunakan alamat IP eksternal sementara.

      Jika Anda tidak ingin VM memiliki alamat IP eksternal, ganti tanda --address dengan tanda --no-address.

      Untuk menentukan alamat IPv6 eksternal, gunakan flag --external-ipv6-address sebagai gantinya.

Memahami alamat IP eksternal dan internal

Saat Anda membuat instance VM TPU, instance tersebut selalu memiliki alamat IP internal. Jika Anda membuat instance TPU menggunakan gcloud CLI, alamat IP eksternal akan dibuat secara default. Jika Anda membuatnya melalui Compute Engine REST API (compute.googleapis.com), alamat IP eksternal tidak ditetapkan secara default. Anda dapat mengubah perilaku default dalam kedua kasus tersebut.

Berikut adalah beberapa alasan untuk membatasi VM TPU Anda agar hanya menggunakan alamat IP internal:

  • Peningkatan keamanan: Alamat 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 bekerja dengan data sensitif atau saat Anda ingin membatasi akses ke VM TPU bagi 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: Alamat 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.

Membuat instance VM TPU tanpa alamat IP eksternal

Jika Anda ingin membuat instance VM TPU tanpa alamat IP eksternal, gunakan flag --no-address saat menjalankan perintah gcloud compute instances create:

gcloud compute instances create TPU_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --maintenance-policy=TERMINATE \
    --network=NETWORK_NAME \
    --subnet=SUBNET_NAME \
    --stack-type=STACK_TYPE \
    --private-network-ip=INTERNAL_IPV4_ADDRESS \
    --no-address

Ganti placeholder berikut:

  • TPU_NAME: Nama untuk VM TPU.
  • MACHINE_TYPE: Jenis mesin untuk VM TPU (misalnya, ct6e-standard-8t).
  • IMAGE_FAMILY: Kelompok image OS untuk VM TPU. Jika Anda ingin menginstal versi OS tertentu, gunakan flag --image. Untuk mengetahui informasi selengkapnya tentang image OS, lihat Image OS.
  • IMAGE_PROJECT: Project yang berisi image OS. Untuk image TPU, ini adalah ubuntu-os-accelerator-images.
  • ZONE: Zona untuk VM TPU (misalnya us-central1-b).
  • NETWORK_NAME: Opsional: nama jaringan. Jika menentukan jaringan, Anda harus menentukan subnet dan subnet tersebut harus berasal dari jaringan yang sama. Jika Anda tidak menentukan jaringan, Compute Engine akan menyimpulkan jaringan dari subnet yang telah ditentukan.
  • SUBNET_NAME: Nama subnet yang akan digunakan dengan instance.

    Untuk melihat daftar subnet di dalam jaringan, gunakan perintah gcloud compute networks subnets list.

  • STACK_TYPE: Opsional: jenis stack jaringan untuk antarmuka jaringan. STACK_TYPE harus salah satu dari: IPV4_ONLY, IPV4_IPV6, atau IPV6_ONLY (Pratinjau). Nilai defaultnya adalah IPV4_ONLY.

  • INTERNAL_IPV4_ADDRESS: Opsional: alamat IPv4 internal yang Anda inginkan untuk digunakan instance komputasi di subnet target. Hilangkan tanda ini jika Anda tidak memerlukan alamat IP tertentu.

    Untuk menentukan alamat IPv6 internal, gunakan flag --internal-ipv6-address sebagai gantinya.

Membuat instance VM TPU dengan alamat IP eksternal

Saat Anda membuat instance VM TPU menggunakan gcloud CLI, instance tersebut akan mendapatkan alamat IP eksternal sementara secara default.

Untuk membuat VM TPU dengan alamat IP eksternal saat menggunakan REST API, buat permintaan POST ke metode instances.insert dan sertakan kolom accessConfigs dalam array networkInterfaces di isi permintaan. Jika isi permintaan tidak menentukan kolom accessConfigs, instance tidak akan memiliki akses internet eksternal.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
    "machineType":"zones/ZONE/machineTypes/MACHINE_TYPE",
    "name":"TPU_NAME",
    "disks":[
        {
            "initializeParams":{
                "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
            },
            "boot":true
        }
    ],
    "networkInterfaces":[
        {
            "network":"global/networks/NETWORK_NAME",
            "subnetwork":"regions/REGION/subnetworks/SUBNET_NAME",
            "stackType":"STACK_TYPE",
            "accessConfigs":[
                {
                    "name": "external-nat",
                    "type": "ONE_TO_ONE_NAT"
                }
            ]
        }
    ],
    "scheduling": {
        "onHostMaintenance": "TERMINATE"
    }
}

Ganti placeholder berikut:

  • PROJECT_ID: ID project tempat Anda ingin membuat VM TPU.
  • ZONE: Zona untuk TPU VM (misalnya, us-central1-b).
  • MACHINE_TYPE: Jenis mesin untuk VM TPU (misalnya, ct6e-standard-8t).
  • TPU_NAME: Nama untuk VM TPU.
  • IMAGE_PROJECT: Project yang berisi image OS. Untuk image TPU, ini adalah ubuntu-os-accelerator-images.
  • IMAGE_FAMILY: Kelompok image OS untuk VM TPU. Jika Anda ingin menginstal versi OS tertentu, ganti seluruh nilai "sourceImage" dengan nama versi image dalam format berikut: projects/IMAGE_PROJECT/global/images/IMAGE_NAME.

    Untuk mengetahui informasi selengkapnya tentang image OS, lihat Image OS.

  • NETWORK_NAME: Opsional: nama jaringan. Jika menentukan jaringan, Anda harus menentukan subnet dan subnet tersebut harus berasal dari jaringan yang sama. Jika Anda tidak menentukan jaringan, Compute Engine akan menyimpulkan jaringan dari subnet yang telah ditentukan.

  • REGION: Region subnetwork.

  • SUBNET_NAME: Nama subnet yang akan digunakan dengan instance.

    Untuk melihat daftar subnet di dalam jaringan, gunakan perintah gcloud compute networks subnets list.

  • STACK_TYPE: Opsional: jenis stack untuk antarmuka jaringan. STACK_TYPE harus salah satu dari: IPV4_ONLY, IPV4_IPV6, atau IPV6_ONLY (Pratinjau). Nilai defaultnya adalah IPV4_ONLY.

Jika telah mencadangkan alamat IP eksternal statis, Anda dapat menetapkannya ke instance pada waktu pembuatan menggunakan flag --address dengan alamat IP statis atau flag --network-interface untuk menetapkan konfigurasi jaringan yang mendetail. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi alamat IP eksternal statis.

Mengaktifkan akses SSH ke instance VM TPU

Untuk mengaktifkan akses SSH ke instance VM TPU:

  • Instance TPU harus dapat dijangkau melalui alamat IP eksternal atau Akses Google Pribadi.
    • Jika Anda membuat instance TPU menggunakan gcloud CLI, instance akan mendapatkan alamat IP eksternal sementara secara default. Jika membuat instance TPU menggunakan REST API, Anda harus menentukan bahwa instance tersebut harus memiliki alamat IP eksternal. Untuk mengetahui informasi selengkapnya, lihat Membuat instance VM TPU dengan alamat IP eksternal.
    • Jika instance TPU Anda tidak memiliki alamat IP eksternal, Anda dapat mengonfigurasi Akses Google Pribadi. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan Akses Google Pribadi.
  • Jaringan yang digunakan instance TPU harus mengizinkan traffic SSH. Jaringan default otomatis mengizinkan traffic SSH. Jika menggunakan jaringan kustom atau mengubah setelan jaringan default, Anda harus mengaktifkan SSH secara eksplisit di jaringan.

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 Anda mengonfigurasi Akses Google Pribadi, hubungkan ke VM menggunakan SSH.

Mengaktifkan traffic SSH di jaringan

Jaringan default mengizinkan akses SSH ke semua VM TPU. Jika Anda menggunakan jaringan kustom 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

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 Compute Engine dan mengakses Cloud Storage serta layanan lainnya. Secara default, TPU VM Anda menggunakan akun layanan Compute Engine default.

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

Untuk menentukan akun layanan kustom saat membuat instance VM TPU, gunakan perintah gcloud compute instances create dan berikan email akun layanan serta cakupan akses cloud-platform ke instance VM:

gcloud compute instances create TPU_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --maintenance-policy=TERMINATE \
    --service-account=SERVICE_ACCOUNT_EMAIL \
    --scopes=https://www.googleapis.com/auth/cloud-platform

Ganti kode berikut:

  • TPU_NAME: Nama untuk VM TPU.
  • MACHINE_TYPE: Jenis mesin untuk VM TPU (misalnya, ct6e-standard-8t).
  • IMAGE_FAMILY: Kelompok image OS untuk VM TPU. Jika Anda ingin menginstal versi OS tertentu, gunakan flag --image. Untuk mengetahui informasi selengkapnya tentang image OS, lihat Image OS.
  • IMAGE_PROJECT: Project yang berisi image OS. Untuk image TPU, ini adalah ubuntu-os-accelerator-images.
  • ZONE: Zona untuk VM TPU (misalnya us-central1-b).
  • SERVICE_ACCOUNT_EMAIL: Alamat email untuk akun layanan yang Anda buat. Contoh: my-sa-123@my-project-123.iam.gserviceaccount.com. Untuk melihat alamat email, lihat Mencantumkan akun layanan.

Untuk menggunakan akun layanan di project yang berbeda dari tempat Anda membuat VM TPU, ikuti petunjuk dari Menggunakan akun layanan lintas project.

Mengintegrasikan dengan Kontrol Layanan VPC

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