Membuat instance Compute Engine ULL

Halaman ini menjelaskan cara membuat instance Compute Engine Ultra Low Latency (ULL) menggunakan jenis mesin U4P atau U4C dari kelompok mesin U4.

Untuk mengetahui ringkasan proses konfigurasi infrastruktur ULL, lihat Ringkasan konfigurasi untuk Solusi ULL.

Sebelum memulai

Sebelum membuat instance komputasi ULL, lihat bagian berikut.

Membuat jaringan VPC

Jika belum melakukannya, buat jaringan VPC untuk setiap antarmuka jaringan instance Anda seperti yang dijelaskan dalam Ringkasan konfigurasi untuk Solusi ULL.

Membuat kebijakan penempatan

Anda dapat secara opsional menerapkan kebijakan penempatan spread ke instance ULL untuk meningkatkan ketahanan. Untuk mengetahui informasi selengkapnya, lihat Membuat dan menerapkan kebijakan penempatan spread di dokumentasi Compute Engine.

Menetapkan project Anda

Tetapkan gcloud CLI untuk menggunakan project Anda. Atau, Anda dapat menyertakan flag --project=PROJECT_ID untuk setiap perintah dalam prosedur berikut.

gcloud config set project PROJECT_ID

Ganti PROJECT_ID dengan ID project Anda.

Peran yang diperlukan

Guna mendapatkan izin yang Anda perlukan untuk membuat instance Compute Engine, minta administrator Anda untuk memberi Anda peran IAM berikut:

  • Untuk membuat dan mengelola instance komputasi: Compute Instance Admin (compute.instanceAdmin) di project Anda

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Ringkasan konfigurasi instance ULL

Untuk membuat instance komputasi ULL dan mengonfigurasi instance untuk mengirim atau menerima traffic unicast dan multicast ULL, lakukan hal berikut:

Langkah Deskripsi
Membuat instance ULL Buat instance menggunakan jenis mesin U4P atau U4C dan hubungkan antarmuka jaringannya ke jaringan VPC serbaguna dan jaringan VPC ULL. Jika Anda berencana menggunakan instance sebagai konsumen multicast, tetapkan flag igmp-query ke IGMP_QUERY_V2.
Mengonfigurasi perutean untuk antarmuka non-nic0 untuk traffic unicast ULL Konfigurasikan perutean kebijakan berbasis sumber di OS tamu untuk memastikan paket keluar keluar melalui antarmuka yang benar dan mencegah perutean asimetris.
Mengonfigurasi instance agar menjadi konsumen multicast ULL Selesaikan setiap langkah berikut untuk menerima traffic multicast di antarmuka jaringan ULL:
Untuk lebih mengoptimalkan performa, sebaiknya aktifkan juga polling sibuk seperti yang dijelaskan dalam Bekerja dengan Onload.

Selain itu, Anda dapat menggunakan perintah contoh di halaman ini untuk menguji konektivitas multicast.

Membuat instance ULL

Bagian ini menjelaskan cara membuat instance baru untuk digunakan untuk unicast dan multicast ULL.

Untuk mengetahui informasi umum tentang cara membuat instance komputasi, termasuk opsi konfigurasi tambahan, lihat Membuat dan memulai instance Compute Engine.

gcloud

Untuk membuat instance ULL, gunakan compute instances create perintah.

Untuk antarmuka jaringan yang terpasang ke jaringan VPC ULL, no-address harus ditentukan.

Selain itu, perintah berikut menyertakan flag igmp-query untuk memungkinkan instance menjadi konsumen multicast. Flag ini tidak diperlukan jika instance hanya merupakan produsen multicast, atau jika instance hanya mengirim dan menerima unicast.

gcloud compute instances create INSTANCE_NAME \
    --zone=ZONE \
    --machine-type=MACHINE_TYPE \
    --image-project=IMAGE_PROJECT \
    --image=IMAGE_NAME \
    --maintenance-policy=TERMINATE \
    --network-interface=nic-type=NIC_TYPE,queue-count=QUEUES,network=GENERAL_PURPOSE_VPC_NETWORK,subnet=GENERAL_PURPOSE_SUBNET \
    --network-interface=nic-type=NIC_TYPE,queue-count=QUEUES,network=ULL_VPC_NETWORK,subnet=ULL_SUBNET_1,no-address,igmp-query=IGMP_QUERY_V2 \
    --network-interface=nic-type=NIC_TYPE,queue-count=QUEUES,network=ULL_VPC_NETWORK,subnet=ULL_SUBNET_2,no-address,igmp-query=IGMP_QUERY_V2

Ganti nilai berikut:

  • ZONE: zona tempat instance akan dibuat
  • INSTANCE_NAME: nama untuk instance
  • MACHINE_TYPE: jenis mesin U4P atau U4C instance
  • IMAGE_PROJECT: the project image. Untuk pengujian selama Pratinjau, gunakan project image yang disediakan oleh Google. Lihat Dukungan sistem operasi untuk jenis mesin U4.
  • IMAGE_NAME: nama image. Untuk pengujian selama Pratinjau, gunakan image yang disediakan oleh Google. Lihat Dukungan sistem operasi untuk jenis mesin U4.

  • NIC_TYPE: jenis antarmuka jaringan yang akan digunakan. Gunakan jenis antarmuka jaringan yang didukung untuk zona tertentu tempat Anda membuat instance:

    • Untuk us-south1-d, tentukan IDPF.
    • Untuk us-south1-e, tentukan GVNIC.
  • QUEUES: jumlah antrean terima dan kirim untuk memproses paket dari jaringan:

    • Untuk GVNIC, Anda harus menyertakan kolom queue-count dan menentukan nilai 32 untuk dukungan XDP.
    • Untuk IDPF, hapus queue-count=QUEUES dari perintah.
  • GENERAL_PURPOSE_VPC_NETWORK, GENERAL_PURPOSE_SUBNET: jaringan dan subnet VPC untuk melampirkan antarmuka nic0 instance

  • ULL_VPC_NETWORK: jaringan VPC ULL untuk melampirkan antarmuka non-nic0

    • ULL_SUBNET_1: subnet di jaringan VPC ULL untuk melampirkan antarmuka nic1

    • ULL_SUBNET_2: subnet di jaringan VPC ULL untuk melampirkan antarmuka nic2

Mengonfigurasi perutean untuk antarmuka non-nic0 untuk traffic unicast ULL

Secara default, instance menggunakan rute default yang terkait dengan antarmuka nic0 untuk mengirim traffic ke tujuan mana pun di luar subnet yang terhubung langsung. Untuk mengetahui informasi selengkapnya, lihat ringkasan beberapa antarmuka jaringan.

Agar antarmuka nic1 dan nic2 instance Anda berhasil mengirim dan menerima traffic unicast ULL, Anda harus mengonfigurasi perutean kebijakan berbasis sumber di OS tamu. Konfigurasi ini memastikan paket keluar keluar melalui antarmuka yang benar dan mencegah perutean asimetris, yang menyebabkan traffic masuk ke satu antarmuka, tetapi mencoba keluar melalui nic0.

Untuk mengetahui contoh cara mengonfigurasi perutean kebijakan, lihat Mengonfigurasi perutean kebijakan dalam tutorial Mengonfigurasi perutean untuk antarmuka jaringan tambahan.

Mengonfigurasi instance agar menjadi konsumen multicast ULL

Bagian ini menjelaskan cara mengonfigurasi instance ULL yang ada agar menjadi konsumen multicast.

Mengaktifkan kueri IGMP di instance ULL yang ada

Jika Anda tidak mengaktifkan IGMP saat membuat instance, Anda dapat mengaktifkannya di instance yang ada seperti yang dijelaskan di bagian ini.

gcloud

Untuk mengaktifkan kueri IGMP di instance ULL yang ada, gunakan compute instances network-interfaces update perintah.

Ulangi perintah berikut untuk setiap antarmuka jaringan yang ingin Anda gunakan untuk menerima traffic multicast.

gcloud compute instances network-interfaces update INSTANCE_NAME \
    --zone=ZONE \
    --network-interface=NETWORK_INTERFACE_NAME \
    --igmp-query=IGMP_QUERY_V2

Ganti nilai berikut:

  • INSTANCE_NAME: nama instance
  • ZONE: zona instance
  • NETWORK_INTERFACE_NAME: nama antarmuka jaringan tempat kueri IGMP akan diaktifkan. Dalam Google Cloud, formatnya adalah nicNUMBER, seperti nic0, nic1, atau nic2.

Menetapkan IGMPv2 di OS tamu

Untuk menetapkan IGMPv2 di OS tamu instance Anda, lakukan hal berikut:

  1. Hubungkan ke instance menggunakan SSH.

  2. Jalankan perintah berikut dan identifikasi nama perangkat antarmuka jaringan yang ingin Anda gunakan untuk menerima traffic multicast.

    sudo ifconfig
    
  3. Untuk setiap antarmuka jaringan yang berlaku, jalankan perintah berikut untuk menerapkan IGMPv2.

    sudo -i
    echo "2" > /proc/sys/net/ipv4/conf/NETWORK_INTERFACE_DEVICE_NAME/force_igmp_version
    

    Ganti NETWORK_INTERFACE_DEVICE_NAME dengan nama perangkat antarmuka jaringan, seperti eth0, eth1, atau eth2.

Mengonfigurasi pemfilteran jalur terbalik (rp_filter)

Dalam beberapa kasus, seperti pada instance multi-NIC, validasi sumber yang ketat oleh pemfilteran jalur terbalik (rp-filter) dapat menyebabkan paket multicast yang sah dihilangkan. Untuk mencegah hal ini terjadi, Anda dapat mengonfigurasi pemfilteran jalur terbalik untuk melonggarkan atau menonaktifkan validasi sumber pada antarmuka jaringan non-nic0 yang menerima traffic multicast. Misalnya, perintah berikut mengonfigurasi pemfilteran jalur terbalik untuk menonaktifkan validasi sumber pada eth1 dan eth2 dengan menetapkan rp_filter ke 0.

sudo sysctl -w net.ipv4.conf.all.rp_filter=0
sudo sysctl -w net.ipv4.conf.eth1.rp_filter=0
sudo sysctl -w net.ipv4.conf.eth2.rp_filter=0

Untuk mengetahui informasi selengkapnya tentang rp_filter, lihat IP Sysctl di dokumentasi kernel Linux.

Meningkatkan ukuran ring buffer driver jaringan

Bagian ini menjelaskan cara meningkatkan ukuran ring buffer driver jaringan di instance Anda.

Untuk konsumen multicast yang menerima traffic tingkat tinggi, tingkatkan ukuran ring buffer driver jaringan ke nilai 2048 untuk membantu menghindari kehilangan paket. Lakukan hal ini untuk setiap antarmuka jaringan yang menerima traffic multicast.

Lihat contoh perintah berikut, yang mengonfigurasi nic1 dan nic2:

sudo ethtool -G eth1 rx 2048 tx 2048
sudo ethtool -G eth2 rx 2048 tx 2048

Contoh perintah untuk menguji konektivitas multicast ULL

Bagian ini memberikan contoh perintah untuk menguji traffic multicast tanpa memulai workload aplikasi menggunakan iperf alat. Langkah-langkah di bagian ini mengharuskan konfigurasi multicast yang dijelaskan dalam Ringkasan konfigurasi untuk Solusi ULL selesai.

Mengirim traffic multicast ULL dari produsen multicast

  1. Hubungkan ke instance menggunakan SSH.

  2. Instal iperf jika Anda belum melakukannya. iperf3 tidak mendukung multicast. Perintah berikut menggunakan iperf, yang menginstal iperf2.

    sudo yum install iperf
    
  3. Untuk mengirim traffic multicast ke alamat IP grup multicast, jalankan perintah berikut:

    iperf -c MULTICAST_GROUP_ADDRESS%NIC -p 1234 -l 512 -i 1 -u -b 1000pps -t 999999 -B NIC_IP_ADDRESS
    

    Ganti nilai berikut:

    • MULTICAST_GROUP_ADDRESS: alamat IP grup multicast
    • NIC nama perangkat antarmuka jaringan, seperti eth1 atau eth2
    • NIC_IP_ADDRESS alamat IP yang ditetapkan ke NIC yang Anda tentukan

Bergabung ke grup dan menerima traffic multicast ULL dari konsumen multicast

  1. Hubungkan ke instance menggunakan SSH.

  2. Instal iperf jika Anda belum melakukannya.

    sudo yum install iperf
    
  3. Untuk bergabung ke grup multicast dan mencatat traffic yang Anda terima, jalankan perintah berikut:

    iperf -s -p 1234 -B MULTICAST_GROUP_ADDRESS%NIC -l 512 -u -i 1
    

    Ganti nilai berikut:

    • MULTICAST_GROUP_ADDRESS alamat IP grup multicast
    • NIC nama perangkat antarmuka jaringan, seperti eth1 atau eth2

    Misalnya, perintah berikut menggabungkan grup dengan alamat IP 224.1.0.176 untuk menerima paket hingga 512 byte dan mencatat traffic yang diterima:

    iperf -s -p 1234 -B 224.1.0.176%eth1 -l 512 -u -i 1
    

Langkah berikutnya