Tips umum untuk menggunakan Compute Engine

Halaman ini menjelaskan tips yang mungkin berguna jika Anda mengalami masalah saat menggunakan Compute Engine.

Untuk mendapatkan bantuan dalam memecahkan masalah tertentu, lihat salah satu bagian berikut:

Melihat format respons yang berbeda

Google Cloud CLI melakukan sebagian besar tindakannya dengan melakukan panggilan REST API. Hasil cetak yang cukup bagus hanya menampilkan informasi paling penting yang ditampilkan oleh perintah tertentu. Untuk melihat format respons yang berbeda, gunakan flag --format yang menampilkan respons dalam berbagai format output, termasuk json, yaml, dan text. Misalnya, untuk melihat daftar instance di JSON, gunakan --format json:

gcloud compute instances list --format json

Melihat log komputasi gcloud

Gcloud CLI membuat dan menyimpan log dalam file log yang dapat Anda kueri, yang terletak di $HOME/.config/gcloud/logs. Untuk melihat file log terbaru pada sistem operasi berbasis Linux, jalankan:

$ less $(find ~/.config/gcloud/logs | sort | tail -n 1)

File log menyertakan informasi tentang semua permintaan dan respons yang dibuat menggunakan alat gcloud CLI.

Untuk menghapus permanen file log yang dibuat oleh gcloud CLI secara otomatis, gunakan properti max_log_days, yang menetapkan jumlah hari maksimum untuk mempertahankan file log sebelum dihapus. Setelan defaultnya adalah 30 hari. Jika Anda menetapkan nilai properti ini ke 0, tindakan ini akan menonaktifkan pembersihan sampah memori log dan tidak menghapus file log.

 gcloud config set core/max_log_days DAYS_TO_RETAIN_LOGS

Nonaktifkan logging file gcloud CLI:

File $HOME/.config/gcloud/logs menggunakan ruang pada sistem file lokal. Jumlah log yang dihasilkan dapat melebihi batas ruang pada sistem file lokal, yang dapat menyebabkan masalah seperti:

  • Penggunaan ruang mencapai 100% pada instance.
  • Gagal menjalankan perintah logging gcloud CLI karena tidak ada ruang tersisa untuk membuat file baru di sistem file lokal.

Untuk mengubah perilaku gcloud CLI dan menonaktifkan logging file, gunakan properti disable_file_logging:

 gcloud config set core/disable_file_logging True

Memilih nama resource

Ketika memilih nama untuk resource Anda, perlu diingat bahwa nama mudah ini dapat dilihat di dasbor operasional dan dukungan dalam Compute Engine. Karena alasan ini, sebaiknya nama resource tidak mengekspos informasi sensitif apa pun.

Berkomunikasi ke internet

Instance memiliki akses internet langsung hanya jika kedua kondisi berikut terpenuhi:

Instance juga dapat mengakses internet secara tidak langsung dengan terhubung melalui Cloud NAT atau proxy berbasis instance. Untuk pertimbangan tambahan, termasuk konfigurasi aturan firewall, lihat Persyaratan akses internet.

Koneksi yang tidak ada aktivitas

Jaringan VPC Google Cloud mengimplementasikan pelacakan koneksi 10 menit untuk protokol IP yang memiliki konsep koneksi (misalnya TCP). Artinya, paket masuk yang terkait dengan koneksi yang dibuat diizinkan selama setidaknya satu paket dikirim atau diterima untuk koneksi tersebut dalam 10 menit terakhir. Jika tidak ada paket untuk koneksi yang telah dikirim atau diterima selama 10 menit atau lebih, entri pelacakan koneksi yang tidak ada aktivitas akan dihapus. Setelah entri pelacakan koneksi dihapus, Google Cloud tidak mengizinkan paket masuk tambahan hingga setidaknya satu paket keluar baru terkirim. Pelacakan koneksi ini berlaku untuk semua sumber dan tujuan – baik alamat IP internal maupun eksternal.

Untuk mencegah koneksi tidak ada aktivitas, lakukan hal berikut:

  • Tetapkan parameter TCP keep-alive sistem operasi ke jangka waktu kurang dari 10 menit. Hal ini memastikan bahwa setidaknya satu paket dikirim dalam jangka waktu tertentu.

  • Pastikan aplikasi yang membuka koneksi TCP melakukannya dengan mengaktifkan opsi SO_KEEPALIVE.

Contoh berikut menunjukkan cara menetapkan parameter keep-alive TCP sistem operasi dengan nilai interval satu menit. Lihat dokumentasi library aplikasi atau software Anda untuk menentukan cara mengonfigurasinya agar dapat menggunakan SO_KEEPALIVE.

Linux


Jalankan perintah berikut:

$ sudo /sbin/sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=5
Untuk memastikan setelan tetap bertahan saat mulai ulang, tambahkan setelan ke file /etc/sysctl.conf.

Lihat CARA Keepalive Linux TCP untuk informasi tambahan.

macOS


Jalankan perintah berikut:

$ sudo sysctl -w net.inet.tcp.always_keepalive=1 net.inet.tcp.keepidle=60000 net.inet.tcp.keepinit=60000 net.inet.tcp.keepintvl=60000

Windows


Di jalur registry HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\, tambahkan setelan berikut menggunakan jenis data DWord, atau edit nilai ini jika sudah ada:

KeepAliveInterval: 1000
KeepAliveTime: 60000
TcpMaxDataRetransmissions: 10

Mengakses Compute Engine sebagai pengguna SSH yang berbeda

Secara default, alat command line gcloud compute menggunakan variabel $USER untuk menambahkan pengguna ke file /etc/passwd agar dapat terhubung ke instance mesin virtual menggunakan SSH. Anda dapat menentukan pengguna yang berbeda menggunakan tanda --ssh-key-file PRIVATE_KEY_FILE saat menjalankan perintah gcloud compute ssh. Contoh:

gcloud compute ssh example-instance --ssh-key-file my-private-key-file

Baca dokumentasi referensi gcloud untuk mengetahui informasi selengkapnya.

Berinteraksi dengan konsol serial

Anda dapat mengaktifkan akses interaktif ke konsol serial instance agar dapat menghubungkan dan memecahkan masalah instance melalui konsol serial.

Untuk mempelajari lebih lanjut, baca Berinteraksi dengan Konsol Serial.

Menghindari fragmentasi paket ke instance yang dibuat dari image kustom

Jaringan VPC memiliki unit transmisi maksimum (MTU) default sebesar 1460 byte untuk image Linux dan image Windows Server. Namun, MTU jaringan dapat diubah. Untuk mengetahui detailnya, lihat ringkasan unit transmisi maksimum dalam dokumentasi VPC.

Saat membuat aplikasi klien yang berkomunikasi dengan instance Compute Engine melalui soket UDP, Anda dapat menghindari fragmentasi jika Anda menetapkan ukuran maksimum datagram UDP menjadi 28 byte lebih kecil dari MTU jaringan. Misalnya, jika MTU jaringan adalah 1.460 byte, Anda dapat mengirim hingga 1.432 byte data UDP per paket tanpa fragmentasi. Jika MTU jaringan adalah 1.500 byte, Anda dapat mengirim hingga 1.472 byte data UDP tanpa fragmentasi. 28 byte digunakan untuk header paket IPv4 (20 byte) dan header datagram UDP (8 byte). Anda dapat menyetel MTU jaringan ke maksimum 8.896 byte.