Membedah Multiple VPC Network Di Google Cloud
Muhammad Syukur Abadi
Posted on April 21, 2023
Foto oleh Alina Grubnyak on Unsplash
Virtual Private Cloud atau VPC adalah versi virtual dari network fisik yang disediakan oleh public cloud. VPC dibangun dari subnet, di mana subnet tersebut bisa diperoleh dari subnet yang sudah ditentukan (predefined) atau subnet yang kita tentukan sendiri. Subnet tersebut didefinisikan menggunakan notasi CIDR (Classless Interdomain Routing) dengan keterangan sebagai berikut
- gambar notasi CIDR Semakin tinggi angka CIDR, jumlah host atau komputer yang terhubung dalam suatu subnet akan semakin sedikit.
VPC di Google Cloud Platform (selanjutnya disebut GCP) memiliki public dan private IP. Perbedaan antara public dan private IP pada VPC adalah sebagai berikut
Public IP | Private IP |
---|---|
Bisa didapat dari pool (bersifat ephemeral/sementara) atau didefinisikan sendiri (bersifat statis) | Didapat dari rentang subnet pada sebuah VM menggunakan DHCP |
Dapat terhubung dengan internet | Hanya bisa terhubung dengan VM |
Membuat VPC Network di Google Cloud Platform
Skenario
Artikel ini ditujukan untuk membedah course tersemat yang bisa diakses di sini. Pada artikel ini, kita akan mencoba membuat 2 VPC network dengan region yang berbeda dengan network diagram sebagai berikut.
Kita akan membuat examplenet
VPC dan managementnet
VPC, di mana pada examplenet
VPC terdapat 2 buah subnet yang masing-masing subnet memiliki sebuah VM yang akan kita buat dari compute engine, serta managementnet
VPC yang memiliki sebuah VM dari compute engine.
Menginisiasi VPC Network
- Untuk membuat VPC network di Google Cloud Console, pilih menu VPC Network kemudian pilih VPC networks seperti pada gambar.
- Pilih Create VPC Network seperti pada gambar
- Jika tampilan pada layar sudah seperti ini, isi form dengan nilai/value sebagai berikut.
Value untuk mangementnet
Field | Value |
---|---|
Name | managementnet |
Subnet creation mode | custom |
Name (New subnet) | managementnetsubnet-asiasoutheast |
Region | asia-southeast2 |
IPv4 range | 10.173.0.0/20 |
Klik tombol Create berwarna biru
Value untuk examplenet
Field | Value |
---|---|
Name | examplenet |
Subnet creation mode | custom |
Name (New subnet) | examplenetsubnet-asiasoutheast |
Region | asia-southeast2 |
IPv4 range | 10.120.0.0/20 |
untuk menambahkan subnet examplenetsubnet-asiaeast
, klik add subnet, lalu isi value sebagai berikut
Field | Value |
---|---|
Name (New subnet) | examplenetsubnet-asiaeast |
Region | asia-east2 |
IPv4 range | 10.130.0.0/21 |
Klik tombol Create berwarna biru
Periksa kembali apakah VPC network kita sudah berhasil diinisiasi atau belum dengan melihat di dashboard VPC network. Kurang lebih ketika kita sudah menjalankan langkah-langkah di atas, tampilan halaman dashboard kita akan sebagai berikut.
Jika teman-teman penasaran dengan range IPv4 yang bisa digunakan sebagai subnet dalam VPC, teman-teman bisa membaca lebih lanjut di sini
Membuat Firewall
Firewall untuk apa?. Kegunaan firewall pada artikel ini supaya kita bisa mengakses port VM yang kita buat. Untuk membuat firewall, teman-teman bisa mengakses menu seperti di gambar berikut.
Setelah muncul halaman dashboard pilih Create Firewall Rules
Kemudian, isi field dengan value sebagai berikut.
Field | Value |
---|---|
Name | examplenet-allow-icmp-ssh-rdp |
Network | examplenet |
Direction of Traffic | Ingress |
Targets | All instances in the network |
Source IPv4 Address | 0.0.0.0/0 |
Specified Protocols and Ports | Centang TCP dan isi port 22 dan port 3389, serta centang others dan isi dengan protokol ICMP |
Klik tombol Create berwarna biru
Buat satu lagi firewall rules dengan isi field dengan value sebagai berikut.
Field | Value |
---|---|
Name | examplenetmanagement-allow-icmp-ssh-rdp |
Network | examplenetmanagement |
Direction of Traffic | Ingress |
Targets | All instances in the network |
Source IPv4 Address | 0.0.0.0/0 |
Specified Protocols and Ports | Centang TCP dan isi port 22 dan port 3389, serta centang others dan isi dengan protokol ICMP |
Klik tombol Create berwarna biru
Mari kita coba bedah firewal rules yang telah kita buat.
- Ketika kita membuat firewall rule, kita harus memiliki nama untuk rule tersebut dan nama tersebut haruslah bersifat unik.
- Setiap network atau VPC network bisa memiliki lebih dari satu firewall rules, silakan teman-teman coba membuat firewall rule yang lain untuk examplenetmanagement VPC atau examplenet VPC.
- Kita bisa mengatur apakah firewall rule yang kita buat diterapkan untuk data yang masuk ke dalam atau keluar VPC network kita dengan memilih ingress untuk data yang masuk dan egress untuk data yang keluar.
- Setiap firewall rule memiliki target di mana target tersebut akan diterapkan pada VPC network kita. Jika teman-teman mengklik dropdown target, teman-teman akan menemukan pilihan All instances in the network, Specified target tags, dan * Specified service account*. Pilih All instances in the network jika teman-teman ingin firewall rule tersebut diterapkan pada seluruh instance atau komputasi yang menerapkan firewall rule tersebut (atau VPC network yang terhubung menggunakan firewall rule tersebut), gunakan Specified target tags jika ingin menerapkan sebuah atau beberapa tags pada instance atau komputasi yang menerapkan firewall rule tersebut (atau VPC network yang terhubung menggunakan firewall rule tersebut), dan gunakan Specified service account jika ingin menerapkan sebuah atau beberapa service account pada instance atau komputasi yang menerapkan firewall rule tersebut (atau VPC network yang terhubung menggunakan firewall rule tersebut). Kali ini kita menggunakan All instances in the network yang akan kita terapkan ketika kita membuat VM instance nanti.
- Sama seperti target, kita juga bisa memilih apakah firewall rule yang kita buat akan diterapkan pada rentang IPv4, rentang IPv6, atau berdasarkan service account tertentu dengan mengisi Source field. Pada artikel ini, kita mengisi Source field dengan rentang alamat IPv4
0.0.0.0/0
yang artinya seluruh subnet pada VPC network akan menerapkan firewall rule ini. -
Firewall rule yang kita terapkan memungkinkan kita berkomunikasi kepada instance yang menerapkan firewall rule tersebut. Pada artikel ini, kita mengizinkan port 22 untuk melakukan
SSH
, port 3389 untukRDP
, serta protokolICMP
untuk memeriksa apakah ada error ketika kita mengirim data.
Jika langkah-langkah di atas sudah kita jalankan, di dashboard firewall rules kita kurang lebih akan seperti ini.
Membuat Compute Engine Instances
Langkah selanjutnya adalah membuat compute engine instaces dengan mengakses menu seperti di gambar.
Jika sudah muncul dasboard Compute Engine, klik Create Instance, kemudian isi field serta value-nya sebagai berikut.
Instance examplemanagementnet-asiasoutheast-vm
Field | Value |
---|---|
Name | examplemanagementnet-asiasoutheast-vm |
Region | asia-southeast, untuk Zone, pilih asia-southeast2-a |
Series | E2 dengan Machine type e2-micro |
Pergi ke bagian Advanced Options, kemudian pilih bagian Networking. Isi field dengan value sebagai berikut.
Field | Value |
---|---|
Network | examplenetmanagement |
Subnetwork | managementsubnet-asiasoutheast |
Klik tombol Create berwarna biru
Instance examplenet-asiaeast-vm
Field | Value |
---|---|
Name | examplenet-asiaeast-vm |
Region | asia-east, untuk Zone, pilih asia-east2-c |
Series | E2 dengan Machine type e2-micro |
Pergi ke bagian Advanced Options, kemudian pilih bagian Networking. Isi field dengan value sebagai berikut.
Field | Value |
---|---|
Network | examplenet |
Subnetwork | examplesubnet-asiaeast |
Klik tombol Create berwarna biru
Instance examplenet-asiasoutheast-vm
Field | Value |
---|---|
Name | examplenet-asiasoutheast-vm |
Region | asia-southeast, untuk Zone, pilih asia-southeast2-a |
Series | E2 dengan Machine type e2-micro |
Pergi ke bagian Advanced Options, kemudian pilih bagian Networking. Isi field dengan value sebagai berikut.
Field | Value |
---|---|
Network | examplenet |
Subnetwork | examplesubnet-asiasoutheast |
Klik tombol Create berwarna biru
Instance vm-manager
Field | Value |
---|---|
Name | vm-manager |
Region | asia-southeast, untuk Zone, pilih asia-southeast2-a |
Series | E2 dengan Machine type e2-small |
Pergi ke bagian Advanced Options, kemudian pilih bagian Networking. Untuk instance ini, kita akan menghubungkan 2 VPC network menggunakan 2 buah network interface. Isi field dengan value sebagai berikut.
Field | Value |
---|---|
Network | examplenet |
Subnetwork | examplesubnet-asiasoutheast |
Klik Add Network Interface, kemudian isi lagi form dengan value sebagai berikut.
Field | Value |
---|---|
Network | examplemanagementnet |
Subnetwork | managementsubnet-asiasoutheast |
Klik tombol Create berwarna biru
Jika langkah-langkah di atas sudah kita tempuh, kita akan mendapatkan tampilan pada dashboard Compute Engine sebagai berikut.
Memeriksa Koneksi Antar VPC
Mari kita bereksperimen apakah VPC yang kita terapkan pada network interface di instance kita memungkinkan seluruh instance kita terhubung satu sama lain. Perhatikan dashboard Compute Engine teman-teman. Teman-teman bisa melihat internal IP dan external IP yang menempel pada setiap instance. Di sebelah external IP, ada SSH yang akan kita gunakan untuk menguji konektivitas dari setiap instance yang kita buat.
Pertama, tekan SSH pada instance examplenet-asiaeast-vm
, kemudian gunakan perintah di bawah ini untuk menguji apakah instance tersebut terhubung dengan instance examplenet-asiasoutheast-vm
menggunakan external IP dari instance examplenet-asiasoutheast-vm
.
ping -c 3 <alamat external IP examplenet-asiasoutheast-vm>
Kita berhasil melakukan ping
dari instance examplenet-asiaeast-vm
ke instance examplenet-asiasoutheast-vm
. Sekarang cobalah untuk melakukan ping
dari instance examplenet-asiaeast-vm
ke instance examplenet-asiasoutheast-vm
menggunakan internal IP dari instance examplenet-asiasoutheast-vm
menggunakan potongan perintah di bawah.
ping -c 3 <alamat internal IP examplenet-asiasoutheast-vm>
Kita juga berhasil melakukan ping
dari instance examplenet-asiaeast-vm
ke instance examplenet-asiasoutheast-vm
. Hal ini dikarenakan instance examplenet-asiaeast-vm
dan instance examplenet-asiasoutheast-vm
masih satu VPC network, yaitu examplenet
, walaupun mereka berada pada subnet yang berbeda.
Sekarang, cobalah melakukan ping
dari instance examplenet-asiaeast-vm
ke instance examplemanagementnet-asiasoutheast-vm
menggunakan external IP dari instance examplemanagementnet-asiasoutheast-vm
. Kita juga berhasil melakukan ping
dari instance examplenet-asiaeast-vm
ke instance examplemanagementnet-asiasoutheast-vm
.
Kemudian, cobalah untuk melakukan ping
dari instance examplenet-asiaeast-vm
ke instance examplemanagementnet-asiasoutheast-vm
menggunakan internal IP dari instance examplemanagementnet-asiasoutheast-vm
. Jika kita lihat di terminal, tidak ada data yang berhasil terkirim. Hal ini disebabkan instance examplemanagementnet-asiasoutheast-vm
berada di VPC network yang berbeda dengan instance examplemanagementnet-asiasoutheast-vm
.
Terakhir, cobalah melakukan ping
dari instance vm-manager
ke instance examplenet-asiaeast-vm
menggunakan internal IP dari instance examplenet-asiaeast-vm
. Kita tidak akan mendapatkan respons dari instance examplenet-asiaeast-vm
, karena network interface dari instance vm-manager
(eth0
) tersambung dengan instance examplenet-asiasoutheast-vm
.
Rangkuman
Pada artikel ini, kita telah sama-sama membahas apa itu VPC network, public IP, static IP, serta kegunaan dari VPC network di Google Cloud. Selain itu, kita juga mencoba membuat dan menguji konektivitas antar VM instance menggunakan internal IP address maupun external IP address dari masing-masing VM instance. Hasilnya, kita bisa melakukan ping
untuk instance yang masih berada dalam satu subnet dan kita juga bisa melakukan ping
untuk instance yang network interface nya terhubung dengan salah satu instance pada suatu subnetwork.
Referensi
https://cloud.google.com/vpc/docs/vpc
https://www.cloudskillsboost.google/catalog_lab/1031
Posted on April 21, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.