မာတိကာ[ဖျောက်][ရှိုး]
Infracost သည် DevOps၊ SRE နှင့် Terraform ကဲ့သို့သော အခြေခံအဆောက်အဦ-ကုဒ်ပရောဂျက်များအတွက် cloud ကုန်ကျစရိတ်များကို ခန့်မှန်းရန် ရှာဖွေနေသည့် developer များအတွက် အရေးကြီးပါသည်။ Infracost ဖြင့်၊ ကြီးကြီးမားမားဆုံးဖြတ်ချက်မချမီ ပိုမိုကောင်းမွန်သော ထိုးထွင်းဥာဏ်များရရှိရန် ကူညီပေးသည့် မတူညီသောရွေးချယ်မှုများကို နှိုင်းယှဉ်ရာတွင် ကုန်ကျစရိတ်ခွဲခြမ်းစိတ်ဖြာမှုကို လျင်မြန်စွာတွေ့မြင်နိုင်ပါသည်။
Infracost ဘယ်လိုအလုပ်လုပ်သလဲ။
Infracost သည် သင်၏ Terraform ကုဒ်ကို စကင်န်ဖတ်ခြင်းဖြင့် စျေးနှုန်း 3 သန်းကျော်ကို စစ်ဆေးနိုင်ပြီး အရင်းအမြစ်များကို သင်မစတင်မီ ရိုးရှင်းပြီး ဖတ်ရှုရလွယ်ကူသော ခန့်မှန်းခြေကို ထုတ်ပေးပါသည်။
သင့်ဆွဲတင်တောင်းဆိုမှုများရှိ အရင်းအမြစ်များနှင့် ကုန်ကျစရိတ်များကို မြေပုံရေးဆွဲထားသောကြောင့် မည်သည့်ကုဒ်လိုင်းများသည် အကြီးမားဆုံးကုန်ကျစရိတ်သက်ရောက်မှုရှိသည်ကို သိရှိရန် Infracost ကို အသုံးပြုနိုင်သည်။ Infracost ကို သင်၏ CI/CD တွင် ပေါင်းစည်းခြင်းဖြင့်၊ သင်သည် သင့်အဖွဲ့နှင့် ပူးပေါင်းနိုင်ပြီး သင့်လက်ရှိလုပ်ငန်းအသွားအလာတွင် အပြောင်းအလဲများ၏ သက်ရောက်မှုအပေါ် ဆွေးနွေးမှုများကို ဖွင့်နိုင်သည်။
Infracost သည် ၎င်း၏ Cloud Pricing API backend ဝန်ဆောင်မှုမှတစ်ဆင့် လုပ်ဆောင်ပြီး CLI ကိရိယာဖြင့်၊ သင်သည် Terraform အစီအစဉ်ကို JSON ဖော်မတ်ဖြင့် ပိုင်းခြားနိုင်ပါသည်။ API သည် အသုံးပြုနေသည့် cloud အရင်းအမြစ်တစ်ခုစီ၏ တစ်ဦးချင်းကုန်ကျစရိတ်အပြင် cloud ဝန်ဆောင်မှုပေးသူအပေါ်အခြေခံ၍ ၎င်းတို့၏ဆက်စပ်သောကုန်ကျစရိတ်ဘောင်များကို ကိုးကားပါသည်။
ပရိုဂရမ်သည် လည်ပတ်ရန် မည်သည့်အထောက်အထားများ မလိုအပ်ပါ၊ ၎င်းသည် Terraform သို့မဟုတ် ခွဲခြမ်းစိတ်ဖြာထားသော cloud အရင်းအမြစ်များကို ပြောင်းလဲခြင်းမျိုး မပြုလုပ်ပါ။ Terraform အရင်းအမြစ်အမျိုးအစားများရေတွက်ခြင်းကိုအသုံးပြုခြင်းဖြင့်၊ API သည် အရင်းအမြစ်အသစ်များအတွက်စာရင်းဝင်ကြောင်းသေချာစေသည်။
Infracost သည် ကုန်ကျစရိတ်များကို ခွဲခြမ်းစိပ်ဖြာပြသသည့် အဓိကနည်းလမ်း နှစ်ခုရှိသည်။
က) ကုန်ကျစရိတ် အပြည့်အစုံ ခွဲခြမ်းစိတ်ဖြာခြင်း။
ခ) လက်ရှိနှင့် စီစဉ်ထားသည့်ပြည်နယ်ကြား လစဉ်ကုန်ကျစရိတ် ကွာခြားချက်
Infracost ဖြင့် စတင်ခြင်း (တစ်ဆင့်ပြီးတစ်ဆင့်)
Infracost ကို ထည့်သွင်းပြီး စတင်အသုံးပြုရန် ဤ အဆင့်ဆင့်လမ်းညွှန်ချက်ကို လိုက်နာပါ။
1. Infracost ကို ထည့်သွင်းပါ။
စတင်ရန် ပထမအဆင့်မှာ Infracost ကို ထည့်သွင်းရန်ဖြစ်သော်လည်း သင့်တွင် ရှိနှင့်ပြီးသားဖြစ်ရပါမည်။ Terraform installed ။
ဤတွင် Infracost ၏ ကွဲပြားသောဗားရှင်းများကို ကြည့်ရှုပါ ။
macOS Homebrew-
infracost ကို install လုပ်ပါ။
infracost –version # သည် v0.9.7 ကိုပြသသင့်သည်။
macOS လက်စွဲစာအုပ်-
# သင်၏ OS/arch ကိုအခြေခံ၍ CLI ကိုဒေါင်းလုဒ်လုပ်ပြီး /usr/local/bin တွင်ထည့်ပါ။
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux ကို:
# သင်၏ OS/arch ကိုအခြေခံ၍ CLI ကိုဒေါင်းလုဒ်လုပ်ပြီး /usr/local/bin တွင်ထည့်ပါ။
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Docker-
docker သည် 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 breakdown –path /code/
# Infracost သို့မဟုတ် Terraform အတွက် အခြားလိုအပ်သော အလံများ / envs ကိုထည့်ပါ။
# ဥပမာအားဖြင့်၊ သင်သည် AWS assume-role ကိုအသုံးပြုနေပါက၊
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows ကို:
ဒေါင်းလုဒ်လုပ်ပြီး ဇစ်ဖြည်လိုက်ပါ။ နောက်ဆုံးပေါ်လွှတ်ပေးရန်. ၎င်းကို Command Prompt သို့မဟုတ် Powershell ကိုအသုံးပြု၍ Run ပါ။ .\infracost.exe --no-color
အခြားလိုအပ်သော commands/flags များနှင့်အတူ (အရောင်အထွက်တွင် ကျွန်ုပ်တို့ Windows တွင်ပြင်ရန် လိုအပ်သော bug တစ်ခုရှိသည်)။ exe ဖိုင်ကို သင့်အတွင်းရှိ folder တစ်ခုသို့ ရွှေ့သင့်သည်။ PATH
ပတ်ဝန်းကျင် variable ကိုဥပမာ၊ C:\Windows
.
2. API ကီးတစ်ခုရယူပါ။
နောက်တစ်ဆင့်မှာ CLI သည် ဥပမာအမျိုးအစားများအတွက် စျေးနှုန်းများရယူခြင်းကဲ့သို့သော အလုပ်များအတွက် Cloud Pricing API ကို မေးမြန်းရန် အသုံးပြုသည့် အခမဲ့ API သော့တစ်ခုအတွက် မှတ်ပုံတင်ရန်ဖြစ်သည်။
Operating Systems အားလုံး-
infracost မှတ်ပုံတင်
သော့ကို သိမ်းဆည်းထားသည်။ ~/.config/infracost/credentials.yml
.
3. Infracost ကိုဖွင့်ပါ။
သင်၏ Terraform အခြေအနေ သို့မဟုတ် cloud အရင်းအမြစ်များကို မည်သည့်အပြောင်းအလဲမှ မလုပ်ဘဲ Infracost ကို ယခုအသုံးပြုရန် အသင့်ဖြစ်နေပါပြီ။ ၎င်းကို စမ်းသပ်ရန် ထောက်ပံ့ပေးထားသော Terraform ပရောဂျက်ဖြင့် ၎င်းကို သင်သုံးနိုင်သည်။
Operating Systems အားလုံး-
git clone https://github.com/infracost/example-terraform.git
cd နမူနာ-terraform/sample1
# main.tf ဖြင့် ကစားပြီး ကုန်ကျစရိတ်များကို နှိုင်းယှဉ်ရန် ပြန်လည်လုပ်ဆောင်ပါ။
အရင်းအနှီးပျက်ပြားမှု - လမ်းကြောင်း။
# လစဉ်ကုန်ကျစရိတ်များ၏ ကွဲပြားမှုကိုပြသပါ၊ yml ဖိုင်ကို တည်းဖြတ်ပြီး ကုန်ကျစရိတ်များကို နှိုင်းယှဉ်ရန် ပြန်လည်လုပ်ဆောင်ပါ။
infracost diff – လမ်းကြောင်း။ –sync-usage-file –usage-file infracost-usage.yml
4. CI/CD သို့ထည့်ပါ။
ယခုသင်သည် Infracost ကိုသုံးနိုင်သည်။ CI/CD ပေါင်းစပ်မှုများ ကုန်ကျစရိတ် ခန့်မှန်းချက် ကွဲပြားမှုများကို ပြသသည့် ဆွဲယူ တောင်းဆိုချက် မှတ်ချက်များကို အလိုအလျောက် ထည့်သွင်းရန်။ ၎င်းသည် သင့်အား အလုပ်အသွားအလာ၏ တစ်စိတ်တစ်ပိုင်းအနေဖြင့် အပြောင်းအလဲများ၏ ကုန်ကျစရိတ်သက်ရောက်မှုကို ဆွေးနွေးနိုင်စေမည့် အဖွဲ့များအား Safetynet ကိုလည်း ပံ့ပိုးပေးမည်ဖြစ်သည်။
အသုံးပြုမှု
အဆိုပါ infracost
CLI တွင် အောက်ပါ အဓိက အမိန့်များ ရှိသည်။
breakdown
: ကုန်ကျစရိတ် အပြည့်အစုံကို ပြပါ။diff
: လက်ရှိနှင့် စီစဉ်ထားသည့် အခြေအနေကြား လစဉ် ကုန်ကျစရိတ် ကွာခြားချက်ကို ပြပါ။
သင့် repo တွင် Terraform ပရောဂျက်များ သို့မဟုတ် အလုပ်နေရာများစွာရှိလျှင် Infracost config ဖိုင်ကို အသုံးပြုပါ။ ၎င်းတို့၏ရလဒ်များကို တူညီသောခွဲခြမ်းစိတ်ဖြာမှု သို့မဟုတ် ကွဲပြားသည့်ရလဒ်အဖြစ် ပေါင်းစပ်မည်ဖြစ်သည်။
အဆင့်မြင့်အသုံးပြုမှု
Infracost တွင် ပုံမှန်အသုံးပြုမှုနည်းလမ်းများအပြင် အသုံးပြုနိုင်သည့် အဆင့်မြင့်အသုံးပြုမှုနည်းလမ်းများလည်း ရှိပါသည်။ ဤအဆင့်မြင့်နည်းလမ်းများကို Infracost config ဖိုင်မှတစ်ဆင့်လည်း အသုံးပြုနိုင်ပါသည်။
Terraform Plan ဖိုင်
Infracost သည် သင် Terraform ကို run ထားပြီးဖြစ်ကြောင်း ဆိုလိုသည့် Terraform အစီအစဉ်ဖိုင်တစ်ခုနှင့် ဆန့်ကျင်သည်။ init.
Infracost သည် Terraform ကိုသာလုပ်ဆောင်သည်။show
ဤကိစ္စတွင်၊ ၎င်းသည် cloud အထောက်အထားများ သို့မဟုတ် မလိုအပ်ပါ။ --terraform-plan-flags
သတ်မှတ်ခံရဖို့
cd လမ်းကြောင်း/to/ကုဒ်
terraform init
terraform အစီအစဉ် -out tfplan.binary
infracost ခွဲခြမ်းစိတ်ဖြာခြင်း –path tfplan.binary
infracost diff –path tfplan.binary
Terraform ပြည်နယ်
လက်ရှိ Terraform အခြေအနေ၏ ကုန်ကျစရိတ်ခွဲခြမ်းစိတ်ဖြာမှုကို ကြည့်လိုပါက၊ သင်သိထားသင့်သည်။ infracost breakdown
command တစ်ခုရှိသည်။ --terraform-use-state
ဤကိစ္စတွင်အသုံးဝင်ကြောင်းသက်သေပြမည့်အလံ။ သင်သည် Terraform ကို အသုံးပြုပြီးဖြစ်ရပါမည်။ apply
ထို့ကြောင့် Infracost သည် Terraform ကိုသာလုပ်ဆောင်သည်။ show
cloud အထောက်အထားများ သို့မဟုတ် မလိုအပ်သော၊ --terraform-plan-flags
သတ်မှတ်ခံရဖို့
ကုန်ကျစရိတ် လျှော့ချခြင်း – လမ်းကြောင်းနမူနာများ/ မြေပြင်ပုံစံ – terraform-use-state
Terraform State JSON ဖိုင်
သင်က run နိုင်ပါတယ် infracost breakdown
Terraform ပြည်နယ် JSON ဖိုင်နှင့်ဆန့်ကျင်ဘက်။ ၎င်းသည် အတွင်း JSON ကိုယ်စားပြုမှုအစား ပြည်နယ်၏ [JSON အထွက်ဖော်မတ်] ဖြစ်လိမ့်မည်။ လည်ပတ်ခြင်းဖြင့် ထုတ်ပေးရပါမည်။ terraform show -json
Terraform ပရောဂျက်တစ်ခုအတွင်း၊ လက်ရှိ Terraform အခြေအနေ၏ ကုန်ကျစရိတ်ခွဲခြမ်းစိတ်ဖြာမှုကို သင်ကြည့်ရှုလိုပါက အထူးအသုံးဝင်သည်။ ဤကိစ္စတွင်၊ သင်သည် Terraform ကိုအသုံးပြုပြီးဖြစ်ကြောင်း ဆိုလိုသည်။ apply
cloud အထောက်အထားများ သို့မဟုတ် အဓိပ္ပါယ်မရှိပါ။ --terraform-plan-flags
လိုအပ်သည်။
မည်သည့် Cloud နှင့် အရင်းအမြစ်များကို ပံ့ပိုးပေးသနည်း။
Infracost ထက်ပိုပြီး ပံ့ပိုးပေးပါတယ်။ 200 Terraform အရင်းအမြစ်များ အခြားသော IaC ကိရိယာများကဲ့သို့ပင် AWS၊ Google နှင့် Azure တို့တွင် ပူလူမီ နှင့် Cloudformation လမ်းပြမြေပုံတွင် ပါဝင်ပါသည်။ အရင်းအမြစ်အသစ်များအတွက် ပံ့ပိုးမှုအား အဆက်မပြတ်ထည့်သွင်းနေသောကြောင့် ထုတ်ဝေမှုများအတွက် repo ကို စစ်ဆေးရန် အရေးကြီးပါသည်။
ကောက်ချက်
Infracost က အသုံးဝင်ပါတယ်။ developer များအတွက် tool၊ DevOps၊ SRE နှင့် အခြားအရာများသည် ကုန်ကျစရိတ်ခွဲခြမ်းစိတ်ဖြာမှုကို လျင်မြန်စွာကြည့်ရှုရန်နှင့် မတူညီသောရွေးချယ်စရာများကို ရှေ့သို့ နှိုင်းယှဉ်ကြည့်ပါ။ ၎င်းကို CI နှင့် ပေါင်းစည်းရန် နှင့်/သို့မဟုတ် AWS နှင့် Google Cloud အတွက် ပံ့ပိုးမှု လိုအပ်ပါက လည်း ရွေးချယ်မှုတစ်ခုဖြစ်သည်။ သင့်အဖွဲ့ကြားတွင် ပိုမိုကောင်းမွန်သော ပူးပေါင်းဆောင်ရွက်မှုကို ဖန်တီးလိုပါက Infracost သည် ၎င်းနှင့်ပတ်သက်၍ ကူညီပေးနိုင်သည်။ ဤအင်္ဂါရပ်များအားလုံးသည် Terraform အတွက် cloud ကုန်ကျစရိတ်ခန့်မှန်းချက်များအတွက် အကောင်အထည်ဖော်ရန် အလေးအနက်စဉ်းစားသင့်သည့်ကိရိယာတစ်ခုဖြစ်စေသည်။
တစ်ဦးစာပြန်ရန် Leave