Penjelasan detail file konfigurasi terraform network.tf
Tentu, berikut penjelasan detil untuk setiap bagian file network.tf Anda:
1. Resource Group
- Membuat Resource Group di Azure, sebagai wadah untuk semua resource lain.
- Nama dan lokasi diambil dari variable (
var.resource_group_name
,var.location
).
2. Virtual Network
- Membuat Virtual Network (VNet) bernama
vnet-webserver
. - Menggunakan address space
10.0.0.0/16
. - Berada di resource group yang sama.
3. Subnet untuk VM/Webserver
- Membuat subnet bernama
subnet-main
untuk VM/Webserver. - Menggunakan prefix
10.0.1.0/24
.
4. Subnet untuk MySQL Flexible Server (dengan Delegasi)
- Membuat subnet khusus untuk MySQL Flexible Server.
- Prefix
10.0.2.0/24
. - Delegasi subnet ke layanan
Microsoft.DBforMySQL/flexibleServers
agar subnet ini bisa digunakan untuk MySQL Flexible Server (wajib untuk private deployment).
5. (Optional) Private DNS Zone Link (di-comment)
- (Masih di-comment) Untuk menghubungkan VNet ke Private DNS Zone MySQL.
- Agar resource di VNet bisa resolve hostname private MySQL Flexible Server.
6. Network Security Group (NSG)
- Membuat NSG bernama
nsg-webserver
. - Ada dua rule:
- Allow-SSH: Membuka port 22 (SSH) dari mana saja.
- Allow-HTTP: Membuka port 80 (HTTP) dari mana saja.
7. NSG Association ke Subnet
- Mengasosiasikan NSG ke subnet
subnet-main
(untuk VM/Webserver). - Agar rule NSG diterapkan ke subnet tersebut.
Kesimpulan
- File ini membangun infrastruktur jaringan dasar: resource group, VNet, dua subnet (untuk VM dan MySQL), NSG, dan asosiasi NSG.
- Subnet MySQL sudah didelegasikan agar bisa dipakai MySQL Flexible Server.
- Ada template untuk menghubungkan VNet ke Private DNS Zone (masih di-comment).
- Semua resource saling terhubung dengan dependensi yang benar.