Membuat aturan firewall di Google Cloud

Tanpa melakukan tindakan pencegahan yang tepat, Anda berisiko mengekspos sistem Anda pada kerentanan baru. Oleh karena itu, kunci untuk mengontrol traffic masuk dan keluar dari instance Anda di Google Cloud adalah dengan membuat aturan firewall. Dalam codelab ini, Anda akan mempelajari aturan firewall di Google Cloud dan cara menerapkannya ke instance VM Compute Engine.

Apa yang dimaksud dengan aturan firewall?

Aturan firewall di Google Cloud memungkinkan Anda mengizinkan atau menolak traffic ke dan dari instance VM berdasarkan konfigurasi yang Anda tentukan. Aturan firewall yang diaktifkan selalu diterapkan, melindungi instance Anda terlepas dari konfigurasi dan sistem operasinya, terlepas dari apakah aturan tersebut dimulai atau tidak.

Setiap jaringan VPC berfungsi sebagai firewall yang terdistribusi. Meskipun aturan firewall ditentukan pada tingkat jaringan, koneksi diizinkan atau ditolak untuk setiap instance. Anda dapat menganggap aturan firewall sebagai aturan yang sudah ada, tidak hanya antara instance dan jaringan lain, tetapi juga antar-instance dalam jaringan yang sama.

Yang akan Anda build

  • Dua instance Compute Engine di subnetwork yang berbeda
  • Pengujian ping jaringan
  • Aturan firewall menggunakan tag instance
  • Arsitektur berikut:

Yang akan Anda pelajari

  • Karakteristik aturan firewall
  • Cara menerapkan aturan firewall ke instance menggunakan tag instance
  • Praktik terbaik untuk aturan firewall

Yang Anda butuhkan

  • Akun Google
  • Dua instance Compute Engine

Penyiapan lingkungan mandiri

Jika belum memiliki Akun Google, Anda harus membuatnya. Login ke Google Cloud Console dan buat project baru:

Ingat Project ID, nama unik di semua project Google Cloud. Hal ini akan disebut dalam codelab ini sebagai PROJECT_ID.

Selanjutnya, Anda harus mengaktifkan penagihan di Cloud Console untuk menggunakan resource Google Cloud.

Menjalankan melalui codelab ini tidak akan menghabiskan biaya lebih dari beberapa dolar, tetapi bisa lebih jika Anda memutuskan untuk menggunakan lebih banyak resource atau jika Anda membiarkannya berjalan (lihat bagian pembersihan di akhir codelab ini). Pengguna baru Google Cloud memenuhi syarat untuk mendapatkan uji coba gratis senilai$300.

Menginisialisasi lingkungan project

Buka Compute > Compute Engine > Instance VM.

Setelah selesai mengaktifkan Compute Engine API, Anda akan melakukan sebagian besar pekerjaan dengan Cloud Shell, yang memungkinkan Anda mengelola infrastruktur dan aplikasi dari command line di browser apa pun. VM berbasis Debian dimuat dengan semua alat pengembangan yang akan Anda perlukan (alat command line gcloud, Git, dan lainnya) dan menawarkan direktori home persisten sebesar 5 GB. Buka Cloud Shell dengan mengklik ikon di bagian kanan atas layar.

Anda juga dapat memilih dan memilih zona yang berbeda. Untuk informasi selengkapnya, lihat Region & Zones.

Lihat aturan firewall yang ada dengan membuka Jaringan > jaringan VPC > Aturan firewall.

Perhatikan bahwa hanya ada aturan firewall yang dibuat untuk jaringan default.

Anda perlu membuat aturan firewall untuk instance Compute Engine yang ada untuk melakukan ssh ke sana, mengingat Anda tidak menentukan aturan firewall saat membuat custom-network1.

Selanjutnya, buat aturan firewall yang mengizinkan akses ssh ke instance yang diberi tag.

Tetap buka halaman aturan firewall. Klik Buat Aturan Firewall.

Tambahkan spesifikasi berikut:

  • Nama: allow-ssh
  • Jaringan: custom-network1
  • Arah traffic: Ingress
  • Tindakan jika ada kecocokan: izinkan
  • Target: Tag target yang ditentukan
  • Tag target: iperf-access
  • Rentang IP sumber: 0.0.0.0/0
  • Protokol dan port: Protokol dan port yang ditentukan: tcp: 22

Terapkan tag ke dua instance yang ada.

Buka halaman instance Compute Engine dengan membuka Compute > Compute Engine > Instance VM.

Klik instance-1, lalu lihat detail instance VM. Klik Edit.

Scroll ke bawah ke bagian tag jaringan dan beri tag yang disebut iperf-access.

Klik Simpan di bagian bawah. Kembali ke halaman instance VM, dan ulangi untuk instance-2 dengan mengklik edit lalu menambahkan iperf-access lagi sebagai tag instance.

iPerf

iPerf adalah alat pengujian jaringan yang umum digunakan yang dapat membuat aliran data TCP/UDP dan mengukur throughput jaringan yang membawanya. Anda akan menggunakannya untuk menjalankan pengujian cepat antar-instance di subjaringan yang berbeda dalam custom-network1.

Menginstal iPerf

Buka halaman instance Compute Engine.

Lakukan ssh ke dua VM yang Anda buat di codelab terakhir dengan mengklik tombol ssh di samping setiap listingan instance.

Anda akan melihat dua jendela ssh muncul. Instal iPerf di keduanya dengan perintah berikut:

sudo apt-get install iperf

Menjalankan pengujian iPerf

Di instance-2, tentukan bahwa ini adalah server iPerf dengan memasukkan kode berikut di terminal ssh instance-2:

iperf -s

Di jendela ssh instance-1, masukkan perintah berikut, termasuk IP internal instance-2:

iperf -c [INSTANCE-2 INTERNAL IP]

Metode ini akan hang karena Anda belum menerapkan aturan firewall lain untuk memungkinkan komunikasi antara instance-1 dan instance-2. Hentikan perintah dengan memasukkan Control+Z (Command+Z pada Macintosh).

Kali ini, Anda akan membuat aturan firewall dengan Cloud Shell.

Pastikan Anda berada di Cloud Shell dan bukan di sesi ssh instance. Buat aturan firewall dengan memasukkan informasi berikut:

gcloud compute firewall-rules create iperf-access --allow tcp:5001 \
      --source-ranges 0.0.0.0/0 \
      --network custom-network1 \
      --target-tags=iperf-access

Konfirmasi bahwa halaman dibuat dengan hal berikut:

gcloud compute firewall-rules list

NAME                         NETWORK          DIRECTION  PRIORITY  ALLOW                         DENY  DISABLED
allow-ssh                    custom-network1  INGRESS    1000      tcp:22                              False
default-allow-icmp           default          INGRESS    65534     icmp                                False
default-allow-internal       default          INGRESS    65534     tcp:0-65535,udp:0-65535,icmp        False
default-allow-rdp            default          INGRESS    65534     tcp:3389                            False
default-allow-ssh            default          INGRESS    65534     tcp:22                              False
iperf-access                 custom-network1  INGRESS    1000      tcp:5001                            False

Kembali ke jendela SSH untuk instance-2. Sesi iperf Anda harus tetap aktif. Jika tidak, jalankan kembali perintah berikut.

iperf -s

Di jendela ssh instance-1, masukkan perintah berikut, termasuk IP internal instance-2:

iperf -c [INSTANCE-2 INTERNAL IP]

Anda akan melihat iPerf membuat koneksi ke instance-2, dan menampilkan output performa jaringan internal antara instance-1 dan instance-2.

Anda sekarang tahu dasar-dasar membuat aturan firewall di Google Cloud.

Yang telah Anda pelajari

  • Cara instance dipengaruhi oleh aturan firewall
  • Cara membuat aturan firewall melalui Cloud Console dan Cloud Shell
  • Cara menerapkan tag ke aturan firewall dan instance
  • Cara menjalankan pengujian iPerf di antara instance

Langkah berikutnya

Hapus instance Compute Engine menggunakan perintah berikut di Cloud Shell:

gcloud compute instances delete instance-1 --zone us-central1-a

The following instances will be deleted. Any attached disks configured
 to be auto-deleted will be deleted unless they are attached to any
other instances or the `--keep-disks` flag is given and specifies them
 for keeping. Deleting a disk is irreversible and any data on the disk
 will be lost.
 - [instance-1] in [us-central1-a]
Do you want to continue (Y/n)?  y
Deleted [https://www.googleapis.com/compute/v1/projects/ypc-demo/zones/us-central1-a/instances/instance-1].
gcloud compute instances delete instance-2 --zone europe-west1-d

The following instances will be deleted. Any attached disks configured
 to be auto-deleted will be deleted unless they are attached to any
other instances or the `--keep-disks` flag is given and specifies them
 for keeping. Deleting a disk is irreversible and any data on the disk
 will be lost.
 - [instance-2] in [europe-west1-d]
Do you want to continue (Y/n)?  y
Deleted [https://www.googleapis.com/compute/v1/projects/ypc-demo/zones/europe-west1-d/instances/instance-2].

Hapus aturan firewall dengan perintah berikut:

gcloud compute firewall-rules delete allow-ssh

The following firewalls will be deleted:
 - [allow-ssh]
Do you want to continue (Y/n)?  y
Deleted [https://www.googleapis.com/compute/v1/projects/vpc-demo-241520/global/firewalls/allow-ssh].
gcloud compute firewall-rules delete iperf-access

The following firewalls will be deleted:
 - [iperf-access]
Do you want to continue (Y/n)?  y
Deleted [https://www.googleapis.com/compute/v1/projects/vpc-demo-241520/global/firewalls/iperf-access].

Hapus subnetwork dengan perintah berikut:

gcloud compute networks subnets delete subnet-us-central-192 --region us-central1

The following subnetworks will be deleted:
 - [subnet-us-central-192] in [us-central1]
Do you want to continue (Y/n)?  y
Deleted [https://www.googleapis.com/compute/v1/projects/vpc-demo-241520/regions/us-central1/subnetworks/subnet-us-central-192].
gcloud compute networks subnets delete subnet-europe-west-192 --region europe-west1

The following subnetworks will be deleted:
 - [subnet-europe-west-192] in [europe-west1]
Do you want to continue (Y/n)?  y
Deleted [https://www.googleapis.com/compute/v1/projects/vpc-demo-241520/regions/europe-west1/subnetworks/subnet-europe-west-192].

Hapus VPC kustom dengan perintah berikut:

gcloud compute networks delete custom-network1

The following networks will be deleted:
 - [custom-network1]
Do you want to continue (Y/n)?  y
Deleted [https://www.googleapis.com/compute/v1/projects/vpc-demo-241520/global/networks/custom-network1].