Tanya jawab umum tentang templat ARM

Tanya jawab umum (FAQ) tentang templat Azure Resource Manager (templat ARM).

Memulai

Apa yang dimaksud dengan templat ARM, dan mengapa saya harus menggunakannya?

Templat ARM adalah file JSON tempat Anda menentukan apa yang ingin Anda sebarkan ke Azure. Templat membantu Anda mengimplementasi solusi infrastruktur sebagai kode untuk Azure. Organisasi Anda dapat secara berulang kali dan andal menyebarkan infrastruktur yang diperlukan ke lingkungan yang berbeda.

Untuk mempelajari selengkapnya tentang bagaimana templat ARM membantu Anda mengelola infrastruktur Azure Anda, lihat Apa yang dimaksud dengan templat ARM?

Bagaimana cara memulai menggunakan templat?

Untuk menyederhanakan penulisan templat ARM, Anda memerlukan alat yang tepat. Sebaiknya pasang Visual Studio Code dan Ekstensi Alat Azure Resource Manager. Untuk pengenalan singkat alat ini, lihat Mulai Cepat: Membuat templat ARM dengan Visual Studio Code.

Ketika Anda siap untuk mempelajari tentang membuat templat ARM, mulai seri tutorial pemula pada templat ARM. Tutorial ini membawa Anda langkah demi langkah melalui proses membangun templat ARM. Anda mempelajari tentang berbagai bagian templat dan cara mereka bekerja sama. Konten ini juga tersedia sebagai modul Microsoft Learn.

Haruskah saya menggunakan templat ARM atau Terraform untuk menyebarkan ke Azure?

Gunakan opsi yang paling Anda sukai. Kedua layanan membantu Anda mengotomatiskan penyebaran ke Azure.

Kami percaya ada keuntungan untuk menggunakan templat ARM melalui layanan infrastruktur sebagai kode lainnya. Untuk mempelajari tentang keuntungan tersebut, lihat Mengapa memilih templat ARM?

Build 2020

Saya melewatkan presentasi Anda pada Microsoft Build 2020. Apakah presentasi masih tersedia untuk dilihat?

Di mana saya bisa mendapatkan informasi selengkapnya mengenai fitur baru yang Anda umumkan di Build?

Untuk informasi umum tentang fitur yang kami kerjakan, bergabunglah dengan Grup Yammer Penyebaran Azure Advisors kami.

Untuk mempelajari tentang bahasa templat baru, daftar untuk pemberitahuan.

Untuk mempelajari tentang spesifikasi templat, lihat Spesifikasi templat Azure Resource Manager.

Membuat dan menguji templat

Di mana saya bisa mempelajari praktik terbaik untuk templat ARM?

Untuk rekomendasi tentang cara Anda mengimplementasi templat Anda, lihat Praktik terbaik templat ARM. Setelah membuat templat, jalankan Toolkit pengujian ARM. Ini memeriksa apakah templat Anda cocok dengan praktik yang direkomendasikan.

Saya telah menyiapkan lingkungan saya melalui portal. Apakah ada cara untuk mendapatkan templat dari grup sumber daya yang ada?

Ya, Anda dapat mengekspor templat dari grup sumber daya. templat yang diekspor adalah titik awal yang baik untuk mempelajari templat, tetapi Anda mungkin ingin merevisinya sebelum menggunakannya di lingkungan produksi.

Saat mengekspor templat, Anda bisa memilih sumber daya mana yang ingin Anda sertakan dalam templat.

Bisakah saya membuat grup sumber daya dalam templat ARM dan menyebarkan sumber daya ke grup sumber daya tersebut?

Ya, Anda bisa membuat grup sumber daya dalam templat saat Anda menyebarkan templat di tingkat langganan Azure Anda. Untuk contoh membuat grup sumber daya dan menggunakan sumber daya, lihat Grup sumber daya dan sumber daya.

Bisakah saya membuat langganan di templat ARM?

Ya, untuk informasi selengkapnya, lihat Membuat langganan Azure secara terprogram dengan API terbaru.

Bagaimana cara menguji templat saya sebelum menyebarkannya?

Sebaiknya jalankan toolkit pengujian ARM dan operasi bagaimana-jika pada templat Anda sebelum menyebarkannya. Toolkit pengujian memeriksa apakah templat Anda menggunakan praktik terbaik. Ini memberikan peringatan ketika mengidentifikasi perubahan yang dapat meningkatkan cara Anda mengimplementasi templat Anda.

Operasi bagaimana-jika menunjukkan perubahan yang dilakukan templat Anda pada lingkungan Anda. Anda dapat melihat perubahan yang tidak diinginkan sebelum disebarkan. Bagaimana-jika juga mengembalikan kesalahan yang dapat dideteksi selama validasi preflight. Misalnya, jika templat Anda berisi kesalahan sintaksis, templat tersebut akan mengembalikan kesalahan tersebut. Ini juga mengembalikan kesalahan apa pun yang dapat ditentukannya tentang status akhir dari sumber daya yang disebarkan. Misalnya, jika templat Anda menyebarkan akun penyimpanan dengan nama yang sudah digunakan, bagaimana-jika mengembalikan kesalahan tersebut.

Di mana saya bisa menemukan informasi mengenai properti yang tersedia untuk setiap jenis sumber daya?

Visual Studio Code menyediakan intellisense untuk bekerja dengan properti sumber daya. Anda juga bisa melihat referensi templat untuk properti dan deskripsi.

Saya perlu membuat beberapa instans jenis sumber daya. Bagaimana saya membuat iterator pada templat saya?

Gunakan elemen salin untuk menentukan lebih dari satu instans. Anda dapat menggunakan salin pada sumber daya, properti, variabel, dan output.

Bahasa templat

Saya dengar Anda sedang mengerjakan bahasa templat baru. Di mana saya bisa mengetahui lebih banyak tentang itu?

Untuk mempelajari tentang bahasa pemrogram baru, lihat Apa yang dimaksud dengan Bicep (Pratinjau)?.

Apakah ada rencana untuk mendukung pembuatan templat di YAML?

Saat ini, tidak ada rencana untuk mendukung YAML. Kami percaya bahasa templat baru menawarkan solusi yang lebih mudah digunakan daripada YAML atau JSON.

Apakah saya masih bisa menulis templat dalam JSON setelah bahasa pemrogram templat baru dirilis?

Ya, Anda dapat terus menggunakan templat JSON.

Akankah Anda menawarkan alat untuk mengonversi templat JSON saya ke bahasa pemrogram templat baru tersebut?

Spesifikasi Templat

Bagaimana spesifikasi templat dan Azure Blueprints berkaitan?

Azure Blueprints akan menggunakan spesifikasi templat dalam implementasinya dengan mengganti sumber daya blueprint definition dengan sumber daya template spec. Kami menyediakan jalur migrasi untuk mengonversi definisi cetak biru menjadi spesifikasi templat, tetapi API definisi cetak biru masih akan didukung. Tidak ada perubahan pada sumber daya blueprint assignment. Cetak biru tetap menjadi pengalaman pengguna untuk menyusun lingkungan yang diatur di Azure.

Apakah spesifikasi templat menggantikan templat yang ditautkan?

Tidak, tetapi spesifikasi templat didesain untuk bekerja dengan baik dengan templat yang ditautkan. Anda tidak perlu memindahkan templat yang ditautkan ke titik akhir yang dapat diakses publik sebelum menyebarkan templat induk. Sebagai gantinya, Anda memaketkan templat induk dan artefaknya bersama-sama saat membuat spesifikasi templat.

Bisakah spesifikasi templat dibagikan di seluruh langganan?

Ya, spesifikasi templat dapat digunakan di seluruh langganan selama pengguna telah membaca akses ke spesifikasi templat. Spesifikasi templat tidak dapat digunakan di seluruh penyewa.

Skrip dalam templat

Bisakah saya menyertakan skrip dalam templat saya untuk melakukan tugas yang tidak dimungkinkan dalam templat?

Ya, gunakan skrip penyebaran. Anda bisa menyertakan skrip Azure PowerShell atau Azure CLI dalam templat Anda.

Apakah saya masih bisa menggunakan ekstensi skrip kustom dan konfigurasi status yang diinginkan (DSC)?

Opsi tersebut masih tersedia dan belum berubah. Skrip penyebaran didesain untuk melakukan tindakan yang tidak terkait dengan tamu komputer virtual. Jika Anda perlu menjalankan skrip pada sistem operasi host di komputer virtual, ekstensi skrip kustom dan/atau DSC akan menjadi pilihan yang lebih baik. Namun, skrip penyebaran memiliki kelebihan, seperti mengatur durasi batas waktu.

Apakah skrip penyebaran didukung di Azure Government?

Ya, Anda dapat menggunakan skrip penyebaran di US Gov Arizona dan US Gov Virginia.

Pratinjau perubahan sebelum penyebaran

Bisakah saya mempratinjau perubahan yang terjadi sebelum menyebarkan templat?

Ya, gunakan fitur bagaimana-jika. Ini mengevaluasi status lingkungan Anda saat ini dan membandingkannya dengan status yang akan ada setelah penyebaran. Anda dapat memeriksa perubahan yang diringkas untuk memastikan templat tidak memiliki hasil yang tidak diharapkan.

Bisakah saya menggunakan bagaimana-jika dengan mode bertambah bertahap sekaligus mode lengkap?

Ya, kedua mode penyebaran didukung. Untuk contoh penggunaan mode bertambah bertahap, lihat Menjalankan operasi bagaimana-jika. Untuk contoh penggunaan mode lengkap, lihat Mengonfirmasi penghapusan.

Apakah bagaimana-jika bekerja dengan templat yang ditautkan?

Ya, bagaimana-jika mengevaluasi status templat induk dan templat yang ditautkan.

Bisakah saya menggunakan bagaimana-jika dalam Azure Pipeline?

Ya, Anda dapat menggunakan bagaimana-jika untuk memverifikasi bahwa Pipeline harus dilanjutkan.

Saat saya menggunakan bagaimana-jika, saya melihat perubahan dalam properti yang tidak ada di templat saya. Apakah ini "kebisingan" diperkirakan?

Kami sedang berupaya mengurangi kebisingan. Anda membantu kami meningkatkan dengan mengirimkan masalah dalam repositori GitHub kami di sini: https://aka.ms/WhatIfIssues

Penampil visual templat

Apakah ada cara bagi saya untuk memvisualisasikan templat ARM saya beserta sumber dayanya?

Kami memiliki ekstensi Visual Studio Code yang berkontribusi pada komunitas yang melakukan pekerjaan hebat untuk memvisualisasikan templat ARM Anda. Ini menunjukkan sumber daya yang Anda sebarkan dan hubungan di antara mereka.

Bisakah saya menggunakan visualizer templat di luar Visual Studio Code?

Penampil visual templat sedang dipratinjau di portal. Untuk informasi lebih lanjut, tonton sesi singkat dari Build.

Batas penyebaran

Berapa banyak grup sumber daya yang dapat saya sebarkan dalam satu operasi penyebaran?

Dulu, batasnya adalah lima grup sumber daya. Baru-baru ini telah ditingkatkan menjadi 800 grup sumber daya. Untuk informasi selengkapnya, lihat Membuat grup sumber daya dan sumber daya di tingkat langganan.

Saya mendapat kesalahan tentang pembatasan pada 800 penyebaran dalam riwayat penyebaran. Apa yang harus saya lakukan?

Kami mengubah cara riwayat penyebaran untuk grup sumber daya dipertahankan. Dulu, Anda harus menghapus penyebaran secara manual dari riwayat ini untuk menghindari kesalahan ini. Mulai juni 2020, kami akan secara otomatis menghapus penyebaran dari riwayat saat Anda mendekati batas. Untuk informasi lebih lanjut, lihat Penghapusan otomatis dari riwayat penyebaran.

Menghapus penyebaran dari riwayat tidak memengaruhi sumber daya yang disebarkan.

Templat dan Azure DevOps

Bisakah saya mengintegrasikan templat ARM ke dalam Azure Pipelines?

Bisakah saya menggunakan Tindakan GitHub untuk menyebarkan templat?

Langkah berikutnya

Untuk pengenalan templat ARM, lihat Apa yang dimaksud dengan templat ARM?.