Jadual Kandungan[Sembunyi][Tunjukkan]
Infracost adalah penting untuk DevOps, SRE dan pembangun yang ingin menganggarkan kos awan untuk projek infrastruktur sebagai kod seperti Terraform. Dengan Infracost, anda boleh melihat pecahan kos dengan cepat sambil membandingkan pilihan yang berbeza, yang membantu membawa kepada cerapan yang lebih baik sebelum membuat keputusan yang besar.
Bagaimana Infrakos Berfungsi?
Infracost boleh menyemak lebih 3 juta harga dengan mengimbas kod Terraform anda dan ia menghasilkan anggaran kos yang ringkas dan mudah dibaca sebelum anda melancarkan sumber.
Anda juga boleh menggunakan Infracost untuk mengetahui baris kod yang mempunyai kesan kos terbesar kerana ia memetakan kos kepada sumber dalam permintaan tarik anda. Dengan menyepadukan Infracost ke dalam CI/CD anda, anda boleh bekerjasama dengan pasukan anda dan membolehkan perbincangan mengenai kesan perubahan dalam aliran kerja sedia ada anda.
Infracost berfungsi melalui perkhidmatan hujung belakang Cloud Pricing API dan dengan alat CLI, anda boleh menghuraikan pelan Terraform dalam format JSON. API merujuk silang kos individu bagi setiap sumber awan yang digunakan, serta parameter kos berkaitannya berdasarkan pembekal awan.
Program ini tidak memerlukan sebarang bukti kelayakan untuk beroperasi, dan ia tidak membuat sebarang perubahan pada Terraform atau kepada sumber awan yang dianalisis. Dengan menggunakan kiraan jenis sumber Terraform, API memastikan bahawa sumber baharu diambil kira.
Terdapat dua cara utama Infrakos menunjukkan pecahan kos:
A) Pecahan Penuh Kos
B) Perbezaan Kos Bulanan Antara Negeri Semasa dan Rancangan
Bermula Dengan Infrakos (Langkah demi Langkah)
Ikuti panduan langkah demi langkah ini untuk memasang dan mula menggunakan Infracost:
1. Pasang Infracost
Langkah pertama untuk bermula ialah memasang Infracost, tetapi anda mesti sudah mempunyai Terraform dipasang.
Berikut ialah melihat versi berbeza Infracost:
macOS Homebrew:
bru pasang infracost
infracost –versi # Harus menunjukkan v0.9.7
manual macOS:
# Memuat turun CLI berdasarkan OS/arch anda dan meletakkannya dalam /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Memuat turun CLI berdasarkan OS/arch anda dan meletakkannya dalam /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Docker:
buruh pelabuhan tarik infrakos/infrakos
larian buruh pelabuhan –rm \
-e INFRACOST_API_KEY=lihat_mengikuti_langkah_cara_mendapatkan_ini \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/kod/ infrakos/pecahan infrakos –laluan /kod/
# Tambah bendera/env lain yang diperlukan untuk Infracost atau Terraform
# Sebagai contoh, ini mungkin diperlukan jika anda menggunakan AWS assume-role:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Muat turun dan nyahzip fail keluaran terbaru. Jalankannya dari Prompt Perintah atau Powershell menggunakan .\infracost.exe --no-color
bersama arahan/bendera lain yang diperlukan (output warna mempunyai pepijat yang perlu kami betulkan pada Windows). Anda juga harus mengalihkan fail exe ke folder yang ada dalam anda PATH
pembolehubah persekitaran, contohnya C:\Windows
.
2. Dapatkan Kunci API
Langkah seterusnya ialah mendaftar untuk kunci API percuma, yang CLI gunakan untuk menanyakan Cloud Pricing API untuk tugas seperti mendapatkan harga untuk jenis contoh.
Semua Sistem Operasi:
daftar infrakos
Kunci disimpan dalam ~/.config/infracost/credentials.yml
.
3. Jalankan Infrakos
Kini anda sudah bersedia untuk menjalankan Infracost, yang tidak membuat sebarang perubahan pada keadaan Terraform atau sumber awan anda. Anda boleh menjalankannya dengan projek Terraform yang disediakan untuk mengujinya.
Semua Sistem Operasi:
git klon https://github.com/infracost/example-terraform.git
cd contoh-terraform/sampel1
# Main dengan main.tf dan jalankan semula untuk membandingkan kos
kerosakan infrakos –laluan .
# Tunjukkan perbezaan kos bulanan, edit fail yml dan jalankan semula untuk membandingkan kos
infracost diff –path . –sync-usage-file –usage-file infracost-usage.yml
4. Tambahkan pada CI/CD
Anda kini boleh menggunakan Infracost Penyepaduan CI/CD untuk menambah komen permintaan tarik secara automatik, yang menunjukkan perbezaan anggaran kos kepada anda. Ini juga akan memberikan anda jaring keselamatan, membolehkan pasukan membincangkan kesan kos perubahan sebagai sebahagian daripada aliran kerja mereka.
Penggunaan
. infracost
CLI mempunyai arahan utama berikut:
breakdown
: tunjukkan pecahan penuh kosdiff
: menunjukkan perbezaan kos bulanan antara keadaan semasa dan yang dirancang
Gunakan fail konfigurasi Infracost jika repo anda mempunyai berbilang projek atau ruang kerja Terraform. Keputusan mereka akan digabungkan ke dalam pecahan yang sama atau keluaran berbeza.
Penggunaan Lanjutan
Infracost juga mempunyai pelbagai kaedah penggunaan lanjutan yang boleh digunakan sebagai tambahan kepada kaedah penggunaan biasa. Kaedah lanjutan ini boleh digunakan melalui fail konfigurasi Infracost juga.
Fail Pelan Terraform
Infracost boleh dijalankan terhadap fail pelan Terraform, yang membayangkan anda telah menjalankan Terraform init.
Infracost hanya menjalankan Terraformshow
dalam kes ini, bermakna ia tidak memerlukan kelayakan awan atau --terraform-plan-flags
yang akan ditetapkan.
cd laluan/ke/kod
terraform init
pelan terraform -out tfplan.binary
pecahan infrakos –path tfplan.binary
infracost diff –path tfplan.binary
Negeri Terraform
Jika anda ingin melihat pecahan kos keadaan Terraform semasa, anda harus tahu infracost breakdown
perintah mempunyai a --terraform-use-state
bendera, yang terbukti berguna dalam kes ini. Anda mesti sudah menjalankan Terraform apply
, jadi Infracost hanya menjalankan Terraform show
, yang tidak memerlukan kelayakan awan atau --terraform-plan-flags
yang akan ditetapkan.
pecahan infrakos –contoh laluan/terraform –terraform-use-state
Fail JSON Negeri Terraform
Anda boleh menjalankan infracost breakdown
terhadap fail JSON keadaan Terraform. Ini akan menjadi [format output JSON] bagi keadaan dan bukannya perwakilan JSON dalaman. Ia mesti dihasilkan dengan berjalan terraform show -json
dalam projek Terraform, dan ia amat berguna jika anda ingin melihat pecahan kos keadaan Terraform semasa. Dalam kes ini, ini menunjukkan anda sudah menjalankan Terraform apply
, bermakna tiada kelayakan awan atau --terraform-plan-flags
diperlukan.
Awan dan Sumber Mana yang Disokong?
Infracost menyokong lebih daripada 200 sumber Terraform merentas AWS, Google dan Azure, manakala alat IaC lain seperti Pulumi and Pembentukan Awan dimasukkan dalam peta jalan. Sokongan untuk sumber baharu sentiasa ditambah, jadi penting untuk menyemak repo untuk keluaran.
Kesimpulan
Infracost sangat membantu alat untuk pemaju, DevOps, SRE dan lain-lain yang ingin melihat pecahan kos dengan cepat dan membandingkan pilihan yang berbeza terlebih dahulu. Ia juga merupakan pilihan yang baik jika anda ingin mengintegrasikannya dengan CI dan/atau memerlukan sokongan untuk AWS dan Google Cloud. Jika anda ingin mewujudkan kerjasama yang lebih baik antara pasukan anda, Infracost juga boleh membantu dalam hal itu. Semua ciri ini menjadikannya alat yang anda harus pertimbangkan dengan kuat untuk melaksanakan anggaran kos awan untuk Terraform.
Sila tinggalkan balasan anda