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:

  • AWS Infrastructure Composer- Antarmuka visual untuk merancang template.

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

  • 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:

Tempat template disimpan

Buket Amazon S3

Anda dapat menyimpan CloudFormation template di bucket 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 atau 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 di repositori Git. Saat membuat atau memperbarui tumpukan, Anda dapat menentukan lokasi repositori Git dan cabang yang berisi template 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 di bagian ini memeriksa bagian yang berbeda dari template. Anda dapat menggunakannya bersama-sama.

Anda dapat memeriksa apakah template menggunakan JSON atau YAML yang valid dengan perintah validate-template CLI 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 templat 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, offline dari baris perintah atau perpustakaan, dan tambahkan aturan Rego atau Guard khusus. AWS CDK menggunakan validator ini secara otomatis setelah mensintesis template Anda.

  • CloudFormation Guard— Tulis aturan kebijakan dan periksa template 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 Toolkit Agen untuk selanjutnya 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 Akun AWS dan Wilayah AWS. Sebelum penerapan, tinjau kumpulan 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 lainnya.

  2. Tulis template - Tulis template dalam format JSON atau YAML, menentukan 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 Memvalidasi template bagian ini.

  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 AWS daya dalam referensi jenis sumber daya dan properti.

Seringkali, template tumpukan Anda akan memerlukan fungsi intrinsik untuk menetapkan nilai properti yang tidak tersedia sampai runtime dan atribut khusus untuk mengontrol perilaku sumber daya. Saat Anda menulis template 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- Menggabungkan 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 pada 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 Ter Center for Internet Security (CIS) atas, dengan pengecualian untuk beberapa aturan di mana masuk akal untuk menjaga sampel tetap fokus pada kasus penggunaan tunggal.