სარჩევი[დამალვა][ჩვენება]
Infracost მნიშვნელოვანია DevOps-ისთვის, SRE-სთვის და დეველოპერებისთვის, რომლებიც ცდილობენ შეაფასონ ღრუბლოვანი ხარჯები ინფრასტრუქტურის კოდის სახით პროექტებისთვის, როგორიცაა Terraform. Infracost-ით, თქვენ შეგიძლიათ სწრაფად იხილოთ ხარჯების განაწილება სხვადასხვა ვარიანტების შედარებისას, რაც გეხმარებათ მიიღოთ უკეთესი ინფორმაცია დიდი გადაწყვეტილების მიღებამდე.
როგორ მუშაობს ინფრაკოსტი?
Infracost-ს შეუძლია შეამოწმოს 3 მილიონზე მეტი ფასი თქვენი Terraform კოდის სკანირებით და აწარმოებს მარტივი და ადვილად წასაკითხი ხარჯების შეფასებას რესურსების გაშვებამდე.
თქვენ ასევე შეგიძლიათ გამოიყენოთ Infracost, რათა იცოდეთ კოდის რომელ ხაზს აქვს ყველაზე დიდი გავლენა ხარჯზე, რადგან ის ასახავს რესურსებს თქვენს მოთხოვნებში. Infracost-ის თქვენს CI/CD-ში ინტეგრირებით, შეგიძლიათ ითანამშრომლოთ თქვენს გუნდთან და ჩართოთ დისკუსიები თქვენს არსებულ სამუშაო პროცესზე ცვლილებების გავლენის შესახებ.
Infracost მუშაობს მისი Cloud Pricing API backend სერვისის მეშვეობით და CLI ხელსაწყოთი, შეგიძლიათ Terraform გეგმის გაანალიზება JSON ფორმატში. API ჯვარედინი მითითებებია თითოეული გამოყენებული ღრუბლოვანი რესურსის ინდივიდუალურ ღირებულებაზე, ისევე როგორც მათთან დაკავშირებულ ღირებულების პარამეტრებს ღრუბლის პროვაიდერზე დაყრდნობით.
პროგრამა არ საჭიროებს რაიმე სერთიფიკატს ფუნქციონირებისთვის და არ ახდენს რაიმე ცვლილებას Terraform-ში ან გაანალიზებულ ღრუბლოვან რესურსებში. Terraform რესურსების ტიპების რაოდენობის გამოყენებით, API უზრუნველყოფს ახალი რესურსების აღრიცხვას.
არსებობს ორი ძირითადი გზა, რომლითაც Infracost აჩვენებს ხარჯების დაყოფას:
ა) ხარჯების სრული განაწილება
ბ) ყოველთვიური ხარჯების განსხვავება მიმდინარე და დაგეგმილ მდგომარეობას შორის
Infracost-ის დაწყება (ნაბიჯ-ნაბიჯ)
მიჰყევით ამ ნაბიჯ-ნაბიჯ სახელმძღვანელოს Infracost-ის ინსტალაციისა და გამოყენების დასაწყებად:
1. დააინსტალირეთ Infracost
დასაწყისისთვის პირველი ნაბიჯი არის Infracost-ის დაყენება, მაგრამ ჯერ უკვე უნდა გქონდეთ Terraform დამონტაჟდა.
აქ არის Infracost-ის სხვადასხვა ვერსიების ნახვა:
macOS Homebrew:
brew install infracost
infracost – ვერსია # უნდა აჩვენოს v0.9.7
macOS სახელმძღვანელო:
# ჩამოტვირთავს CLI-ს თქვენი OS/arch-ის საფუძველზე და დებს მას /usr/local/bin-ში
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | შ
Linux:
# ჩამოტვირთავს CLI-ს თქვენი OS/arch-ის საფუძველზე და დებს მას /usr/local/bin-ში
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | შ
დოკერი:
docker pull infracost/infracost
დოკერის გაშვება –rm \
-e INFRACOST_API_KEY=იხილეთ_შემდეგი_ნაბიჯი_როგორ_მიიღოთ ეს \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ infracost/infracost ავარია – path /code/
# დაამატეთ სხვა საჭირო დროშები/ენვები Infracost-ისთვის ან Terraform-ისთვის
# მაგალითად, ეს შეიძლება იყოს საჭირო, თუ იყენებთ AWS-ის სავარაუდო როლს:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
ჩამოტვირთეთ და გახსენით უახლესი გათავისუფლება. გაუშვით იგი Command Prompt-დან ან Powershell-იდან .\infracost.exe --no-color
სხვა საჭირო ბრძანებებთან/დროშებთან ერთად (ფერად გამომავალს აქვს შეცდომა, რომელიც უნდა გამოვასწოროთ Windows-ზე). თქვენ ასევე უნდა გადაიტანოთ exe ფაილი თქვენს საქაღალდეში PATH
გარემოს ცვლადი, მაგალითად C:\Windows
.
2. მიიღეთ API გასაღები
შემდეგი ნაბიჯი არის დარეგისტრირება უფასო API გასაღებზე, რომელსაც CLI იყენებს Cloud Pricing API-ს დასადგენად ისეთი ამოცანებისთვის, როგორიცაა ფასების მიღება მაგალითად ტიპებისთვის.
ყველა ოპერაციული სისტემა:
ინფრაფასის რეესტრი
გასაღები შენახულია ~/.config/infracost/credentials.yml
.
3. გაუშვით Infracost
ახლა თქვენ მზად ხართ გაუშვათ Infracost, რომელიც არ ცვლის თქვენს Terraform მდგომარეობას ან ღრუბლოვან რესურსებს. თქვენ შეგიძლიათ გაუშვათ იგი მოწოდებული Terraform პროექტით მის შესამოწმებლად.
ყველა ოპერაციული სისტემა:
git კლონი https://github.com/infracost/example-terraform.git
cd example-terraform/sample1
# ითამაშეთ main.tf-ით და ხელახლა გაუშვით ხარჯების შესადარებლად
ინფრაკოსტის ავარია – გზა .
# აჩვენეთ თვიური ხარჯების განსხვავება, შეცვალეთ yml ფაილი და ხელახლა გაუშვით ხარჯების შესადარებლად
infracost diff – path . –sync-usage-file –usage-file infracost-usage.yml
4. დაამატეთ CI/CD-ში
ახლა შეგიძლიათ გამოიყენოთ Infracost's CI/CD ინტეგრაციები ავტომატურად დასამატებლად pull მოთხოვნის კომენტარები, რომლებიც გიჩვენებთ ხარჯების შეფასების განსხვავებებს. ეს ასევე მოგაწვდით უსაფრთხოების ქსელს, რაც გუნდებს საშუალებას მისცემს განიხილონ ცვლილებების ხარჯზე, როგორც მათი სამუშაო პროცესის ნაწილი.
გამოყენება
ის infracost
CLI-ს აქვს შემდეგი ძირითადი ბრძანებები:
breakdown
: აჩვენეთ ხარჯების სრული განხილვაdiff
: აჩვენეთ თვიური ხარჯების განსხვავება მიმდინარე და დაგეგმილ მდგომარეობას შორის
გამოიყენეთ Infracost კონფიგურაციის ფაილი, თუ თქვენს რეპოს აქვს მრავალი Terraform პროექტი ან სამუშაო ადგილი. მათი შედეგები გაერთიანდება იმავე დაშლაში ან განსხვავებაში.
მოწინავე გამოყენება
Infracost-ს ასევე აქვს სხვადასხვა მოწინავე გამოყენების მეთოდები, რომლებიც შეიძლება გამოყენებულ იქნას რეგულარული გამოყენების მეთოდების გარდა. ამ მოწინავე მეთოდების გამოყენება შესაძლებელია Infracost კონფიგურაციის ფაილის საშუალებითაც.
Terraform Plan ფაილი
Infracost შეიძლება გაშვებული იყოს Terraform-ის გეგმის ფაილის წინააღმდეგ, რაც ნიშნავს, რომ თქვენ უკვე გაუშვით Terraform init.
Infracost უბრალოდ მუშაობს Terraform-ზეshow
ამ შემთხვევაში, რაც იმას ნიშნავს, რომ არ საჭიროებს ღრუბლის სერთიფიკატებს ან --terraform-plan-flags
დასაყენებლად.
cd გზა/მიმართვა/კოდი
ტერაფორმული საწყისი
ტერაფორმული გეგმა -out tfplan.ორობითი
ინფრაკოსტის დაშლა – path tfplan.binary
infracost diff – path tfplan.binary
ტერაფორმული სახელმწიფო
თუ გსურთ იხილოთ ტერაფორმის ამჟამინდელი მდგომარეობის ღირებულება, უნდა იცოდეთ infracost breakdown
ბრძანებას აქვს ა --terraform-use-state
დროშა, რომელიც გამოდგება ამ შემთხვევაში. თქვენ უკვე უნდა გაუშვათ Terraform apply
ასე რომ, Infracost უბრალოდ აწარმოებს Terraform-ს show
, რომელიც არ საჭიროებს ღრუბლის სერთიფიკატებს ან --terraform-plan-flags
დასაყენებლად.
ინფრაკოსტის ავარია – ბილიკების მაგალითები/ტერაფორმი –terraform-use-state
Terraform State JSON ფაილი
შეგიძლიათ აწარმოოთ infracost breakdown
Terraform State JSON ფაილის წინააღმდეგ. ეს იქნება შტატის [JSON გამომავალი ფორმატი] შიდა JSON წარმოდგენის ნაცვლად. ის უნდა იყოს გენერირებული გაშვებით terraform show -json
Terraform-ის პროექტის შიგნით და ეს განსაკუთრებით სასარგებლოა, თუ გსურთ ნახოთ Terraform-ის ამჟამინდელი მდგომარეობის ხარჯთაღრიცხვა. ამ შემთხვევაში, ეს ნიშნავს, რომ თქვენ უკვე გაუშვით Terraform apply
, რაც ნიშნავს ღრუბლის სერთიფიკატებს ან --terraform-plan-flags
აუცილებელია.
რომელი ღრუბლები და რესურსებია მხარდაჭერილი?
Infracost მხარს უჭერს მეტი 200 Terraform რესურსი AWS-ში, Google-სა და Azure-ში, მაშინ როცა სხვა IaC ინსტრუმენტები მოსწონს პულუმი მდე ღრუბლოვანი ფორმირება შედის საგზაო რუკაში. ახალი რესურსების მხარდაჭერა მუდმივად ემატება, ამიტომ მნიშვნელოვანია რეპოს შემოწმება გამოშვებებისთვის.
დასკვნა
Infracost არის გამოსადეგი ინსტრუმენტი დეველოპერებისთვის, DevOps, SRE და სხვები, რომლებიც ცდილობენ სწრაფად დაინახონ ხარჯების განაწილება და შეადარონ სხვადასხვა ვარიანტები წინასწარ. ის ასევე კარგი არჩევანია, თუ თქვენ ცდილობთ მის ინტეგრირებას CI-თან და/ან გჭირდებათ მხარდაჭერა AWS-ისა და Google Cloud-ისთვის. თუ გსურთ შექმნათ უკეთესი თანამშრომლობა თქვენს გუნდს შორის, Infracost ასევე დაგეხმარებათ ამ მხრივ. ყველა ეს მახასიათებელი მას ინსტრუმენტად აქცევს, რომლის განხორციელებაც მკაცრად უნდა გაითვალისწინოთ Terraform-ისთვის ღრუბლის ხარჯების შეფასებისთვის.
დატოვე პასუხი