Menggunakan Loop Terraform secara Efektif
(insight.infograb.net)- 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
- Parameter
- Cara menggunakan masing-masing perulangan
count: berguna untuk membuat resource dengan cepat dan ringkas ketika resource yang ingin dibuat hampir sama dan tidak akan berubahfor_each: cocok untuk membuat dan mengubah resource secara aman ketika resource memiliki nama unik, berisi data, atau tidak boleh dibuat ulang
- Count
- Parameter
countmenerima bilangan bulat, lalu membuat pengulangan untuk seluruh resource dan module - Jika dikonfigurasi dengan
count, Anda dapat menggunakancount.indexuntuk mengakses indeks yang dibuat olehcount - Keterbatasan Count
countmengulang seluruh resource, tetapi tidak mengulang blok inline yang ada di dalam resource- Jika nilai di tengah dari resource yang dibuat dengan
countdihapus, semua nilai setelahnya akan dihapus lalu dibuat ulang. Hasil akhirnya memang sama, tetapi ini bisa menimbulkan masalah untuk resource yang tidak boleh dibuat ulang
- Parameter
- For_each
- Ekspresi
for_eachmengulanglist,set, danmapuntuk membuat seluruh resource, blok inline di dalam resource, dan module - Jika dikonfigurasi dengan
for_each, Anda dapat menggunakaneach.keydaneach.valueuntuk mengakses key dan value terkait - Saat menggunakan
for_eachpada resource,listtidak didukung - Pada collection, tentukan
setataumapyang akan diulang, lalu di Config gunakaneach.valueuntuk mengambil key dan value yang didefinisikan di Collection
- Ekspresi
Belum ada komentar.