- Saat membangun infrastruktur di cloud, jika mempertimbangkan penghematan biaya, peningkatan kecepatan deployment, konsistensi, stabilitas, dan reusabilitas, akan lebih baik memanfaatkan alat IaC daripada membangunnya lewat konsol web
- Terraform bersifat open source dan merupakan alat IaC yang paling banyak digunakan
- Untuk menulis kode Terraform secara efisien dan efektif, penting untuk menggunakan fitur-fitur yang disediakan Terraform dengan tepat
- Perulangan Terraform
- Bahasa deklaratif pada umumnya tidak memiliki perulangan, tetapi Terraform mendukung berbagai fungsi sehingga perulangan dapat digunakan
- Perulangan yang paling umum digunakan:
count, for_each
- Parameter
count: mengulang resource dan module
- Ekspresi
for_each: mengulang resource, blok inline di dalam resource, dan module
- Cara menggunakan masing-masing perulangan
count: berguna untuk membuat resource dengan cepat dan ringkas ketika resource yang ingin dibuat hampir sama dan tidak akan berubah
for_each: cocok untuk membuat dan mengubah resource secara aman ketika resource memiliki nama unik, berisi data, atau tidak boleh dibuat ulang
- Count
- Parameter
count menerima bilangan bulat, lalu membuat pengulangan untuk seluruh resource dan module
- Jika dikonfigurasi dengan
count, Anda dapat menggunakan count.index untuk mengakses indeks yang dibuat oleh count
- Keterbatasan Count
count mengulang seluruh resource, tetapi tidak mengulang blok inline yang ada di dalam resource
- Jika nilai di tengah dari resource yang dibuat dengan
count dihapus, semua nilai setelahnya akan dihapus lalu dibuat ulang. Hasil akhirnya memang sama, tetapi ini bisa menimbulkan masalah untuk resource yang tidak boleh dibuat ulang
- For_each
- Ekspresi
for_each mengulang list, set, dan map untuk membuat seluruh resource, blok inline di dalam resource, dan module
- Jika dikonfigurasi dengan
for_each, Anda dapat menggunakan each.key dan each.value untuk mengakses key dan value terkait
- Saat menggunakan
for_each pada resource, list tidak didukung
- Pada collection, tentukan
set atau map yang akan diulang, lalu di Config gunakan each.value untuk mengambil key dan value yang didefinisikan di Collection
Belum ada komentar.