Memulai dengan Terraform: Panduan untuk ahli AWS CDK dan AWS CloudFormation - AWS Panduan Preskriptif

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
DependsOnatribut depends_onmeta-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