View a markdown version of this page

Bekerja dengan CloudFormation template - AWS CloudFormation

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

Bekerja dengan CloudFormation template

AWS CloudFormation Template mendefinisikan AWS sumber daya yang ingin Anda buat, perbarui, atau hapus sebagai bagian dari tumpukan. Ini terdiri dari beberapa bagian, tetapi satu-satunya bagian yang diperlukan adalah Resources bagian, yang harus menyatakan setidaknya satu sumber daya.

Anda dapat membuat template menggunakan metode berikut:

  • Template studio — Edit template dan lihat sumber dayanya dalam diagram visual.

  • Editor Teks - Tulis template langsung dalam sintaks JSON atau YAMAL.

  • Generator IAC — Hasilkan templat dari sumber daya yang disediakan di akun Anda yang saat ini tidak dikelola oleh. CloudFormation Generator IAC bekerja dengan berbagai jenis sumber daya yang didukung oleh Cloud Control API di Wilayah Anda.

Bagian ini memberikan panduan komprehensif tentang cara menggunakan bagian yang berbeda dari CloudFormation template dan cara mulai membuat template tumpukan. Ini mencakup topik-topik berikut:

Di mana template disimpan

Buket Amazon S3

Anda dapat menyimpan CloudFormation template di ember Amazon S3. Saat membuat atau memperbarui tumpukan, Anda dapat menentukan URL S3 template alih-alih mengunggahnya secara langsung.

Jika Anda mengunggah template langsung melalui Konsol Manajemen AWS or AWS CLI, bucket S3 secara otomatis dibuat untuk Anda. Untuk informasi selengkapnya, lihat Buat tumpukan dari CloudFormation konsol.

Repositori Git

Dengan sinkronisasi Git, Anda dapat menyimpan template dalam repositori Git. Saat membuat atau memperbarui tumpukan, Anda dapat menentukan lokasi repositori Git dan cabang yang berisi templat alih-alih mengunggahnya secara langsung atau merujuk URL S3. CloudFormation secara otomatis memonitor repositori dan cabang yang ditentukan untuk perubahan template. Untuk informasi selengkapnya, lihat Buat tumpukan dari kode sumber repositori dengan sinkronisasi Git.

Memvalidasi template

Validasi template Anda sebelum penerapan sehingga Anda dapat menemukan dan memperbaiki masalah lebih awal. CloudFormation Layanan dan alat-alat di bagian ini memeriksa bagian-bagian yang berbeda dari template. Anda dapat menggunakannya bersama-sama.

Anda dapat memeriksa apakah template menggunakan JSON atau YAMAL yang valid dengan perintah validate-templateCLI atau dengan menentukan template Anda di. Konsol Manajemen AWS Konsol melakukan pemeriksaan ini secara otomatis. Pemeriksaan sisi layanan ini tidak menjalankan pemeriksaan properti, keamanan, atau praktik terbaik tambahan yang disediakan oleh alat berikut:

  • CloudFormation Server Bahasa— Dapatkan saran, dokumentasi, dan umpan balik validasi saat Anda menulis template di editor.

  • CloudFormation Linter— Periksa properti sumber daya, nilai yang diizinkan, dan masalah umum dari baris perintah, editor, atau build otomatis.

  • CloudFormation Validasi— Jalankan pemeriksaan lokal dan offline dari baris perintah atau perpustakaan, dan tambahkan aturan khusus di Common Expression Language (CEL), Rego, atau Guard. AWS CDK menggunakan validator ini secara otomatis setelah mensintesis template Anda.

  • CloudFormation Guard— Tulis aturan kebijakan dan periksa templat terhadap persyaratan keamanan, kepatuhan, dan tata kelola organisasi Anda.

Gunakan dengan agen pengkodean AI

Agen pengkodean AI dapat membantu Anda membuat, memvalidasi, dan memecahkan masalah CloudFormation template menggunakan aws-cloudformation keterampilan dari Agen Toolkit untuk aktif. AWS GitHub Untuk instruksi instalasi, lihat Panduan pengaturan agen.

Memahami ruang lingkup validasi

Alat lokal memeriksa template dan aturan yang Anda berikan kepada mereka. Mereka tidak dapat menjamin bahwa penerapan akan berhasil dengan sumber daya, izin, dan kuota saat ini di dan. Akun AWS Wilayah AWS Sebelum penerapan, tinjau set perubahan dan perbaiki masalah yang dilaporkan oleh CloudFormation layanan.

Memulai dengan template

Untuk memulai membuat CloudFormation template, ikuti langkah-langkah berikut:

  1. Pilih sumber daya — Identifikasi AWS sumber daya yang ingin Anda sertakan dalam tumpukan Anda, seperti instans EC2, VPC, grup keamanan, dan banyak lagi.

  2. Tulis template - Tulis template dalam format JSON atau YAMAL, tentukan sumber daya dan propertinya.

  3. Simpan template - Simpan template secara lokal dengan ekstensi file seperti:.json,.yaml, atau.txt.

  4. Validasi template - Validasi template menggunakan metode yang dijelaskan di bagian. Memvalidasi template

  5. Buat tumpukan — Buat tumpukan menggunakan template yang divalidasi.

Rencanakan untuk menggunakan referensi CloudFormation template

Saat Anda menulis templat, Anda dapat menemukan dokumentasi untuk sintaks terperinci untuk berbagai jenis sumber daya dalam referensi jenis AWS sumber daya dan properti.

Seringkali, templat tumpukan Anda akan memerlukan fungsi intrinsik untuk menetapkan nilai properti yang tidak tersedia hingga runtime dan atribut khusus untuk mengontrol perilaku sumber daya. Saat Anda menulis templat Anda, lihat sumber daya berikut untuk panduan:

  • Referensi fungsi intrinsik — Beberapa fungsi intrinsik yang umum digunakan meliputi:

    • Ref— Mengambil nilai parameter atau ID fisik sumber daya.

    • Sub— Mengganti placeholder dalam string dengan nilai aktual.

    • GetAtt— Mengembalikan nilai atribut dari sumber daya dalam template.

    • Join— Bergabung dengan satu set nilai ke dalam satu string.

  • Referensi atribut sumber daya - Beberapa atribut khusus yang umum digunakan meliputi:

    • DependsOn— Gunakan atribut ini untuk menentukan bahwa satu sumber daya harus dibuat setelah yang lain.

    • DeletionPolicy— Gunakan atribut ini untuk menentukan bagaimana CloudFormation seharusnya menangani penghapusan sumber daya.

Sampel template

CloudFormation menyediakan template tumpukan sumber terbuka yang dapat Anda gunakan untuk memulai. Untuk informasi selengkapnya, lihat CloudFormation Contoh Template di GitHub.

Perlu diingat bahwa template ini tidak dimaksudkan untuk siap produksi. Anda harus meluangkan waktu untuk mempelajari cara kerjanya, menyesuaikannya dengan kebutuhan Anda, dan memastikan bahwa mereka memenuhi standar kepatuhan perusahaan Anda.

Setiap template dalam repositori ini melewati pemeriksaan CloudFormation Linter (cfn-lint), dan juga seperangkat AWS CloudFormation Guard aturan dasar berdasarkan 20 Center for Internet Security (CIS) Teratas, dengan pengecualian untuk beberapa aturan yang masuk akal untuk menjaga sampel tetap fokus pada satu kasus penggunaan.