Sisällysluettelo[Piilottaa][Näytä]
Infracost on tärkeä DevOpsille, SRE:lle ja kehittäjille, jotka haluavat arvioida pilvikustannuksia infrastruktuuri-as-code -projekteille, kuten Terraform. Infracostin avulla näet nopeasti kustannuserittelyn samalla kun vertaat eri vaihtoehtoja, mikä auttaa saamaan parempia näkemyksiä ennen suurta päätöstä.
Kuinka Infracost toimii?
Infracost voi tarkistaa yli 3 miljoonaa hintaa skannaamalla Terraform-koodisi, ja se tuottaa yksinkertaisen ja helposti luettavan kustannusarvion ennen resurssien käynnistämistä.
Voit myös käyttää Infracostia selvittääksesi, millä koodiriveillä on suurin kustannusvaikutus, koska se kartoittaa kustannukset vetopyyntöjesi resursseihin. Integroimalla Infracostin CI/CD:hen, voit tehdä yhteistyötä tiimisi kanssa ja mahdollistaa keskusteluja olemassa olevan työnkulkusi muutosten vaikutuksista.
Infracost toimii Cloud Pricing API -taustapalvelunsa kautta, ja CLI-työkalun avulla voit jäsentää Terraform-suunnitelman JSON-muodossa. API ristiinviittautuu kunkin käytössä olevan pilviresurssin yksittäisiin kustannuksiin sekä niihin liittyviin kustannusparametreihin pilvipalveluntarjoajan mukaan.
Ohjelma ei vaadi käyttöoikeuksia toimiakseen, eikä se tee muutoksia Terraformiin tai analysoituihin pilviresursseihin. Käyttämällä Terraform-resurssityyppien määrää API varmistaa, että uudet resurssit otetaan huomioon.
Infracost näyttää kustannusten jakautumisen kahdella päätavalla:
A) Kustannusten täydellinen jakautuminen
B) Kuukausikustannusten ero nykyisen ja suunnitellun tilan välillä
Infracostin käytön aloittaminen (askel askeleelta)
Asenna Infracost ja aloita sen käyttö noudattamalla tätä vaiheittaista ohjetta:
1. Asenna Infracost
Ensimmäinen askel aloittamiseen on Infracostin asentaminen, mutta sinun on ensin oltava valmiina terraform asennettu.
Tässä on katsaus Infracostin eri versioihin:
macOS Homebrew:
brew install infracost
infracost -versio # Pitäisi näyttää v0.9.7
macOS käsikirja:
# Lataa CLI:n käyttöjärjestelmän/archin mukaan ja laittaa sen kansioon /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Lataa CLI:n käyttöjärjestelmän/archin mukaan ja laittaa sen kansioon /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Satamatyöläinen:
docker pull infrakustannus/infrakustannus
docker run –rm \
-e INFRACOST_API_KEY=katso_seuraava_vaihe_ kuinka_saat_tämän \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/koodi/ infrakustannus/infrakustannusten erittely –polku /koodi/
# Lisää muut vaaditut liput/envs Infracostia tai Terraformia varten
# Näitä voidaan tarvita esimerkiksi, jos käytät AWS-oletusroolia:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Lataa ja pura Viimeisin julkaisu. Suorita se komentokehotteesta tai Powershellistä käyttämällä .\infracost.exe --no-color
muiden vaadittujen komentojen/lippujen rinnalla (väritulostuksessa on virhe, joka meidän on korjattava Windowsissa). Sinun tulee myös siirtää exe-tiedosto kansioon, joka on sinun PATH
ympäristömuuttuja, esimerkiksi C:\Windows
.
2. Hanki API-avain
Seuraava vaihe on rekisteröityä ilmaiselle API-avaimelle, jota CLI käyttää Cloud Pricing API:lta kyselyyn tehtävissä, kuten instanssityyppien hintojen saamisessa.
Kaikki käyttöjärjestelmät:
infrakustannusrekisteri
Avain on tallennettu ~/.config/infracost/credentials.yml
.
3. Suorita Infracost
Nyt olet valmis käyttämään Infracostia, joka ei tee muutoksia Terraform-tilaan tai pilviresursseihin. Voit suorittaa sen mukana toimitetulla Terraform-projektilla testataksesi sitä.
Kaikki käyttöjärjestelmät:
git-klooni https://github.com/infracost/example-terraform.git
cd esimerkki-terraform/sample1
# Pelaa main.tf:llä ja suorita uudelleen vertaillaksesi kustannuksia
infrakustannusten jakautuminen –polku .
# Näytä kuukausikustannusten ero, muokkaa yml-tiedostoa ja suorita uudelleen vertaillaksesi kustannuksia
infrakustannus ero –polku . –sync-usage-file –usage-file infracost-usage.yml
4. Lisää CI/CD:hen
Nyt voit käyttää Infracostia CI/CD-integraatiot lisätäksesi automaattisesti vetopyyntökommentteja, jotka näyttävät kustannusarvioerot. Tämä tarjoaa sinulle myös turvaverkon, jonka avulla tiimit voivat keskustella muutosten kustannusvaikutuksista osana työnkulkuaan.
Käyttö
- infracost
CLI:ssä on seuraavat pääkomennot:
breakdown
: näytä kustannusten täydellinen erittelydiff
: näytä kuukausikustannusten ero nykyisen ja suunnitellun tilan välillä
Käytä Infracost-määritystiedostoa, jos repossasi on useita Terraform-projekteja tai työtiloja. Niiden tulokset yhdistetään samaan erittely- tai erotulokseen.
Edistynyt käyttö
Infracostissa on myös erilaisia kehittyneitä käyttötapoja, joita voidaan käyttää tavallisten käyttötapojen lisäksi. Näitä edistyneitä menetelmiä voidaan käyttää myös Infracost-määritystiedoston kautta.
Terraform-suunnitelmatiedosto
Infracost voidaan suorittaa Terraform-suunnitelmatiedostoa vastaan, mikä tarkoittaa, että olet jo suorittanut Terraformin init.
Infracost käyttää vain Terraformiashow
Tässä tapauksessa se ei vaadi pilvivalvontatietoja tai --terraform-plan-flags
asetettavaksi.
cd polku/to/koodi
terraform init
terraform plan -out tfplan.binary
infrakustannusten jakautuminen – polku tfplan.binary
infrakustannusero – polku tfplan.binary
Terraformin valtio
Jos haluat nähdä nykyisen Terraform-tilan kustannuserittelyn, sinun tulee tietää infracost breakdown
komennossa on a --terraform-use-state
lippu, mikä osoittautuisi hyödylliseksi tässä tapauksessa. Sinun on jo suoritettava Terraform apply
, joten Infracost käyttää vain Terraformia show
, joka ei vaadi pilvitunnuksia tai --terraform-plan-flags
asetettavaksi.
infrakustannusten jakautuminen – polkuesimerkkejä/terraform – terraformin käyttötila
Terraform State JSON-tiedosto
Voit ajaa infracost breakdown
Terraform State JSON-tiedostoa vastaan. Tämä olisi tilan [JSON-tulostusmuoto] sisäisen JSON-esityksen sijaan. Se on luotava ajamalla terraform show -json
Terraform-projektin sisällä, ja se on erityisen hyödyllinen, jos haluat nähdä nykyisen Terraform-tilan kustannuserittelyn. Tässä tapauksessa se tarkoittaa, että käytät jo Terraformia apply
, eli ei pilvitunnuksia tai --terraform-plan-flags
tarvitaan.
Mitä pilviä ja resursseja tuetaan?
Infracost tukee enemmän kuin 200 Terraform-resurssia AWS:ssä, Googlessa ja Azuressa, kun taas muut IaC-työkalut, kuten Pulumi ja Pilven muodostuminen ovat mukana tiekartassa. Uusien resurssien tukea lisätään jatkuvasti, joten on tärkeää tarkistaa julkaisujen repo.
Yhteenveto
Infracost on hyödyllinen työkalu kehittäjille, DevOps, SRE ja muut, jotka haluavat nopeasti nähdä kustannuserittelyn ja vertailla eri vaihtoehtoja etukäteen. Se on myös hyvä valinta, jos haluat integroida sen CI:n kanssa ja/tai tarvitset tukea AWS:lle ja Google Cloudille. Jos haluat luoda parempaa yhteistyötä tiimisi välille, Infracost voi myös auttaa tässä. Kaikki nämä ominaisuudet tekevät siitä työkalun, jonka käyttöönottoa Terraformin pilvikustannusarvioissa kannattaa harkita.
Jätä vastaus