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
- Pelajari aturan firewall lebih lanjut dari ringkasan aturan firewall.
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].