Table of Contents[Hūnā][Hōʻike]
He mea koʻikoʻi ka Infracost no DevOps, SRE, a me nā mea hoʻomohala e ʻimi ana e koho i nā kumukūʻai ao no nā papahana-as-code e like me Terraform. Me Infracost, hiki iā ʻoe ke ʻike koke i ka hoʻohaʻahaʻa kumukūʻai i ka wā e hoʻohālikelike ai i nā koho like ʻole, e kōkua i ke alakaʻi ʻana i nā ʻike maikaʻi aʻe ma mua o kahi hoʻoholo nui.
Pehea e hana ai ka Infracost?
Hiki iā Infracost ke nānā ma luna o 3 miliona mau kumukūʻai ma ka nānā ʻana i kāu code Terraform, a hoʻopuka ia i kahi kumukūʻai maʻalahi a maʻalahi e heluhelu ma mua o kou hoʻomaka ʻana i nā kumuwaiwai.
Hiki iā ʻoe ke hoʻohana i ka Infracost no ka ʻike ʻana i nā laina o ke code i loaʻa ka hopena koʻikoʻi loa mai ka palapala ʻāina i ke kumu kūʻai i kāu mau noi huki. Ma ka hoʻohui ʻana i ka Infracost i kāu CI/CD, hiki iā ʻoe ke hana pū me kāu hui a hiki i nā kūkākūkā e pili ana i ka hopena o nā loli i kāu kaila hana.
Ke hana nei ʻo Infracost ma o kāna lawelawe ʻo Cloud Pricing API backend, a me ka hāmeʻa CLI, hiki iā ʻoe ke hoʻokaʻawale i kahi hoʻolālā Terraform ma JSON format. Hoʻopili ka API i ke kumukūʻai pākahi o kēlā me kēia punawai kapua i hoʻohana ʻia, a me kā lākou mau palena kumukūʻai pili e pili ana i ka mea hāʻawi kapua.
ʻAʻole koi ka papahana i nā hōʻoia no ka hana ʻana, ʻaʻole ia e hoʻololi i Terraform a i ʻole nā kumuwaiwai kapuaʻi i kālailai ʻia. Ma ka hoʻohana ʻana i ka helu o nā ʻano kumu waiwai Terraform, hōʻoia ka API e helu ʻia nā kumuwaiwai hou.
ʻElua mau ala nui e hōʻike ai ʻo Infracost i ka haki ʻana o nā kumukūʻai:
A) Hoʻokaʻawale piha i nā kumukūʻai
B) ʻokoʻa o nā kumukūʻai o kēlā me kēia mahina ma waena o ka mokuʻāina o kēia manawa a me ka mokuʻāina i hoʻolālā ʻia
E hoʻomaka me ka Infracost (Step-by-Step)
E hahai i kēia alakaʻi i kēlā me kēia ʻanuʻu e hoʻokomo a hoʻomaka i ka hoʻohana ʻana iā Infracost:
1. E hoʻouka i ka Infracost
ʻO ka hana mua e hoʻomaka ai e hoʻokomo iā Infracost, akā pono ʻoe e loaʻa mua ʻOhana hoʻoponopono hoʻonohoʻia.
Eia ka nānā ʻana i nā ʻano like ʻole o Infracost:
macOS Homebrew:
brew install infracost
infracost –version # Pono e hōʻike i ka v0.9.7
manual macOS:
# Hoʻoiho i ka CLI e pili ana i kāu OS/arch a waiho i loko /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Hoʻoiho i ka CLI e pili ana i kāu OS/arch a waiho i loko /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Pākuʻi:
hoʻokuʻu ʻia e ka docker i ka infracost/infracost
holo docker –rm \
-e INFRACOST_API_KEY=e ʻike_keia_keia
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ infracost/infracost breakdown –alanui /code/
# Hoʻohui i nā hae/envs e pono ai no Infracost a i ʻole Terraform
# No ka laʻana, pono paha kēia inā ʻoe e hoʻohana nei i ka AWS assume-role:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
ʻO Windows:
Hoʻoiho a wehe i ka hōʻike hou. Holo ia mai ka Command Prompt a i ʻole Powershell me ka hoʻohana ʻana .\infracost.exe --no-color
ma ka ʻaoʻao ʻē aʻe o nā kauoha a me nā hae (ʻo ka waihoʻoluʻu waihoʻoluʻu he pahu e pono ai mākou e hoʻoponopono ma Windows). Pono ʻoe e hoʻoneʻe i ka faila exe i kahi waihona i loko o kāu PATH
loli nohona, p C:\Windows
.
2. E kiʻi i kahi kī API
ʻO ka hana aʻe, ʻo ke kākau inoa ʻana no kahi kī API manuahi, a ka CLI e hoʻohana ai e nīnau i ka Cloud Pricing API no nā hana e like me ka loaʻa ʻana o nā kumukūʻai no nā ʻano laʻana.
Nā ʻōnaehana hana a pau:
hoʻopaʻa inoa infracost
Mālama ʻia ke kī i loko ~/.config/infracost/credentials.yml
.
3. Holo i ka Infracost
I kēia manawa ua mākaukau ʻoe e holo i ka Infracost, ʻaʻole ia e hoʻololi i kāu mokuʻāina ʻo Terraform a i ʻole nā waiwai ao. Hiki iā ʻoe ke holo me ka papahana Terraform i hāʻawi ʻia e hoʻāʻo ai.
Nā ʻōnaehana hana a pau:
git clone https://github.com/infracost/example-terraform.git
cd example-terraform/sample1
# Pāʻani me main.tf a holo hou e hoʻohālikelike i nā kumukūʻai
infracost breakdown –alanui .
# Hōʻike i ka ʻokoʻa o nā kumukūʻai o kēlā me kēia mahina, hoʻoponopono i ka faila yml a holo hou e hoʻohālikelike i nā kumukūʻai
infracost diff –alanui . –sync-usage-file –usage-file infracost-usage.yml
4. Hoʻohui i ka CI/CD
Hiki iā ʻoe ke hoʻohana iā Infracost's Hoʻohui CI/CD e hoʻohui ʻakomi i nā manaʻo noi no ka huki ʻana, e hōʻike ana iā ʻoe i nā ʻokoʻa koho kumukūʻai. Hāʻawi kēia iā ʻoe i kahi ʻupena palekana, e hiki ai i nā hui ke kūkākūkā i ka hopena o ke kumukūʻai o nā loli ma ke ʻano o kā lākou kaʻina hana.
hoʻohana
ka infracost
Loaʻa iā CLI nā kauoha nui:
breakdown
: hōʻike i ka haʻihaʻi piha o nā koinadiff
: hōʻike i ka ʻokoʻa o nā koina o kēlā me kēia mahina ma waena o ka mokuʻāina o kēia manawa a me ka mokuʻāina i hoʻolālā ʻia
E hoʻohana i kahi faila Infracost config inā loaʻa i kāu repo nā papahana Terraform a i ʻole nā wahi hana. E hoʻohui ʻia kā lākou hopena i ka hoʻokaʻawale like a i ʻole nā huaʻokoʻa.
Hoʻohana Pae holomua
Loaʻa i ka Infracost nā ʻano hana hoʻohana kiʻekiʻe e hiki ke hoʻohana i ka hoʻohui ʻana i nā ʻano hoʻohana maʻamau. Hiki ke hoʻohana ʻia kēia mau ala holomua ma o kahi faila Infracost config pū kekahi.
File Plan Terraform
Hiki ke holo ʻo Infracost e kūʻē i kahi faila hoʻolālā Terraform, ʻo ia hoʻi, ua holo mua ʻoe iā Terraform init.
Holo wale ʻo Infracost iā Terraformshow
i kēia hihia, ʻo ia hoʻi, ʻaʻole ia e koi i nā hōʻoia ao a i ʻole --terraform-plan-flags
e hoʻonoho ʻia.
cd ala/i/code
terraform init
hoʻolālā terraform -out tfplan.binary
infracost breakdown –path tfplan.binary
infracost diff –path tfplan.binary
Mokuʻāina Terraform
Inā makemake ʻoe e ʻike i ke kumukūʻai o ka mokuʻāina ʻo Terraform o kēia manawa, pono ʻoe e ʻike i ka infracost breakdown
kauoha he --terraform-use-state
hae, i mea e pono ai i keia hihia. Pono ʻoe e holo i ka Terraform apply
, no laila ke holo wale nei ʻo Infracost iā Terraform show
, ʻaʻole koi i nā hōʻoia ao a i ʻole --terraform-plan-flags
e hoʻonoho ʻia.
infracost breakdown –path examples/terraform –terraform-use-state
Kōnae JSON Moku'āina Terraform
Hiki iāʻoe ke holo i ka infracost breakdown
e kūʻē i kahi faila JSON mokuʻāina Terraform. ʻO kēia ka [JSON output format] o ka mokuʻāina ma kahi o ka hōʻike JSON kūloko. Pono e hana ʻia ma ka holo ʻana terraform show -json
i loko o kahi papahana Terraform, a he mea maikaʻi loa ia inā makemake ʻoe e ʻike i ka haki ʻana o ke kumukūʻai o ka mokuʻāina ʻo Terraform i kēia manawa. I kēia hihia, manaʻo ia ua holo mua ʻoe iā Terraform apply
, ʻo ia hoʻi, ʻaʻohe hōʻoia ao a i ʻole --terraform-plan-flags
makemakeʻia.
ʻO wai nā ao a me nā kumuwaiwai i kākoʻo ʻia?
Kākoʻo ʻo Infracost ma mua o 200 Nā kumuwaiwai Terraform ma waena o AWS, Google, a me Azure, aʻo nā mea hana IaC e like me Pulumi a Cloudform ua komo i ka palapala alanui. Hoʻohui mau ʻia ke kākoʻo no nā kumuwaiwai hou, no laila he mea nui e nānā i ka repo no nā hoʻokuʻu.
Panina
He mea kōkua ʻo Infracost mea hana no nā mea hoʻomohala, DevOps, SRE, a me nā mea ʻē aʻe e ʻimi nei e ʻike koke i ka haʻihaʻi kumukūʻai a hoʻohālikelike i nā koho like ʻole i mua. He koho maikaʻi nō hoʻi inā ke ʻimi nei ʻoe e hoʻohui me CI a / a i ʻole ke kākoʻo no AWS a me Google Cloud. Inā makemake ʻoe e hana i ka launa pū ʻana ma waena o kāu hui, hiki nō iā Infracost ke kōkua i kēlā ʻano. ʻO kēia mau hiʻohiʻona āpau he mea hana ia e noʻonoʻo pono ai ʻoe i ka hoʻokō ʻana i nā kuhi kumukūʻai kapua no Terraform.
Waiho i ka Reply