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) yang berisi VM yang tidak memiliki alamat IP eksternal. Saat Anda 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 Memilih opsi koneksi untuk VM khusus internal.
Sistem operasi yang didukung
Compute Engine mendukung metode koneksi ini untuk semua image Linux publik. Untuk image Fedora CoreOS, Anda harus menyiapkan akses SSH sebelum dapat menggunakan metode ini.
Membuat VM bastion host
Buat VM Compute Engine dalam jaringan VPC target untuk bertindak sebagai bastion host.
Konsol
Untuk membuat VM bastion host, lakukan 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 konsol Google Cloud , sesi Cloud Shell akan terbuka dan menampilkan prompt 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 pada sesi.
Buat VM bastion host dengan menjalankan perintah berikut:
gcloud compute instances create BASTION_NAME \ --zone=ZONE \ --machine-type=e2-micro \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --network-interface=subnet=SUBNET
Ganti kode berikut:
BASTION_NAME: nama VM bastion host.ZONE: zona untuk VM bastion host.IMAGE_FAMILY: kelompok image Linux.IMAGE_PROJECT: project image yang berisi image.SUBNET: subnet VPC yang sama dengan VM target. Jika Anda menggunakan jaringan VPC default, tetapkanSUBNETkedefault.
Menghubungkan ke VM
Untuk terhubung ke VM, selesaikan langkah-langkah di salah satu tab berikut.
gcloud
Hubungkan ke VM melalui bastion host menggunakan SSH dan dengan menjalankan
perintah
gcloud compute ssh:
Hubungkan ke VM bastion host dengan menjalankan perintah berikut:
gcloud compute ssh BASTION_NAME \ --project=PROJECT_ID \ --zone=ZONEGanti kode berikut:
BASTION_NAME: nama VM bastion host.PROJECT_ID: ID project yang berisi VM bastion host.ZONE: nama zona tempat VM bastion host berada.
Dari VM bastion host, hubungkan ke VM target melalui alamat IP internalnya menggunakan flag
--internal-ip:gcloud compute ssh INSTANCE_NAME \ --zone=TARGET_ZONE \ --internal-ipGanti kode berikut:
INSTANCE_NAME: nama VM yang ingin Anda hubungkan.TARGET_ZONE: nama zona tempat VM target berada.
Klien OpenSSH
Untuk terhubung ke VM melalui bastion host dari klien OpenSSH, lakukan langkah berikut:
- Jika Anda belum menambahkan kunci SSH, tambahkan kunci SSH ke VM bastion host dan VM target.
Di konsol Google Cloud , buka halaman VM instances dan temukan alamat IP eksternal VM bastion host dan alamat IP internal VM yang ingin Anda hubungkan.
- 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, seperti~/.ssh/my-ssh-key, atau~/.ssh/google_compute_enginejika Google Cloud CLI membuat kunci tersebut.USERNAME: nama pengguna Anda. Jika Anda mengelola kunci SSH di metadata, nama pengguna adalah nama yang Anda tetapkan saat membuat kunci SSH. Untuk akun Login OS, nama pengguna ditentukan di profil Google Anda, seperticloudysanfrancisco_example_comataucloudysanfrancisco.-
EXTERNAL_IP: alamat IP eksternal 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 tetapkan saat membuat kunci SSH. Untuk akun Login OS, nama pengguna ditentukan di profil Google Anda, seperticloudysanfrancisco_example_comataucloudysanfrancisco.INTERNAL_IP: alamat IP internal VM.
Aplikasi PuTTY
Untuk terhubung ke VM melalui bastion host menggunakan PuTTY, lakukan langkah berikut:
- Jika Anda belum menambahkan kunci SSH, tambahkan kunci SSH ke VM bastion host dan VM target.
- Jika workstation Anda belum menginstal aplikasi PuTTY, download file paket PuTTY.
Di konsol Google Cloud , buka halaman VM instances dan temukan alamat IP eksternal VM bastion host dan alamat IP internal VM yang ingin Anda hubungkan.
- Buka aplikasi PuTTY. Jendela konfigurasi koneksi akan terbuka.
Di kolom Nama host (atau alamat IP), masukkan nama pengguna yang terkait dengan Kunci SSH dan alamat IP eksternal VM bastion host. 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 tetapkan saat membuat kunci SSH. Untuk akun Login OS, nama pengguna ditentukan di profil Google Anda, seperticloudysanfrancisco_example_comataucloudysanfrancisco.-
EXTERNAL_IP: alamat IP eksternal VM bastion host.
- Pada menu Category, buka Connection > SSH > Auth > Credentials (atau Connection > SSH > Auth di PuTTY versi sebelum 0.78).
- Di kolom Private key file for authentication, klik
Browse, lalu pilih file kunci SSH pribadi
(
.ppk) yang sesuai dengan kunci publik yang Anda tambahkan ke VM. - Di menu Category, buka Connection > SSH > Auth, dan 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 tetapkan saat membuat kunci SSH. Untuk akun Login OS, nama pengguna ditentukan di profil Google Anda, seperticloudysanfrancisco_example_comataucloudysanfrancisco.INTERNAL_IP: alamat IP internal VM.
Pemecahan masalah
Untuk menemukan metode mendiagnosis dan menyelesaikan koneksi SSH yang gagal, lihat Memecahkan Masalah SSH.
Langkah berikutnya
- Pelajari cara mengelola akses ke VM.
- Pelajari cara mentransfer file ke VM.
- Pelajari cara kerja koneksi SSH ke VM Linux di Compute Engine.