Πίνακας περιεχομένων[Κρύβω][Προβολή]
Το Infracost είναι σημαντικό για DevOps, SRE και προγραμματιστές που θέλουν να εκτιμήσουν το κόστος cloud για έργα υποδομής ως κώδικα, όπως το Terraform. Με το Infracost, μπορείτε να δείτε γρήγορα μια ανάλυση κόστους συγκρίνοντας διαφορετικές επιλογές, κάτι που σας βοηθά να οδηγηθείτε σε καλύτερες πληροφορίες πριν από μια μεγάλη απόφαση.
Πώς λειτουργεί το Infracost;
Το Infracost μπορεί να ελέγξει πάνω από 3 εκατομμύρια τιμές σαρώνοντας τον κώδικα Terraform και παράγει μια απλή και ευανάγνωστη εκτίμηση κόστους πριν εκκινήσετε πόρους.
Μπορείτε επίσης να χρησιμοποιήσετε το Infracost για να μάθετε ποιες γραμμές κώδικα έχουν τον μεγαλύτερο αντίκτυπο στο κόστος, καθώς αντιστοιχίζει το κόστος σε πόρους στα αιτήματα έλξης σας. Ενσωματώνοντας το Infracost στο CI/CD σας, μπορείτε να συνεργαστείτε με την ομάδα σας και να ενεργοποιήσετε τις συζητήσεις σχετικά με τον αντίκτυπο των αλλαγών στην υπάρχουσα ροή εργασίας σας.
Το Infracost λειτουργεί μέσω της υπηρεσίας υποστήριξης του API Cloud Pricing και με το εργαλείο CLI, μπορείτε να αναλύσετε ένα σχέδιο Terraform σε μορφή JSON. Το API παραπέμπει στο μεμονωμένο κόστος κάθε πόρου cloud που χρησιμοποιείται, καθώς και στις σχετικές παραμέτρους κόστους με βάση τον πάροχο cloud.
Το πρόγραμμα δεν απαιτεί διαπιστευτήρια για να λειτουργήσει και δεν κάνει καμία αλλαγή στο Terraform ή στους αναλυόμενους πόρους του cloud. Χρησιμοποιώντας την καταμέτρηση των τύπων πόρων Terraform, το API διασφαλίζει ότι λαμβάνονται υπόψη οι νέοι πόροι.
Υπάρχουν δύο κύριοι τρόποι με τους οποίους το Infracost δείχνει την ανάλυση του κόστους:
Α) Πλήρης Ανάλυση Κόστους
Β) Διαφορά μηνιαίων δαπανών μεταξύ τρέχουσας και προγραμματισμένης κατάστασης
Ξεκινώντας με το Infracost (Βήμα προς Βήμα)
Ακολουθήστε αυτόν τον οδηγό βήμα προς βήμα για να εγκαταστήσετε και να αρχίσετε να χρησιμοποιείτε το Infracost:
1. Εγκαταστήστε το Infracost
Το πρώτο βήμα για να ξεκινήσετε είναι να εγκαταστήσετε το Infracost, αλλά πρέπει πρώτα να το έχετε ήδη Terraform εγκατασταθεί.
Ακολουθεί μια ματιά στις διαφορετικές εκδόσεις του Infracost:
macOS Homebrew:
brew install infracost
infracost – έκδοση # Πρέπει να εμφανίζει την έκδοση 0.9.7
Εγχειρίδιο macOS:
# Πραγματοποιεί λήψη του CLI με βάση το λειτουργικό σύστημα/τοξωτή σας και το τοποθετεί στο /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | SH
Linux:
# Πραγματοποιεί λήψη του CLI με βάση το λειτουργικό σύστημα/τοξωτή σας και το τοποθετεί στο /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | SH
Λιμενεργάτης:
docker pull infracost/infracost
docker run –rm \
-e INFRACOST_API_KEY=see_following_step_on_how_to_get_this \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ infracost/infracost ανάλυση –διαδρομή /code/
# Προσθέστε άλλες απαιτούμενες σημαίες/envs για Infracost ή Terraform
# Για παράδειγμα, αυτά μπορεί να απαιτούνται εάν χρησιμοποιείτε το AWS assume-role:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Λήψη και αποσυμπίεση του τελευταία έκδοση. Εκτελέστε το από τη γραμμή εντολών ή το Powershell χρησιμοποιώντας .\infracost.exe --no-color
μαζί με άλλες απαιτούμενες εντολές/σημαίες (η έγχρωμη έξοδος έχει ένα σφάλμα που πρέπει να διορθώσουμε στα Windows). Θα πρέπει επίσης να μετακινήσετε το αρχείο exe σε έναν φάκελο που βρίσκεται στο δικό σας PATH
μεταβλητή περιβάλλοντος, π.χ C:\Windows
.
2. Λάβετε ένα κλειδί API
Το επόμενο βήμα είναι να εγγραφείτε για ένα δωρεάν κλειδί API, το οποίο το CLI χρησιμοποιεί για να υποβάλει ερωτήματα στο API τιμολόγησης Cloud για εργασίες όπως η λήψη τιμών για παράδειγμα τύπους.
Όλα τα λειτουργικά συστήματα:
μητρώου υποδομών
Το κλειδί αποθηκεύεται ~/.config/infracost/credentials.yml
.
3. Εκτελέστε το Infracost
Τώρα είστε έτοιμοι να εκτελέσετε το Infracost, το οποίο δεν κάνει καμία αλλαγή στην κατάσταση Terraform ή στους πόρους του cloud. Μπορείτε να το εκτελέσετε με το παρεχόμενο έργο Terraform για να το δοκιμάσετε.
Όλα τα λειτουργικά συστήματα:
κλώνος git https://github.com/infracost/example-terraform.git
cd example-terraform/sample1
# Παίξτε με το main.tf και εκτελέστε ξανά για να συγκρίνετε το κόστος
Διακοπή υποδομής – διαδρομή .
# Εμφάνιση διαφοράς μηνιαίων δαπανών, επεξεργασία του αρχείου yml και επανεκτέλεση για σύγκριση κόστους
διαφορικό μονοπάτι infracost . –sync-usage-file –usage-file infracost-usage.yml
4. Προσθήκη στο CI/CD
Τώρα μπορείτε να χρησιμοποιήσετε το Infracost's Ενσωματώσεις CI/CD για να προσθέσετε αυτόματα σχόλια αιτημάτων έλξης, τα οποία σας δείχνουν διαφορές εκτίμησης κόστους. Αυτό θα σας παρέχει επίσης ένα δίχτυ ασφαλείας, επιτρέποντας στις ομάδες να συζητούν τον αντίκτυπο στο κόστος των αλλαγών ως μέρος της ροής εργασιών τους.
Χρήση
Η infracost
Το CLI έχει τις ακόλουθες κύριες εντολές:
breakdown
: εμφανίζει την πλήρη ανάλυση του κόστουςdiff
: εμφάνιση διαφοράς μηνιαίου κόστους μεταξύ τρέχουσας και προγραμματισμένης κατάστασης
Χρησιμοποιήστε ένα αρχείο διαμόρφωσης Infracost εάν το αποθετήριο σας έχει πολλά έργα Terraform ή χώρους εργασίας. Τα αποτελέσματά τους θα συνδυαστούν στην ίδια ανάλυση ή διαφορά εξόδου.
Προχωρημένη χρήση
Το Infracost διαθέτει επίσης διάφορες προηγμένες μεθόδους χρήσης που μπορούν να χρησιμοποιηθούν εκτός από τις συνήθεις μεθόδους χρήσης. Αυτές οι προηγμένες μέθοδοι μπορούν να χρησιμοποιηθούν και μέσω ενός αρχείου διαμόρφωσης Infracost.
Αρχείο Terraform Plan
Το Infracost μπορεί να εκτελεστεί σε ένα αρχείο σχεδίου Terraform, πράγμα που σημαίνει ότι έχετε ήδη εκτελέσει το Terraform init.
Το Infracost μόλις εκτελεί το Terraformshow
σε αυτήν την περίπτωση, που σημαίνει ότι δεν απαιτεί διαπιστευτήρια cloud ή --terraform-plan-flags
να τεθούν.
διαδρομή/προς/κωδικό cd
Terraform init
terraform plan -out tfplan.binary
ανάλυση υποκόστους –διαδρομή tfplan.binary
infracost diff –path tfplan.binary
Terraform State
Εάν θέλετε να δείτε την ανάλυση κόστους της τρέχουσας κατάστασης Terraform, θα πρέπει να γνωρίζετε το infracost breakdown
η εντολή έχει α --terraform-use-state
σημαία, η οποία θα αποδεικνυόταν χρήσιμη σε αυτή την περίπτωση. Πρέπει να εκτελέσετε ήδη το Terraform apply
, οπότε το Infracost απλώς εκτελεί το Terraform show
, το οποίο δεν απαιτεί διαπιστευτήρια cloud ή --terraform-plan-flags
να τεθούν.
ανάλυση υποκόστους –παραδείγματα διαδρομής/terraform –terraform-use-state
Αρχείο JSON κατάστασης Terraform
Μπορείτε να εκτελέσετε το infracost breakdown
σε ένα αρχείο JSON κατάστασης Terraform. Αυτή θα ήταν η [μορφή εξόδου JSON] της κατάστασης αντί για την εσωτερική αναπαράσταση JSON. Πρέπει να δημιουργηθεί εκτελώντας terraform show -json
μέσα σε ένα έργο Terraform και είναι ιδιαίτερα χρήσιμο αν θέλετε να δείτε την ανάλυση κόστους της τρέχουσας κατάστασης Terraform. Σε αυτήν την περίπτωση, σημαίνει ότι έχετε ήδη εκτελέσει το Terraform apply
, που σημαίνει ότι δεν υπάρχουν διαπιστευτήρια σύννεφο ή --terraform-plan-flags
απαιτούνται.
Ποια clouds και πόροι υποστηρίζονται;
Το Infracost υποστηρίζει περισσότερα από 200 Terraform πόροι σε όλα τα AWS, Google και Azure, ενώ άλλα εργαλεία IaC όπως Πουλούμι και Cloudformation περιλαμβάνονται στον οδικό χάρτη. Η υποστήριξη για νέους πόρους προστίθεται συνεχώς, επομένως είναι σημαντικό να ελέγχετε το repo για εκδόσεις.
Συμπέρασμα
Το Infracost είναι χρήσιμο εργαλείο για προγραμματιστές, DevOps, SRE και άλλοι που θέλουν να δουν γρήγορα την ανάλυση κόστους και να συγκρίνουν εκ των προτέρων διαφορετικές επιλογές. Είναι επίσης μια καλή επιλογή αν θέλετε να το ενσωματώσετε με το CI ή/και χρειάζεστε υποστήριξη για το AWS και το Google Cloud. Εάν θέλετε να δημιουργήσετε καλύτερη συνεργασία μεταξύ της ομάδας σας, η Infracost μπορεί επίσης να βοηθήσει σε αυτό. Όλα αυτά τα χαρακτηριστικά το καθιστούν ένα εργαλείο που θα πρέπει να εξετάσετε το ενδεχόμενο εφαρμογής για εκτιμήσεις κόστους cloud για το Terraform.
Αφήστε μια απάντηση