Infracost dị mkpa maka DevOps, SRE, na ndị mmepe na-achọ ịkọ ọnụ ahịa igwe ojii maka ọrụ akụrụngwa-dị ka koodu dị ka Terraform. Na Infracost, ị nwere ike ịhụ ngwa ngwa ndakpọ ọnụ ahịa mgbe ị na-atụnyere nhọrọ dị iche iche, nke na-enyere aka mee ka nghọta dịkwuo mma tupu mkpebi buru ibu.
Kedu ka Infracost si arụ ọrụ?
Infracost nwere ike ịlele ihe karịrị ọnụ ahịa nde 3 site na inyocha koodu Terraform gị, ọ na-ewepụta atụmatụ ọnụ ahịa dị mfe ma dị mfe ọgụgụ tupu ịmalite akụrụngwa.
Ị nwekwara ike iji Infracost mara nke ahịrị koodu nwere mmetụta kachasị ọnụ ebe ọ bụ na ọ na-akwụ ụgwọ ego na arịrịọ gị. Site na itinye Infracost n'ime CI / CD gị, ị nwere ike imekọ ihe na ndị otu gị wee mee ka mkparịta ụka gbasara mmetụta mgbanwe na usoro ọrụ gị dị ugbu a.
Infracost na-arụ ọrụ site na ọrụ nkwado Cloud Pricing API, yana site na ngwa CLI, ị nwere ike tugharia atụmatụ Terraform n'ụdị JSON. Ntụtụ aka n'ofe API nke onye ọ bụla nke akụrụngwa igwe ojii na-eji, yana oke ọnụ ahịa ha metụtara dabere na onye na-eweta igwe ojii.
Mmemme ahụ achọghị nzere ọ bụla iji rụọ ọrụ, ọ nweghịkwa mgbanwe ọ bụla na Terraform ma ọ bụ akụrụngwa igwe ojii nyochara. Site na iji ọnụọgụ nke ụdị akụrụngwa Terraform, API na-ahụ na a na-agụta akụrụngwa ọhụrụ.
Enwere ụzọ abụọ bụ isi Infracost na-egosi nbibi nke ọnụ ahịa:
A) Nhazi nke ọnụ ahịa zuru oke
B) Ọdịiche nke Ọnụ ego kwa ọnwa n'etiti steeti dị ugbu a na nke akwadoro
Na-amalite na Infracost (Nzọụkwụ-site-nzọụkwụ)
Soro ntuziaka nzọụkwụ site na ịwụnye ma malite iji Infracost:
1. Wụnye Infracost
Nzọụkwụ mbụ ịmalite bụ ịwụnye Infracost, mana ị ga-ebu ụzọ nwee Terraform arụnyere.
Nke a bụ anya na ụdị Infracost dị iche iche:
MacOS Homebrew:
ime biya tinye infracost
infracost -ụdị # Kwesịrị igosi v0.9.7
MacOS akwụkwọ ntuziaka:
# Na-ebudata CLI dabere na OS / arch gị wee tinye ya na /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Na-ebudata CLI dabere na OS / arch gị wee tinye ya na /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Docker:
docker na-adọta infracost/infracost
docker run –rm \
-e INFRACOST_API_KEY=hụ_nzọụkwụ_nzọụkwụ_na_esi_enweta nke a \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD /: / koodu / infracost / infracost mmebi - ụzọ / koodu /
# Tinye ọkọlọtọ / envs ndị ọzọ achọrọ maka Infracost ma ọ bụ Terraform
# Dịka ọmụmaatụ, enwere ike ịchọ ihe ndị a ma ọ bụrụ na ị na-eji ọrụ AWS:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Budata ma wepụ ya ọpụpụ ọhụrụ. Gbaa ya site na Command Prompt ma ọ bụ Powershell iji .\infracost.exe --no-color
n'akụkụ iwu / ọkọlọtọ ndị ọzọ achọrọ (mpụta agba nwere ahụhụ anyị kwesịrị idozi na Windows). I kwesịkwara ibugharị faịlụ exe na folda dị na gị PATH
mgbanwe gburugburu ebe obibi, dika C:\Windows
.
2. Nweta igodo API
Nzọụkwụ na-esote bụ ịdebanye aha maka igodo API efu, nke CLI na-eji jụọ Cloud Pricing API maka ọrụ dị ka ịnweta ọnụahịa maka ụdị ihe atụ.
Sistemụ arụ ọrụ niile:
ndekọ infracost
A na-echekwa igodo ahụ na ~/.config/infracost/credentials.yml
.
3. Gbaa Infracost
Ugbu a ị dịla njikere ịgba ọsọ Infracost, nke na-adịghị eme mgbanwe ọ bụla na steeti Terraform ma ọ bụ akụrụngwa igwe ojii. Ị nwere ike iji ọrụ Terraform nyere ya iji nwalee ya.
Sistemụ arụ ọrụ niile:
git clone https://github.com/infracost/example-terraform.git
cd ihe atụ-terraform/sample1
# Jiri main.tf gwuo ma megharịa ka atụnyere ọnụ ahịa
mmebi infracost - ụzọ .
# Gosi ego dị iche iche kwa ọnwa, dezie faịlụ yml wee megharịa ka atụnyere ọnụ ahịa
infracost diff - ụzọ . -sync-usage-file -usage-file infracost-usage.yml
4. Tinye na CI/CD
Ị nwere ike iji Infracost's ugbu a Ngwakọta CI/CD ka ịtinye nzaghachi arịrịọ dọpụta na-akpaghị aka, nke na-egosi na atụmatụ ọnụ ahịa dị iche. Nke a ga-enyekwa gị nchekwa nchekwa, na-eme ka ndị otu nwee ike kparịta mmetụta ọnụ ahịa mgbanwe dị ka akụkụ nke usoro ọrụ ha.
ojiji
The infracost
CLI nwere iwu ndị a bụ isi:
breakdown
: gosi nbibi nke akwụ ụgwọdiff
: gosi dị iche iche nke ụgwọ ọnwa n'etiti ugbu a na steeti atụmatụ
Jiri faịlụ nhazi Infracost ma ọ bụrụ na repo nwere ọtụtụ ọrụ Terraform ma ọ bụ oghere ọrụ. A ga-ejikọta nsonaazụ ha n'ime otu ndakpọ ma ọ bụ mmepụta dị iche.
Ojiji di elu
Infracost nwekwara usoro ojiji dị elu dị iche iche enwere ike iji na mgbakwunye na usoro ojiji oge niile. Enwere ike iji ụzọ ndị a dị elu site na faịlụ nhazi Infracost.
Faịlụ atụmatụ Terraform
Enwere ike ịgba ọsọ infracost megide faịlụ atụmatụ Terraform, nke pụtara na ị na-agbala Terraform init.
Infracost na-arụ ọrụ Terraformshow
na nke a, nke pụtara na ọ dịghị achọ ígwé ojii nzere ma ọ bụ --terraform-plan-flags
a ga -edobe ya.
ụzọ cd/to/koodu
terraform init
terraform atụmatụ -out tfplan.binary
mmebi infracost - ụzọ tfplan.binary
infracost diff – ụzọ tfplan.binary
Steeti Terraform
Ọ bụrụ na ịchọrọ ịhụ nkwụghachi ụgwọ nke steeti Terraform dị ugbu a, ị kwesịrị ịma nke ahụ infracost breakdown
iwu nwere a --terraform-use-state
ọkọlọtọ, nke ga-egosi na ọ bara uru na nke a. Ị ga-agbarịrị Terraform apply
, yabụ Infracost na-agba naanị Terraform show
, nke na-adịghị achọ ígwé ojii nzere ma ọ bụ --terraform-plan-flags
a ga -edobe ya.
ndakpọ infracost-ụzọ atụ/terraform –terraform-use-state
Terraform State faịlụ JSON
Ị nwere ike ịgba ọsọ infracost breakdown
megide faịlụ JSON steeti Terraform. Nke a ga-abụ [ụdị mmepụta JSON] nke steeti kama ịnọchite anya JSON dị n'ime. A ghaghị ime ya site na ịgba ọsọ terraform show -json
n'ime ọrụ Terraform, ma ọ bara uru karịsịa ma ọ bụrụ na ịchọrọ ịhụ nkwụsị ọnụ ahịa nke steeti Terraform dị ugbu a. N'okwu a, ọ na-egosi na ị na-agba ọsọ Terraform apply
, nke pụtara enweghị ígwé ojii nzere ma ọ bụ --terraform-plan-flags
achọrọ.
Kedu igwe ojii na akụrụngwa akwadoro?
Infracost na-akwado karịa 200 Terraform akụrụngwa gafee AWS, Google, na Azure, ebe ngwaọrụ IaC ndị ọzọ na-amasị Pulumi na Nhazi igwe ojii agụnyere na map okporo ụzọ. A na-agbakwunye nkwado maka akụrụngwa ọhụrụ mgbe niile, yabụ ọ dị mkpa ịlele repo maka mwepụta.
mmechi
Infracost na-enye aka ngwá ọrụ maka mmepe, DevOps, SRE, na ndị ọzọ na-achọ ngwa ngwa ịhụ nkwụsị ọnụ ahịa ma tụnyere nhọrọ dị iche iche n'ihu. Ọ bụkwa ezigbo nhọrọ ma ọ bụrụ na ị na-achọ ijikọ ya na CI na / ma ọ bụ mkpa nkwado maka AWS na Google Cloud. Ọ bụrụ na ịchọrọ ịmepụta mmekọrịta ka mma n'etiti otu gị, Infracost nwekwara ike inye aka na nke ahụ. Atụmatụ ndị a niile na-eme ka ọ bụrụ ngwá ọrụ ị kwesịrị ị na-atụle nke ọma imejuputa maka atụmatụ ọnụahịa igwe ojii maka Terraform.
Nkume a-aza