មាតិកា[លាក់][បង្ហាញ]
Infracost មានសារៈសំខាន់សម្រាប់ DevOps, SRE និងអ្នកអភិវឌ្ឍន៍ដែលកំពុងស្វែងរកការប៉ាន់ប្រមាណការចំណាយលើពពកសម្រាប់គម្រោងហេដ្ឋារចនាសម្ព័ន្ធដូចកូដដូចជា Terraform ជាដើម។ ជាមួយនឹង Infracost អ្នកអាចមើលឃើញការវិភាគការចំណាយបានយ៉ាងឆាប់រហ័ស ខណៈពេលដែលការប្រៀបធៀបជម្រើសផ្សេងៗ ដែលជួយនាំទៅរកការយល់ដឹងកាន់តែច្បាស់មុននឹងការសម្រេចចិត្តដ៏ធំមួយ។
តើ Infracost ដំណើរការយ៉ាងដូចម្តេច?
Infracost អាចពិនិត្យមើលតម្លៃជាង 3 លានដោយការស្កេនកូដ Terraform របស់អ្នក ហើយវាបង្កើតការប៉ាន់ស្មានតម្លៃសាមញ្ញ និងងាយស្រួលអាន មុនពេលអ្នកចាប់ផ្តើមធនធាន។
អ្នកក៏អាចប្រើ Infracost ដើម្បីដឹងថាតើខ្សែកូដណាដែលមានឥទ្ធិពលលើការចំណាយធំបំផុតចាប់តាំងពីវាកំណត់តម្លៃទៅលើធនធាននៅក្នុងសំណើទាញរបស់អ្នក។ តាមរយៈការរួមបញ្ចូល Infracost ទៅក្នុង CI/CD របស់អ្នក អ្នកអាចសហការជាមួយក្រុមរបស់អ្នក និងបើកការពិភាក្សាអំពីផលប៉ះពាល់នៃការផ្លាស់ប្តូរនៅក្នុងដំណើរការការងារដែលមានស្រាប់របស់អ្នក។
Infracost ដំណើរការតាមរយៈសេវាកម្ម backend API Cloud Pricing API ហើយជាមួយនឹងឧបករណ៍ CLI អ្នកអាចញែកគម្រោង Terraform ជាទម្រង់ JSON ។ API យោងឆ្លងកាត់ការចំណាយនីមួយៗនៃធនធានពពកនីមួយៗដែលកំពុងប្រើប្រាស់ ក៏ដូចជាប៉ារ៉ាម៉ែត្រចំណាយដែលពាក់ព័ន្ធរបស់ពួកគេដោយផ្អែកលើអ្នកផ្តល់សេវាពពក។
កម្មវិធីនេះមិនតម្រូវឱ្យមានការបញ្ជាក់ណាមួយដើម្បីដំណើរការទេ ហើយវាមិនធ្វើឱ្យមានការកែប្រែណាមួយចំពោះ Terraform ឬធនធានពពកដែលបានវិភាគនោះទេ។ ដោយប្រើចំនួននៃប្រភេទធនធាន Terraform API ធានាថាធនធានថ្មីត្រូវបានគណនា។
មានវិធីសំខាន់ពីរដែល Infracost បង្ហាញពីការវិភាគនៃការចំណាយ៖
ក) ការវិភាគពេញលេញនៃការចំណាយ
ខ) ភាពខុសគ្នានៃការចំណាយប្រចាំខែរវាងរដ្ឋបច្ចុប្បន្ន និងរដ្ឋដែលបានគ្រោងទុក
ចាប់ផ្តើមជាមួយ Infracost (មួយជំហានម្តងៗ)
សូមអនុវត្តតាមការណែនាំជាជំហានៗនេះ ដើម្បីដំឡើង និងចាប់ផ្តើមប្រើប្រាស់ Infracost៖
1. ដំឡើង Infracost
ជំហានដំបូងដើម្បីចាប់ផ្តើមគឺត្រូវដំឡើង Infracost ប៉ុន្តែដំបូងអ្នកត្រូវតែមានរួចហើយ Terraform បានដំឡើង។
នេះជាការមើលកំណែផ្សេងគ្នានៃ Infracost៖
macOS Homebrew៖
ញ៉ាំ ដំឡើង infracost
infracost –version # គួរបង្ហាញ v0.9.7
សៀវភៅដៃ macOS៖
# ទាញយក CLI ដោយផ្អែកលើ OS/arch របស់អ្នក ហើយដាក់វានៅក្នុង /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
លីនុច:
# ទាញយក CLI ដោយផ្អែកលើ OS/arch របស់អ្នក ហើយដាក់វានៅក្នុង /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
អ្នកចត:
docker ទាញ infracost/infracost
docker រត់ –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 breakdown –path /code/
# បន្ថែមទង់/envs ដែលត្រូវការផ្សេងទៀតសម្រាប់ Infracost ឬ Terraform
# ឧទាហរណ៍ ទាំងនេះអាចនឹងត្រូវបានទាមទារ ប្រសិនបើអ្នកកំពុងប្រើ AWS assume-role៖
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \\
វីនដូ:
ទាញយកនិងពន្លាឯកសារ ការចេញផ្សាយចុងក្រោយ. ដំណើរការវាពី Command Prompt ឬ Powershell ដោយប្រើ .\infracost.exe --no-color
រួមជាមួយពាក្យបញ្ជា / ទង់ដែលត្រូវការផ្សេងទៀត (លទ្ធផលពណ៌មានកំហុសដែលយើងត្រូវជួសជុលនៅលើវីនដូ) ។ អ្នកក៏គួរតែផ្លាស់ទីឯកសារ exe ទៅថតឯកសារដែលមាននៅក្នុងរបស់អ្នក។ PATH
អថេរបរិស្ថាន, ឧ។ C:\Windows
.
2. ទទួលបាន API Key
ជំហានបន្ទាប់គឺការចុះឈ្មោះសម្រាប់សោ API ឥតគិតថ្លៃ ដែល CLI ប្រើដើម្បីសាកសួរ Cloud Pricing API សម្រាប់កិច្ចការដូចជាការទទួលបានតម្លៃសម្រាប់ប្រភេទឧទាហរណ៍។
ប្រព័ន្ធប្រតិបត្តិការទាំងអស់៖
ការចុះឈ្មោះ infracost
សោត្រូវបានរក្សាទុកក្នុង ~/.config/infracost/credentials.yml
.
3. ដំណើរការ Infracost
ឥឡូវនេះអ្នកបានត្រៀមខ្លួនរួចរាល់ហើយដើម្បីដំណើរការ Infracost ដែលមិនធ្វើការផ្លាស់ប្តូរណាមួយចំពោះស្ថានភាព Terraform ឬធនធានពពករបស់អ្នក។ អ្នកអាចដំណើរការវាជាមួយនឹងគម្រោង Terraform ដែលបានផ្តល់ឱ្យដើម្បីសាកល្បងវា។
ប្រព័ន្ធប្រតិបត្តិការទាំងអស់៖
git ក្លូន https://github.com/infracost/example-terraform.git
cd example-terraform/sample1
# លេងជាមួយ main.tf ហើយដំណើរការឡើងវិញដើម្បីប្រៀបធៀបការចំណាយ
ការបំបែក infracost - ផ្លូវ។
# បង្ហាញភាពខុសគ្នានៃការចំណាយប្រចាំខែ កែសម្រួលឯកសារ yml និងដំណើរការឡើងវិញដើម្បីប្រៀបធៀបការចំណាយ
infracost diff - ផ្លូវ។ -sync-usage-file -usage-file infracost-usage.yml
4. បន្ថែមទៅ CI/CD
ឥឡូវនេះអ្នកអាចប្រើ Infracost's ការរួមបញ្ចូល CI/CD ដើម្បីបន្ថែមការទាញសំណើដោយស្វ័យប្រវត្តិ ដែលបង្ហាញអ្នកពីភាពខុសគ្នានៃការប៉ាន់ប្រមាណតម្លៃ។ នេះក៏នឹងផ្តល់ឱ្យអ្នកនូវបណ្តាញសុវត្ថិភាព ដែលអនុញ្ញាតឱ្យក្រុមពិភាក្សាអំពីផលប៉ះពាល់នៃតម្លៃនៃការផ្លាស់ប្តូរដែលជាផ្នែកនៃដំណើរការការងាររបស់ពួកគេ។
ការប្រើប្រាស់
នេះ infracost
CLI មានពាក្យបញ្ជាសំខាន់ៗដូចខាងក្រោមៈ
breakdown
៖ បង្ហាញការវិភាគពេញលេញនៃការចំណាយdiff
៖ បង្ហាញភាពខុសគ្នានៃការចំណាយប្រចាំខែរវាងរដ្ឋបច្ចុប្បន្ន និងដែលបានគ្រោងទុក
ប្រើឯកសារកំណត់រចនាសម្ព័ន្ធ Infracost ប្រសិនបើ repo របស់អ្នកមានគម្រោង Terraform ឬកន្លែងធ្វើការច្រើន។ លទ្ធផលរបស់ពួកគេនឹងត្រូវបានបញ្ចូលទៅក្នុងការវិភាគដូចគ្នា ឬលទ្ធផលខុសគ្នា។
ការប្រើប្រាស់កម្រិតខ្ពស់
Infracost ក៏មានវិធីសាស្រ្តប្រើប្រាស់កម្រិតខ្ពស់ជាច្រើនដែលអាចប្រើបានបន្ថែមពីលើវិធីសាស្រ្តប្រើប្រាស់ធម្មតា។ វិធីសាស្រ្តកម្រិតខ្ពស់ទាំងនេះអាចត្រូវបានប្រើតាមរយៈឯកសារកំណត់រចនាសម្ព័ន្ធ Infracost ផងដែរ។
ឯកសារផែនការ Terraform
Infracost អាចត្រូវបានដំណើរការប្រឆាំងនឹងឯកសារផែនការ Terraform ដែលមានន័យថាអ្នកបានដំណើរការ Terraform រួចហើយ init.
Infracost គ្រាន់តែដំណើរការ Terraformshow
ក្នុងករណីនេះ មានន័យថា វាមិនតម្រូវឱ្យមានព័ត៌មានសម្ងាត់លើពពក ឬ --terraform-plan-flags
ត្រូវបានកំណត់។
ផ្លូវ ស៊ីឌី / ទៅ / កូដ
terraform init
ផែនការ terraform -out tfplan.binary
ការបំបែកបំរែបំរួល infracost -path tfplan.binary
infracost diff –path tfplan.binary
រដ្ឋ Terraform
ប្រសិនបើអ្នកចង់ឃើញការវិភាគតម្លៃនៃស្ថានភាព Terraform បច្ចុប្បន្ន អ្នកគួរតែដឹងពីតម្លៃ infracost breakdown
ពាក្យបញ្ជាមាន a --terraform-use-state
ទង់ជាតិ ដែលនឹងបង្ហាញថាមានប្រយោជន៍ក្នុងករណីនេះ។ អ្នកត្រូវតែដំណើរការ Terraform រួចហើយ apply
ដូច្នេះ Infracost គ្រាន់តែដំណើរការ Terraform show
ដែលមិនតម្រូវឱ្យមានព័ត៌មានសម្ងាត់លើពពក ឬ --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
តម្រូវ។
តើពពក និងធនធានណាខ្លះត្រូវបានគាំទ្រ?
Infracost គាំទ្រច្រើនជាង 200 ធនធាន Terraform នៅទូទាំង AWS, Google និង Azure ខណៈពេលដែលឧបករណ៍ IaC ផ្សេងទៀតចូលចិត្ត ពូលូមី និង ការបង្កើតពពក ត្រូវបានរួមបញ្ចូលនៅក្នុងផែនទីបង្ហាញផ្លូវ។ ការគាំទ្រសម្រាប់ធនធានថ្មីត្រូវបានបន្ថែមឥតឈប់ឈរ ដូច្នេះវាមានសារៈសំខាន់ណាស់ក្នុងការត្រួតពិនិត្យ repo សម្រាប់ការចេញផ្សាយ។
សន្និដ្ឋាន
Infracost គឺមានប្រយោជន៍ ឧបករណ៍សម្រាប់អ្នកអភិវឌ្ឍន៍, DevOps, SRE, និងអ្នកផ្សេងទៀតកំពុងសម្លឹងមើលយ៉ាងរហ័សនូវការវិភាគតម្លៃ និងប្រៀបធៀបជម្រើសផ្សេងៗជាមុន។ វាក៏ជាជម្រើសដ៏ល្អផងដែរ ប្រសិនបើអ្នកកំពុងស្វែងរកការរួមបញ្ចូលវាជាមួយ CI និង/ឬត្រូវការការគាំទ្រសម្រាប់ AWS និង Google Cloud។ ប្រសិនបើអ្នកចង់បង្កើតកិច្ចសហការកាន់តែប្រសើរឡើងរវាងក្រុមរបស់អ្នក Infracost ក៏អាចជួយក្នុងរឿងនេះផងដែរ។ លក្ខណៈពិសេសទាំងអស់នេះធ្វើឱ្យវាក្លាយជាឧបករណ៍ដែលអ្នកគួរពិចារណាយ៉ាងខ្លាំងក្នុងការអនុវត្តសម្រាប់ការប៉ាន់ប្រមាណតម្លៃពពកសម្រាប់ Terraform ។
សូមផ្ដល់យោបល់