Traffine I/O

Bahasa Indonesia

2022-10-10

Bendera Target Terraform

Pendahuluan

Terraform adalah alat IaC open-source yang memungkinkan Anda mengelola dan menyediakan resource infrastruktur dengan cara yang aman dan efisien. Salah satu fitur penting dari Terraform adalah bendera target, yang memungkinkan pengguna menerapkan perubahan secara selektif pada resource tertentu dalam sebuah konfigurasi.

Sintaks Bendera Target

Bendera target di Terraform digunakan untuk menerapkan perubahan pada resource tertentu dalam sebuah konfigurasi. Sintaks umum untuk menggunakan bendera target dengan perintah terraform plan dan terraform apply adalah sebagai berikut:

bash
$ terraform apply -target=resource_type.resource_name
$ terraform plan -target=resource_type.resource_name

Misalnya, jika Anda memiliki resource instance AWS EC2 bernama "example_instance" dalam konfigurasi Anda, Anda dapat menargetkan resource spesifik ini dengan menggunakan perintah berikut:

bash
$ terraform apply -target=aws_instance.example_instance
$ terraform plan -target=aws_instance.example_instance

Anda juga dapat menargetkan beberapa resource dalam satu perintah dengan menambahkan bendera -target tambahan:

bash
$ terraform apply -target=aws_instance.example_instance -target=aws_security_group.example_sg
$ terraform plan -target=aws_instance.example_instance -target=aws_security_group.example_sg

Skenario Penggunaan

Dalam bagian ini, saya akan membahas berbagai skenario penggunaan di mana bendera target dapat sangat membantu.

Mengelola Resource Tertentu

Dalam konfigurasi Terraform yang besar dengan banyak resource, sulit untuk mengelola resource tertentu tanpa memengaruhi yang lain. Bendera target memungkinkan Anda fokus pada resource individual, sehingga memungkinkan Anda memperbarui atau memodifikasinya tanpa mempengaruhi infrastruktur lain.

Misalnya, Anda mungkin ingin memperbarui jenis instance dari instance AWS EC2 tanpa memodifikasi resource lain dalam konfigurasi Anda. Dengan menggunakan bendera target, Anda dapat secara selektif menerapkan perubahan ini pada instance yang diinginkan.

Penyebaran Selektif

Selama fase pengembangan atau pengujian proyek, Anda mungkin perlu menyebarluaskan hanya sebagian resource untuk memvalidasi fungsionalitas tertentu. Bendera target memungkinkan Anda menyebarluaskan resource secara selektif, meminimalkan potensi gangguan pada bagian lain dari sistem.

Misalnya, Anda mungkin ingin menguji aturan firewall baru dalam sebuah grup keamanan tanpa menyebarluaskan perubahan lain ke infrastruktur Anda. Dengan menargetkan grup keamanan tersebut, Anda dapat menerapkan perubahan hanya pada resource terkait.

Pemecahan Masalah dan Debugging

Bendera target dapat menjadi alat yang berharga untuk pemecahan masalah dan debugging konfigurasi Terraform Anda. Jika Anda mengalami kesalahan selama proses terraform apply, Anda dapat menggunakan bendera target untuk mengisolasi resource yang bermasalah dan menyelidiki masalah lebih lanjut.

Sebelum menerapkan perubahan, Anda dapat menggunakan perintah terraform plan dengan bendera target untuk melihat pratinjau tindakan yang akan dilakukan pada resource yang ditentukan. Ini dapat membantu Anda mengidentifikasi potensi masalah sebelum mereka memengaruhi infrastruktur Anda.

Misalnya, jika resource bucket AWS S3 menyebabkan kesalahan selama proses apply, Anda dapat menggunakan bendera target untuk melihat pratinjau dan menerapkan perubahan hanya pada resource tersebut. Ini memungkinkan Anda mengidentifikasi penyebab masalah dan memperbaiki konfigurasi sebelum menerapkan perubahan ke seluruh infrastruktur.

bash
$ terraform plan -target=aws_s3_bucket.example_bucket
$ terraform apply -target=aws_s3_bucket.example_bucket

Referensi

https://developer.hashicorp.com/terraform/tutorials/state/resource-targeting

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!