Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memulai dengan Terraform: Panduan untuk ahli AWS CDK dan AWS CloudFormation
Steven Guggenheimer, Amazon Web Services ()AWS
Maret 2024 (sejarah dokumen)
Jika pengalaman Anda dengan penyediaan sumber daya cloud secara eksklusif berada dalam ranah AWS, Anda mungkin memiliki pengalaman terbatas dengan alat infrastruktur sebagai kode (IAc) di luar dan. AWS Cloud Development Kit (AWS CDK)AWS CloudFormation Bahkan, alat serupa, seperti Hashicorp Terraform, mungkin sama sekali tidak Anda kenal. Namun, semakin dalam Anda memasuki perjalanan cloud Anda, semakin tak terhindarkan Anda akan menemukan Terraform. Ini akan jelas menguntungkan Anda untuk terbiasa dengan konsep intinya.
Sementara Terraform, yang AWS CDK, dan CloudFormation mencapai tujuan yang sama dan berbagi banyak konsep inti, ada beberapa perbedaan. Anda mungkin tidak siap untuk perbedaan ini jika Anda mendekati Terraform untuk pertama kalinya. Bagaimanapun, AWS CDK dan CloudFormation tumpukan semuanya didasarkan di dalam Akun AWS, jadi dengan cara itu, mereka memiliki hubungan langsung dengan sebagian besar sumber daya yang mereka pertahankan. Terraform tidak berbasis dalam lingkungan penyedia cloud tunggal mana pun. Ini memberikan fleksibilitas untuk mendukung berbagai penyedia yang berbeda, tetapi harus mempertahankan sumber daya dari jumlah ke lokasi terpencil.
Panduan ini membantu mengungkap konsep inti di balik Terraform untuk membantu Anda menangani tantangan IAc apa pun yang menghampiri Anda. Ini berfokus pada bagaimana Terraform menggunakan konsep, seperti penyedia, modul, dan file negara, untuk menyediakan sumber daya. Ini juga kontras konsep Terraform dengan bagaimana AWS CDK dan CloudFormation melakukan operasi serupa.
catatan
AWS CDK Ini membantu pengembang menyebarkan CloudFormation tumpukan dengan menggunakan bahasa pengkodean terprogram. Setelah Anda menjalankancdk synth
, kode Anda diubah menjadi CloudFormation template. Sejak saat itu, prosesnya identik antara AWS CDK dan CloudFormation. Demi singkatnya, panduan ini biasanya mengacu pada proses AWS IAc dalam CloudFormation istilah, tetapi perbandingannya sama tepat untuk. AWS CDK
CloudFormation dan terminologi Terraform
Ketika membandingkan Terraform dengan AWS CDK dan CloudFormation, merekonsiliasi konsep inti IAc bisa jadi sulit karena terminologi yang tidak konsisten yang digunakan untuk menggambarkannya. Berikut ini adalah istilah-istilah ini dan bagaimana panduan ini akan merujuknya:
-
Stack — Tumpukan adalah IAc yang digunakan ke dalam pipa CI/CD dan dapat dilacak sebagai satu unit.Meskipun istilah ini umum di CloudFormation, Terraform tidak benar-benar menggunakan istilah ini. Tumpukan Terraform adalah modul root yang diterapkan dengan semua modul turunannya. Namun, untuk menghindari kebingungan dengan istilah modul, panduan ini menggunakan istilah stack untuk menggambarkan penerapan tunggal untuk kedua alat.
-
Status - Status adalah semua sumber daya yang saat ini dilacak dan konfigurasinya saat ini dalam tumpukan penyebaran IAC. Seperti yang dijelaskan di Memahami status dan backend Terraform bagian, Terraform menggunakan istilah status lebih dari. CloudFormation Ini karena mempertahankan status lebih terlihat di Terraform, tetapi melacak dan memperbarui status sama pentingnya. CloudFormation
-
File IAC - File IAC adalah file tunggal yang berisi infrastruktur sebagai bahasa kode (IAc). CloudFormation mengacu pada satu CloudFormation file sebagai template. Namun template
dan file template di Terraform adalah sesuatu yang sama sekali berbeda. Setara dengan CloudFormation template di Terraform disebut file konfigurasi. Untuk meminimalkan kebingungan dalam panduan ini, file istilah atau file IAC digunakan untuk merujuk ke CloudFormation templat dan file konfigurasi Terraform.
Tabel berikut membandingkan terminologi yang digunakan untuk CloudFormation dan Terraform. Maksud dari tabel ini adalah untuk menunjukkan kesamaan. Ini bukan one-to-one perbandingan. Setiap konsep berbeda setidaknya sedikit antara CloudFormation dan Terraform. Konsep dijelaskan secara mendalam di bagian yang relevan dari panduan ini.
CloudFormation istilah | Istilah Terraform | Bagian dari panduan ini |
---|---|---|
Antarmuka CDK (seperti iBucket) | Sumber data | Memahami sumber data Terraform |
Ubah set | Rencana | Memahami modul Terraform |
Fungsi syarat | Ekspresi bersyarat | Memahami fungsi, ekspresi, dan meta-argumen Terraform |
DependsOn atribut |
depends_on meta-argumen |
Memahami fungsi, ekspresi, dan meta-argumen Terraform |
Fungsi intrinsik | Fungsi | Memahami fungsi, ekspresi, dan meta-argumen Terraform |
Modul | Modul | Memahami modul Terraform |
Output | Nilai keluaran | Memahami variabel Terraform, nilai lokal, dan output |
Parameter | Variabel | Memahami variabel Terraform, nilai lokal, dan output |
Registri | Penyedia | Memahami penyedia Terraform |
Templat | File konfigurasi | Semua |