View a markdown version of this page

Validasi template dengan cloudformation-validate - AWS CloudFormation

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Validasi template dengan cloudformation-validate

cloudformation-validateProyek sumber terbuka memeriksa CloudFormation template JSON dan YAML secara lokal dan tersedia di. GitHub Ini dapat menemukan struktur template yang tidak valid, referensi yang rusak, masalah keamanan, dan masalah praktik terbaik. Setiap temuan mencakup masalah, tingkat keparahannya, dan lokasinya di template.

Alat ini mencakup aturan dan definisi CloudFormation sumber daya yang dibutuhkannya, sehingga berjalan tanpa akses jaringan atau AWS kredenSIAL setelah instalasi.

Pilih metode validasi

  • Baris perintah - Jalankan cfn-validate untuk memeriksa satu template atau setiap template dalam direktori dari terminal atau build otomatis.

  • Library — Tambahkan validator ke aplikasi Rust Node.js, Python, Go, atau JVM dan proses hasilnya dalam kode Anda.

  • AWS CDK— Validasi template secara otomatis setelah CDK mensintesisnya.

  • Aturan khusus — Tambahkan cek yang ditulis dalam CEL, Rego, atau bahasa aturan Guard. Untuk format dan contoh aturan yang didukung, lihat Referensi Aturan Kustom pada GitHub. Untuk sintaks aturan Guard, lihat Validasi template dengan Guard dalam panduan ini.

Instal alat baris perintah

Buka cfn-validate rilis https://github.com/aws-cloudformation/cloudformation-validate/releases/latest terbaru GitHub dan unduh cfn-validate file untuk sistem operasi dan prosesor Anda. Ikuti panduan https://github.com/aws-cloudformation/cloudformation-validate/blob/main/INSTALLATION.md instalasi GitHub untuk mengganti nama file menjadicfn-validate, menambahkannya ke file AndaPATH, dan verifikasi file yang diunduh.

Jalankan validasi

Perintah menggunakan sintaks berikut:

cfn-validate TEMPLATE_OR_DIRECTORY [OPTIONS]

Periksa satu template:

cfn-validate template.yaml

Meneruskan direktori untuk memeriksa secara rekursif setiap.yaml,.yml, dan .json file:

cfn-validate ./templates/

Perintah menulis laporan validasi JSON terstruktur ke output standar. Gunakan --format standard untuk output ringkas atau --format detailed untuk laporan terperinci default.

Perintah kembali 0 ketika tidak menemukan kesalahan atau diagnostik fatal, 1 ketika menemukan kesalahan atau diagnostik fatal, dan 2 untuk kesalahan penggunaan atau inisialisasi, seperti opsi yang tidak valid atau file yang tidak ada.

Untuk semua mesin, filter, format keluaran, dan parameter, lihat referensi cfn-validate CLI pada GitHub.

Tambahkan aturan khusus

Gunakan --rule-source untuk memuat file aturan Rego atau CEL kustom. Gunakan --guard-rule-source untuk memuat file atau direktori aturan Guard. Anda dapat mengulangi salah satu opsi untuk memuat beberapa sumber aturan:

cfn-validate template.yaml --rule-source ./rules/my-rule.rego cfn-validate template.yaml --guard-rule-source ./guard-rules/

Untuk format aturan dan contoh, lihat Referensi Aturan Kustom pada GitHub.

Sematkan pustaka validasi

Instal paket yang diterbitkan untuk bahasa pemrograman Anda untuk menjalankan pemeriksaan offline yang sama dari aplikasi Anda. Buat mesin validasi sekali, gunakan kembali untuk beberapa templat, dan proses diagnostik terstruktur yang dikembalikan untuk setiap template. Anda juga dapat mengonfigurasi aturan CEL, Rego, atau Guard kustom melalui API pustaka.

Untuk petunjuk penginstalan dan platform yang didukung, lihat panduan instalasi pengikatan bahasa.

Untuk contoh lengkap dalam setiap bahasa dan tautan ke setiap panduan API, lihat Men yematkan sebagai pustaka dalam dokumentasi proyek di GitHub.

Menggunakan dengan AWS CDK

Jika Anda menggunakan AWS CDK, Anda tidak perlu menginstal validator secara terpisah. P AWS CDK ustaka konstruksi menyertakan default CloudFormationValidatePlugin yang menjalankan pemeriksaan yang sama secara otomatis setelah mensintesis CloudFormation template Anda.

cdk synth

CDK melaporkan kemungkinan kegagalan penerapan dan temuan praktik terbaik dengan hasil validasinya. Anda dapat secara eksplisit mengonfigurasi CloudFormationValidatePlugin kapan Anda ingin menambahkan aturan Rego atau Guard kustom.

Untuk konfigurasi plugin, ucapan terima kasih, dan pelaporan validasi, lihat Validasi Template dan Kebijakan di Refer AWS CDK ensi API.

Memahami ruang lingkup validasi

Untuk keterbatasan validasi lokal dan langkah-langkah yang harus diambil sebelum penerapan, lihatMemahami ruang lingkup validasi.