Բառը[Թաքցնել][Ցուցադրում]
Infracost-ը կարևոր է DevOps-ի, SRE-ի և մշակողների համար, ովքեր ցանկանում են գնահատել ամպային ծախսերը ենթակառուցվածքի կոդով նախագծերի համար, ինչպիսին է Terraform-ը: Infracost-ի միջոցով դուք կարող եք արագ տեսնել ծախսերի բաշխումը տարբեր տարբերակները համեմատելիս, ինչը օգնում է ավելի լավ պատկերացումների բերել նախքան մեծ որոշում կայացնելը:
Ինչպե՞ս է աշխատում Infracost-ը:
Infracost-ը կարող է ստուգել ավելի քան 3 միլիոն գներ՝ սկանավորելով ձեր Terraform կոդը, և այն ստեղծում է ծախսերի պարզ և ընթեռնելի նախահաշիվ՝ նախքան ռեսուրսների գործարկումը:
Դուք կարող եք նաև օգտագործել 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:
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 breakdown – path /code/
# Ավելացրեք այլ պահանջվող դրոշներ/նվերներ Infracost-ի կամ Terraform-ի համար
# Օրինակ, դրանք կարող են պահանջվել, եթե դուք օգտագործում եք AWS-ի ստանձնած դերը.
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Պատուհաններ
Ներբեռնեք և ապամոնտաժեք այն վերջին թողարկում. Գործարկեք այն 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 clone https://github.com/infracost/example-terraform.git
cd օրինակ-terraform/sample1
# Խաղացեք main.tf-ի հետ և նորից գործարկեք՝ ծախսերը համեմատելու համար
ենթակառուցվածքների անսարքություն – ուղի .
# Ցույց տվեք ամսական ծախսերի տարբերությունը, խմբագրեք yml ֆայլը և նորից գործարկեք՝ ծախսերը համեմատելու համար
infracost diff – path . – sync-usage-file –usage-file infracost-usage.yml
4. Ավելացնել CI/CD-ին
Այժմ կարող եք օգտագործել Infracost-ը CI/CD ինտեգրումներ ինքնաբերաբար ավելացնել pull հայտի մեկնաբանությունները, որոնք ցույց են տալիս ծախսերի գնահատման տարբերությունները: Սա նաև ձեզ կտրամադրի անվտանգության ցանց, որը թիմերին հնարավորություն կտա քննարկել փոփոխությունների ծախսերի ազդեցությունը որպես իրենց աշխատանքային հոսքի մաս:
Օգտագործում
The infracost
CLI-ն ունի հետևյալ հիմնական հրամանները.
breakdown
Ցույց տալ ծախսերի ամբողջական բաշխումըdiff
Ցույց տալ ամսական ծախսերի տարբերությունը ընթացիկ և պլանավորված վիճակի միջև
Օգտագործեք Infracost կազմաձևման ֆայլը, եթե ձեր ռեպո-ն ունի բազմաթիվ Terraform նախագծեր կամ աշխատանքային տարածքներ: Դրանց արդյունքները կմիավորվեն նույն բաշխման կամ տարբերվող արդյունքի մեջ:
Ընդլայնված օգտագործում
Infracost-ն ունի նաև օգտագործման տարբեր առաջադեմ մեթոդներ, որոնք կարող են օգտագործվել ի լրումն սովորական օգտագործման մեթոդների: Այս առաջադեմ մեթոդները կարող են օգտագործվել նաև Infracost կազմաձևման ֆայլի միջոցով:
Terraform Plan File
Infracost-ը կարող է գործարկվել Terraform պլանի ֆայլի դեմ, ինչը ենթադրում է, որ դուք արդեն գործարկել եք Terraform-ը init.
Infracost-ը պարզապես աշխատում է Terraform-ումshow
այս դեպքում, այսինքն, այն չի պահանջում ամպային հավատարմագրեր կամ --terraform-plan-flags
սահմանվելիք.
cd ուղի/դեպի/կոդ
երկրաձև սկզբնական
terraform plan -out tfplan.binary
infracost breakdown – path tfplan.binary
infracost diff – path tfplan.binary
Terraform State
Եթե ցանկանում եք տեսնել ներկայիս Terraform վիճակի ծախսերի բաշխումը, դուք պետք է իմանաք infracost breakdown
հրամանն ունի ա --terraform-use-state
դրոշը, որը օգտակար կլինի այս դեպքում: Դուք արդեն պետք է գործարկեք Terraform-ը apply
, ուստի Infracost-ը պարզապես գործարկում է Terraform-ը show
, որը չի պահանջում ամպային հավատարմագրեր կամ --terraform-plan-flags
սահմանվելիք.
infracost breakdown –ուղիների օրինակներ/terraform –terraform-use-state
Terraform State JSON ֆայլ
Դուք կարող եք վազել infracost breakdown
Terraform պետական 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-ի ամպային ծախսերի գնահատման համար:
Թողնել գրառում