Atọka akoonu[Fipamọ][Ifihan]
Infracost jẹ pataki fun DevOps, SRE, ati awọn olupilẹṣẹ ti n wa lati ṣe iṣiro awọn idiyele awọsanma fun awọn iṣẹ amayederun-bi-koodu gẹgẹbi Terraform. Pẹlu Infracost, o le yara ri idinku iye owo lakoko ti o ṣe afiwe awọn aṣayan oriṣiriṣi, eyiti o ṣe iranlọwọ fun awọn imọran ti o dara julọ ṣaaju ipinnu nla kan.
Bawo ni Infracost Ṣiṣẹ?
Infracost le ṣayẹwo diẹ sii ju awọn idiyele miliọnu 3 nipa ṣiṣayẹwo koodu Terraform rẹ, ati pe o ṣe agbejade iṣiro idiyele ti o rọrun ati irọrun lati ka ṣaaju ki o to bẹrẹ awọn orisun.
O tun le lo Infracost lati mọ iru awọn ila ti koodu ni ipa idiyele idiyele ti o tobi julọ niwon o ṣe afihan iye owo si awọn orisun ninu awọn ibeere fifa rẹ. Nipa sisọpọ Infracost sinu CI / CD rẹ, o le ṣe ifowosowopo pẹlu ẹgbẹ rẹ ki o mu awọn ijiroro ṣiṣẹ lori ipa ti awọn ayipada ninu iṣan-iṣẹ ti o wa tẹlẹ.
Infracost n ṣiṣẹ nipasẹ iṣẹ ẹhin API Pricing Pricing API, ati pẹlu ọpa CLI, o le ṣe itupalẹ ero Terraform kan ni ọna kika JSON. Itọkasi-agbelebu API ni iye owo kọọkan ti orisun orisun awọsanma ti o wa ni lilo, bakanna bi awọn ipilẹ iye owo ti o ni ibatan ti o da lori olupese awọsanma.
Eto naa ko nilo awọn iwe-ẹri eyikeyi lati ṣiṣẹ, ati pe ko ṣe awọn iyipada eyikeyi si Terraform tabi si awọn orisun awọsanma ti a ṣe atupale. Nipa lilo kika awọn iru orisun Terraform, API ṣe idaniloju pe awọn orisun tuntun ni iṣiro fun.
Awọn ọna akọkọ meji wa Infracost ṣe afihan didenukole ti awọn idiyele:
A) Idiyele kikun ti Awọn idiyele
B) Iyatọ ti Awọn idiyele Oṣooṣu Laarin Lọwọlọwọ ati Ipinle Eto
Bibẹrẹ Pẹlu Infracost (Igbese-nipasẹ-Igbese)
Tẹle itọsọna igbese-nipasẹ-igbesẹ yii lati fi sori ẹrọ ati bẹrẹ lilo Infracost:
1. Fi Infracost sori ẹrọ
Igbesẹ akọkọ lati bẹrẹ ni lati fi Infracost sori ẹrọ, ṣugbọn o gbọdọ kọkọ ni tẹlẹ Ilana ipilẹ fi sori ẹrọ.
Eyi ni wiwo awọn ẹya oriṣiriṣi ti Infracost:
MacOS Homebrew:
pọnti fi sori ẹrọ infracost
infracost –version # Yẹ ki o ṣafihan v0.9.7
MacOS Afowoyi:
# Ṣe igbasilẹ CLI ti o da lori OS/arch rẹ ati fi sii sinu /usr/agbegbe/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Lainos:
# Ṣe igbasilẹ CLI ti o da lori OS/arch rẹ ati fi sii sinu /usr/agbegbe/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Docker:
docker fa infracost / infracost
docker run –rm \
-e INFRACOST_API_KEY=wo_igbese_tele_lori_bi_le_gba_eyi \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/koodu/ infracost/infracost didenukole –ona / koodu/
# Ṣafikun awọn asia / envs miiran ti o nilo fun Infracost tabi Terraform
# Fun apẹẹrẹ, iwọnyi le nilo ti o ba nlo ipa AWS:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Gbaa lati ayelujara ati yọọ kuro igbasilẹ titun. Ṣiṣe lati aṣẹ Tọ tabi Powershell ni lilo .\infracost.exe --no-color
lẹgbẹẹ awọn aṣẹ miiran ti a beere / awọn asia (ijade awọ ni kokoro ti a nilo lati ṣatunṣe lori Windows). O yẹ ki o tun gbe faili exe si folda ti o wa ninu rẹ PATH
oniyipada ayika, fun apẹẹrẹ C:\Windows
.
2. Gba API Key
Igbesẹ ti o tẹle ni lati forukọsilẹ fun bọtini API ọfẹ, eyiti CLI nlo lati beere API Pricing API fun awọn iṣẹ ṣiṣe bii gbigba awọn idiyele fun apẹẹrẹ awọn iru.
Gbogbo Awọn ọna ṣiṣe:
iforukọsilẹ infracost
Bọtini naa ti wa ni fipamọ sinu ~/.config/infracost/credentials.yml
.
3. Ṣiṣe Infracost
Bayi o ti ṣetan lati ṣiṣẹ Infracost, eyiti ko ṣe awọn ayipada eyikeyi si ipo Terraform tabi awọn orisun awọsanma. O le ṣiṣẹ pẹlu iṣẹ akanṣe Terraform ti a pese lati ṣe idanwo rẹ.
Gbogbo Awọn ọna ṣiṣe:
git clone https://github.com/infracost/example-terraform.git
cd apẹẹrẹ-terraform/sample1
# Mu ṣiṣẹ pẹlu main.tf ki o tun ṣiṣẹ lati ṣe afiwe awọn idiyele
infracost didenukole-ona.
# Ṣe afihan iyatọ ti awọn idiyele oṣooṣu, ṣatunkọ faili yml ki o tun ṣiṣẹ lati ṣe afiwe awọn idiyele
infracost diff –ona. -sync-usage-faili –usage-faili infracost-usage.yml
4. Fi si CI / CD
O le lo awọn Infracost's bayi CI / CD awọn akojọpọ lati ṣafikun awọn asọye ibeere fifa laifọwọyi, eyiti o fihan ọ ni idiyele idiyele idiyele. Eyi yoo tun fun ọ ni safiẹti kan, ti n fun awọn ẹgbẹ laaye lati jiroro lori ipa iye owo ti awọn iyipada gẹgẹ bi apakan ti ṣiṣan iṣẹ wọn.
lilo
awọn infracost
CLI ni awọn aṣẹ akọkọ wọnyi:
breakdown
: fihan ni kikun didenukole ti owodiff
: ṣafihan iyatọ ti awọn idiyele oṣooṣu laarin lọwọlọwọ ati ipinlẹ ti a pinnu
Lo faili atunto Infracost ti repo rẹ ba ni awọn iṣẹ akanṣe Terraform pupọ tabi awọn aye iṣẹ. Awọn abajade wọn yoo ni idapo sinu didenukole kanna tabi iṣelọpọ iyatọ.
Lilo ilosiwaju
Infracost tun ni ọpọlọpọ awọn ọna lilo ilọsiwaju ti o le ṣee lo ni afikun si awọn ọna lilo deede. Awọn ọna ilọsiwaju wọnyi le ṣee lo nipasẹ faili atunto Infracost daradara.
Terraform Eto Faili
Infracost le ṣiṣẹ lodi si faili ero Terraform kan, eyiti o tumọ si pe o ti ṣiṣẹ Terraform tẹlẹ init.
Infracost kan nṣiṣẹ Terraformshow
ninu apere yi, afipamo pe o ko ni beere awọsanma ẹrí tabi --terraform-plan-flags
lati ṣeto.
cd ona/to/koodu
terraform init
terraform ètò -jade tfplan.binary
infracost didenukole -ona tfplan.binary
infracost diff –ona tfplan.binary
Terraform State
Ti o ba fẹ lati rii didenukole idiyele ti ipo Terraform lọwọlọwọ, o yẹ ki o mọ awọn infracost breakdown
pipaṣẹ ni o ni a --terraform-use-state
flag, eyi ti yoo fi mule wulo ninu apere yi. O gbọdọ ti ṣiṣẹ Terraform tẹlẹ apply
, nitorina Infracost kan nṣiṣẹ Terraform show
, eyi ti ko beere awọsanma ẹrí tabi --terraform-plan-flags
lati ṣeto.
infracost didenukole -awọn apẹẹrẹ awọn ọna / terraform -terraform-lilo-ipinle
Terraform State JSON Faili
O le ṣiṣe awọn infracost breakdown
lodi si Terraform ipinle JSON faili. Eyi yoo jẹ [kika igbejade JSON] ti ipinlẹ dipo aṣoju JSON inu. O gbọdọ jẹ ipilẹṣẹ nipasẹ ṣiṣe terraform show -json
inu iṣẹ akanṣe Terraform, ati pe o wulo julọ ti o ba fẹ lati rii idinku idiyele ti ipo Terraform lọwọlọwọ. Ni ọran yii, o tumọ si pe o ti ṣiṣẹ Terraform tẹlẹ apply
, afipamo ko si awọsanma ẹrí tabi --terraform-plan-flags
ti beere fun.
Awọn Awọsanma ati Awọn orisun wo ni Ṣe atilẹyin?
Infracost ṣe atilẹyin diẹ sii ju 200 Terraform oro kọja AWS, Google, ati Azure, lakoko ti awọn irinṣẹ IaC miiran fẹran Pulumi ati Awọsanma ti wa ni o wa ninu awọn Roadmap. Atilẹyin fun awọn orisun tuntun ni a ṣafikun nigbagbogbo, nitorinaa o ṣe pataki lati ṣayẹwo repo fun awọn idasilẹ.
ipari
Infracost jẹ iranlọwọ ọpa fun kóòdù, DevOps, SRE, ati awọn miiran n wa lati yara wo idinku iye owo ati ṣe afiwe awọn aṣayan oriṣiriṣi ni iwaju. O tun jẹ yiyan ti o dara ti o ba n wa lati ṣepọ pẹlu CI ati/tabi nilo atilẹyin fun AWS ati Google Cloud. Ti o ba fẹ ṣẹda ifowosowopo to dara julọ laarin ẹgbẹ rẹ, Infracost tun le ṣe iranlọwọ ni iru eyi. Gbogbo awọn ẹya wọnyi jẹ ki o jẹ ohun elo ti o yẹ ki o ronu ni ilodi si imuse fun awọn iṣiro idiyele idiyele awọsanma fun Terraform.
Fi a Reply