Dokumen ini menjelaskan cara terhubung ke instance virtual machine (VM) melalui alamat IP internalnya, menggunakan VM bastion host. Bastion host menyediakan titik masuk eksternal ke jaringan Virtual Private Cloud (VPC), berisi VM yang tidak memiliki alamat IP eksternal. Saat menggunakan bastion host, hubungkan ke bastion host terlebih dahulu, lalu hubungkan ke VM target.
Terhubung ke VM menggunakan alamat IP internalnya akan berguna jika VM tidak memiliki alamat IP eksternal. Jika VM memiliki alamat IP eksternal, hubungkan ke VM menggunakan alamat IP eksternalnya. Jika Anda perlu terhubung ke VM yang tidak memiliki alamat IP eksternal dan tidak dapat menggunakan bastion host, pelajari metode lain yang tercantum di Opsi koneksi untuk VM khusus internal.
Sistem operasi yang didukung
Metode koneksi ini didukung untuk semua image Linux publik yang tersedia di Compute Engine. Untuk image Fedora CoreOS, Anda harus menyiapkan akses SSH sebelum dapat menggunakan metode ini.
Membuat VM bastion host
Buat VM Compute Engine dalam jaringan internal cluster pribadi untuk bertindak sebagai bastion host yang dapat mengelola cluster.
Konsol
Buat VM bastion host dengan melakukan hal berikut:
Di konsol Google Cloud, buka halaman Create an instance.
- Tentukan detail VM berikut:
- Name: nama VM Anda.
- Machine type: jenis mesin. Pilih jenis mesin kecil, seperti
e2-micro
. - Boot disk Sistem operasi: OS Linux apa pun.
Luaskan bagian Advanced options, dan lakukan hal berikut:
Di bagian Network interfaces, pilih jaringan dan subnet VPC yang sama dengan VM target.
Untuk External IPv4 address, pilih Ephemeral.
Untuk membuat dan meluncurkan VM, klik Buat.
gcloud
Buat VM bastion host menggunakan perintah gcloud compute instances create
:
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Buat VM bastion host dengan menjalankan perintah berikut:
gcloud compute instances create VM_NAME \ --zone=ZONE \ --machine-type=e2-micro \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --network-interface=subnet=SUBNET,address=""
Ganti kode berikut:
VM_NAME
: nama VM.ZONE
: zona untuk VM.IMAGE_FAMILY
: kelompok gambar Linux.IMAGE_PROJECT
: project gambar yang berisi gambar.SUBNET
: subnet VPC yang sama dengan VM target. Jika Anda menggunakan VPC default,SUBNET
adalahdefault
.
Menghubungkan ke VM
Untuk terhubung ke VM, selesaikan langkah-langkah di salah satu tab berikut.
gcloud
Hubungkan ke VM menggunakan SSH melalui bastion host dengan menjalankan perintah gcloud compute ssh
:
Hubungkan ke VM bastion host dengan menjalankan perintah berikut:
gcloud compute ssh BASTION_NAME
Ganti
BASTION_NAME
dengan nama VM bastion host.Dari VM bastion host, hubungkan ke VM utama melalui alamat IP internalnya menggunakan flag
--internal-ip
:gcloud compute ssh VM_NAME \ --internal-ip
Ganti
VM_NAME
dengan nama VM yang ingin Anda hubungkan.
Klien OpenSSH
Hubungkan ke VM melalui bastion host dari klien OpenSSH, dengan melakukan hal berikut:
- Tambahkan kunci SSH ke VM jika Anda belum melakukannya.
Di konsol Google Cloud, buka halaman VM Instances dan temukan alamat IP eksternal VM bastion host.
- Buka terminal di workstation Anda.
Hubungkan ke VM bastion host dengan menjalankan perintah berikut:
ssh -A -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP
Ganti kode berikut:
PATH_TO_PRIVATE_KEY
: jalur ke file kunci SSH pribadi yang sesuai dengan kunci publik yang Anda tambahkan ke VM.USERNAME
: nama pengguna Anda. Jika Anda mengelola kunci SSH di metadata, nama pengguna adalah nama yang Anda tentukan saat membuat kunci SSH. Untuk akun Login OS, nama pengguna ditentukan di profil Google Anda. Misalnya,cloudysanfrancisco_example_com
ataucloudysanfrancisco
.-
EXTERNAL_IP
: alamat IP eksternal VM.
Dari VM bastion host, hubungkan melalui alamat IP internal VM menggunakan perintah berikut:
ssh USERNAME@INTERNAL_IP
Ganti kode berikut:
USERNAME
: nama pengguna Anda. Jika Anda mengelola kunci SSH di metadata, nama pengguna adalah nama yang Anda tentukan saat membuat kunci SSH. Untuk akun Login OS, nama pengguna ditentukan di profil Google Anda. Misalnya,cloudysanfrancisco_example_com
ataucloudysanfrancisco
.INTERNAL_IP
: alamat IP internal VM.
Aplikasi PuTTY
Hubungkan ke VM melalui bastion host menggunakan PuTTY, dengan melakukan hal berikut:
- Tambahkan kunci SSH ke VM bastion host jika Anda belum melakukannya.
- Jika workstation Anda belum menginstal aplikasi PuTTY, download file paket PuTTY.
Di konsol Google Cloud, buka halaman VM Instances dan temukan alamat IP internal VM yang ingin dihubungkan.
- Buka aplikasi PuTTY. Jendela konfigurasi koneksi akan terbuka.
Di kolom
Host Name
, masukkan nama pengguna yang terkait dengan kunci SSH, dan alamat IP eksternal VM yang ingin Anda hubungkan. Gunakan format berikut:USERNAME@EXTERNAL_IP
Ganti kode berikut:
USERNAME
: nama pengguna Anda. Jika Anda mengelola kunci SSH di metadata, nama pengguna adalah nama yang Anda tentukan saat membuat kunci SSH. Untuk akun Login OS, nama pengguna ditentukan di profil Google Anda. Misalnya,cloudysanfrancisco_example_com
ataucloudysanfrancisco
.-
EXTERNAL_IP
: alamat IP eksternal VM.
- Pada menu Kategori, buka Koneksi > SSH > Auth.
- Di kolom Private key file for authentication, pilih file kunci SSH pribadi yang sesuai dengan kunci publik yang Anda tambahkan ke VM.
- Di bagian Authentication Parameters, pilih Allow agent forwarding.
- Klik Open untuk menghubungkan ke VM bastion host.
Dari VM bastion host, hubungkan melalui alamat IP internal VM menggunakan perintah berikut:
ssh USERNAME@INTERNAL_IP
Ganti kode berikut:
USERNAME
: nama pengguna Anda. Jika Anda mengelola kunci SSH di metadata, nama pengguna adalah nama yang Anda tentukan saat membuat kunci SSH. Untuk akun Login OS, nama pengguna ditentukan di profil Google Anda. Misalnya,cloudysanfrancisco_example_com
ataucloudysanfrancisco
.INTERNAL_IP
: alamat IP internal VM.
Pemecahan masalah
Untuk menemukan metode mendiagnosis dan menyelesaikan koneksi SSH yang gagal, lihat Memecahkan Masalah SSH.
Langkah selanjutnya
- Pelajari cara mengelola akses ke VM.
- Pelajari cara mentransfer file ke VM.
- Pelajari cara kerja koneksi SSH ke VM Linux di Compute Engine.