Cara Kerja Azure Export for Terraform
Artikel ini memperkenalkan Anda ke alur kerja Azure Export for Terraform . Dalam artikel ini, Anda mempelajari tentang panduan praktik terbaik alat, batasan saat ini, dan cara mengurangi batasan tersebut.
Mode interaktif
Secara default, Azure Export for Terraform berjalan dalam mode interaktif. Saat Anda berjalan dalam mode interaktif, pintasan keyboard yang tersedia tercantum di bagian bawah tampilan.
Task | Pintasan keyboard |
---|---|
Navigasi | |
Pilih item sebelumnya di daftar sumber daya. | ↑ -atau- k |
Pilih item berikutnya di daftar sumber daya. | ↓ -atau- j |
Pindah ke halaman sebelumnya di daftar sumber daya. | ← -atau- h -atau- Page Up |
Pindah ke halaman berikutnya dalam daftar sumber daya. | → -atau- l -atau- Halaman Bawah |
Lompat ke awal daftar sumber daya. | g -atau- Beranda |
Lompat ke akhir daftar sumber daya. | G -atau- Akhir |
Memilih sumber daya untuk dilewati | |
Lewati sumber daya (atau batalkan skip jika ditandai sebagai "Lewati") | Hapus |
Operasi filter | |
Tentukan filter menurut teks pada daftar sumber daya. | / |
Menghapus filter saat ini | Esc |
Simpan operasi | |
Simpan file pemetaan daftar sumber daya. File output dipengaruhi oleh melompati (tetapi tidak memfilter). | s |
Ekspor sumber daya ke status (jika --hcl-only tidak ditentukan) dan hasilkan konfigurasi. |
W |
Pengalaman pengguna | |
Tampilkan rekomendasi untuk sumber daya saat ini. | R |
Tampilkan kesalahan ekspor sumber daya (jika ada). | e |
Tampilkan bantuan. | ? |
Berhenti | |
Keluar dari mode interaktif. | T |
Untuk setiap sumber daya, Azure Export for Terraform mencoba mengenali jenis sumber daya Terraform yang sesuai. Jika menemukan kecocokan, garis ditandai dengan indikator berikut: 💡.
Jika sumber daya tidak dapat diselesaikan, Anda perlu memasukkan alamat sumber daya Terraform dalam formulir berikut: <resource type>.<resource name>
. Misalnya, azurerm_linux_virtual_machine.test
mengacu pada jenis sumber daya Terraform dari azurerm_linux_virtual_machine sementara test
mengacu pada nama untuk komputer virtual yang digunakan dalam file konfigurasi.
Untuk melihat jenis sumber daya yang tersedia untuk sumber daya yang dipilih, tekan r.
Dalam beberapa kasus, ada sumber daya Azure yang tidak memiliki sumber daya Terraform yang sesuai, seperti jika sumber daya tidak memiliki dukungan Terraform. Beberapa sumber daya mungkin juga dibuat sebagai efek samping dari penyediaan sumber daya lain - seperti sumber daya Disk OS yang dibuat saat menyediakan komputer virtual. Dalam kasus ini, Anda dapat melewati sumber daya tanpa menetapkan apa pun.
Setelah melalui semua sumber daya yang akan diimpor, tekan w untuk mulai menghasilkan konfigurasi Terraform dan (jika --hcl-only
tidak dipilih) mengimpor ke status Terraform.
Mode non-interaktif
Secara default, Azure Export for Terraform berjalan dalam mode interaktif. Untuk menentukan bahwa alat harus berjalan dalam mode non-interaktif, tentukan --non-interactive
bendera .
aztfexport [command] --non-interactive <scope>
Penting
Jika direktori tempat Anda menjalankan Azure Export for Terraform tidak kosong, Anda harus menambahkan --overwrite
bendera untuk menggunakan --hcl-only
bendera.
Praktik terbaik pada alur kerja inti
Pada tingkat mendasar, setiap pengguna Azure Export menghadapi keputusan antara dua opsi:
Subbagian berikut memberikan panduan tentang opsi mana yang harus diambil berdasarkan skenario.
Mengelola infrastruktur
Anda mungkin tidak perlu mengekspor ke status jika Anda belum memverifikasi sumber daya yang dikonfigurasi berperilaku dalam lingkungan Anda dengan cara yang diinginkan.
Jika Anda yakin ingin mengelola sekumpulan sumber daya di Terraform dengan terraform init plan apply
alur kerja, mengekspor ke status sangat penting.
Jika Anda belum yakin ingin mengelola sumber daya, meneruskan --hcl-only
bendera disarankan.
Infrastruktur yang ada
Dalam skenario di mana Anda mengekspor ke lingkungan Terraform yang ada, mungkin berguna untuk dianggap --hcl-only
sebagai rencana terraform yang setara, terutama sebelum menambahkan ke lingkungan yang ada.
Perintah terraform apply
ini sama dengan mengekspor sumber daya - di mana konfigurasinya terikat ke status yang sudah ada sebelumnya. Dalam skenario ini, menggunakan file pemetaan menghemat waktu proses untuk mencantumkan dan memetakan sumber daya.
Menemukan infrastruktur
Jika Anda tidak yakin sumber daya apa yang ada dalam lingkungan, Anda dapat memverifikasi dengan menentukan --generate-mapping-file
bendera. Untuk informasi selengkapnya tentang subjek ini, lihat Menjelajahi pemilihan dan penamaan sumber daya yang dikustomisasi menggunakan Azure Export for Terraform.
Pembatasan
Azure Export for Terraform adalah alat kompleks yang mencoba mengonversi infrastruktur Azure menjadi kode dan status Terraform. Batasan yang diketahui saat ini dijelaskan dalam sub-bagian berikut.
Properti tulis-saja
Properti tertentu dalam AzureRM hanya menulis dan tidak disertakan dalam kode yang dihasilkan yang dibuat Azure Export for Terraform. Masalah ini diatasi dengan mendefinisikan properti setelah mengekspor ke kode HCL.
Batasan lintas properti
Penyedia AzureRM dapat mengatur dua properti yang bertentangan satu sama lain. Saat Azure Export for Terraform membaca properti yang bertentangan, azure Export for Terraform dapat mengatur kedua properti ke nilai yang sama meskipun pengguna hanya mengonfigurasi properti tersebut. Komplikasi lebih lanjut muncul ketika beberapa batasan lintas properti ada dalam konfigurasi yang dihasilkan yang sama. Anda harus mengetahui di mana konflik lintas properti ada dalam konfigurasi Anda untuk mengurangi masalah ini.
Infrastruktur di luar cakupan sumber daya
Saat Anda menggunakan Azure Export for Terraform untuk menargetkan cakupan sumber daya, sumber daya yang diperlukan untuk konfigurasi mungkin ada di luar cakupan yang ditentukan. Salah satu contohnya adalah penetapan peran. Pengguna perlu mengidentifikasi sumber daya yang berada di luar cakupan.
Properti tulis-saja
Azure Export tidak dapat menghasilkan properti tulis-saja (seperti kata sandi) dalam konfigurasinya. Anda perlu tahu tentang properti tulis-saja dan menentukannya dalam konfigurasi untuk membuat set sumber daya baru.
Memodifikasi kode agar sesuai dengan standar pengodean
Ada beberapa operasi yang diperlukan jika pengguna ingin memodifikasi kode mereka untuk mematuhi standar pengkodean. Langkah-langkah ini hanya akan diperlukan jika pengguna berencana untuk menggunakan kode di lingkungan nonsandbox.
Sumber daya yang ditentukan properti
Sumber daya tertentu di Azure dapat didefinisikan sebagai properti dalam sumber daya Terraform induk atau sumber daya Terraform individual. Salah satu contohnya adalah subnet. Azure Export for Terraform mendefinisikan sumber daya sebagai sumber daya individual, tetapi praktik terbaiknya adalah mencocokkan konfigurasi pengodean yang ada.
Dependensi eksplisit
Ekspor Azure untuk Terraform saat ini hanya dapat menyatakan dependensi eksplisit. Anda harus mengetahui pemetaan hubungan antara sumber daya untuk merefaktor kode untuk menyertakan dependensi implisit yang diperlukan.
Nilai yang dikodekan secara permanen
Ekspor Azure untuk Terraform saat ini menghasilkan string yang dikodekan secara permanen. Sebagai praktik terbaik, Anda harus merefaktor nilai-nilai ini ke variabel. Selain itu --full-properties
, ketika Anda menggunakan bendera untuk mengekspos semua properti, beberapa informasi sensitif (seperti rahasia) dapat dilihat dalam konfigurasi yang dihasilkan. Gunakan praktik yang direkomendasikan untuk melindungi visibilitas kode ini.
Langkah berikutnya
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk