Гарчиг[Нуух][Үзүүлэх]
Infracost нь DevOps, SRE болон Terraform зэрэг дэд бүтцийн төслүүдийн үүлний зардлыг тооцоолохыг эрэлхийлж буй хөгжүүлэгчдэд чухал юм. Infracost-ийн тусламжтайгаар та янз бүрийн хувилбаруудыг харьцуулах явцдаа зардлын задаргааг хурдан харах боломжтой бөгөөд энэ нь томоохон шийдвэр гаргахаас өмнө илүү сайн ойлголттой болоход тусална.
Infracost хэрхэн ажилладаг вэ?
Infracost нь таны Terraform кодыг сканнердсанаар 3 сая гаруй үнийг шалгах боломжтой бөгөөд нөөцөө нээхээс өмнө энгийн бөгөөд уншихад хялбар зардлын тооцоог гаргадаг.
Мөн та Infracost-ийг ашиглаж, кодын аль мөр нь зардалд хамгийн их нөлөөлдөгийг мэдэх боломжтой, учир нь энэ нь таны татах хүсэлтүүд дэх нөөцийн зардлыг тооцдог. Infracost-ийг CI/CD-дээ нэгтгэснээр та багтайгаа хамтран ажиллаж, одоо байгаа ажлын урсгалд гарсан өөрчлөлтийн нөлөөллийн талаар ярилцах боломжтой.
Infracost нь Cloud Pricing API backend үйлчилгээгээр дамжуулан ажилладаг бөгөөд CLI хэрэгслээр та Terraform төлөвлөгөөг JSON форматаар задлан шинжлэх боломжтой. API нь ашиглагдаж буй үүлэн нөөц бүрийн хувь хүний өртөг, мөн үүлэн үйлчилгээ үзүүлэгч дээр суурилсан холбогдох зардлын параметрүүдийг хооронд нь холбодог.
Хөтөлбөр нь ажиллахын тулд ямар нэгэн итгэмжлэл шаарддаггүй бөгөөд Terraform эсвэл дүн шинжилгээ хийсэн үүлэн нөөцөд ямар ч өөрчлөлт оруулдаггүй. Terraform нөөцийн төрлүүдийн тоог ашигласнаар API нь шинэ нөөцийг бүртгэхийг баталгаажуулдаг.
Infracost зардлын задаргааг харуулах хоёр үндсэн арга байдаг:
A) Зардлын бүрэн задаргаа
B) Одоогийн болон төлөвлөсөн улсын сарын зардлын зөрүү
Infracost-ийг эхлүүлэх (алхам алхмаар)
Infracost суулгаж, ашиглаж эхлэхийн тулд энэ алхам алхмаар зааварчилгааг дагана уу:
1. Infracost суулгана
Эхлэх эхний алхам бол Infracost-ийг суулгах явдал боловч та эхлээд суулгасан байх ёстой Терраформ суулгасан.
Infracost-ийн янз бүрийн хувилбаруудыг эндээс харна уу:
macOS Homebrew:
Brew install infracost
infracost – хувилбар # v0.9.7 харуулах ёстой
macOS гарын авлага:
# Өөрийн үйлдлийн систем/arch дээр тулгуурлан CLI-г татаж аваад /usr/local/bin-д оруулна
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | Ш
Линукс:
# Өөрийн үйлдлийн систем/arch дээр тулгуурлан CLI-г татаж аваад /usr/local/bin-д оруулна
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | Ш
Докер:
docker pull infracost/infracost
docker run –rm \
-e INFRACOST_API_KEY=үүнийг хэрхэн_авах_алхамыг_харна уу \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ infracost/infracost задаргаа –зам /код/
# Infracost эсвэл Terraform-д шаардлагатай бусад тугуудыг нэмнэ үү
# Жишээлбэл, хэрэв та AWS assume-role ашиглаж байгаа бол эдгээр шаардлагатай байж магадгүй:
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Татаж аваад задлаарай хамгийн сүүлийн үеийн хувилбар. Үүнийг командын мөр эсвэл Powershell-ээс ажиллуулна уу .\infracost.exe --no-color
бусад шаардлагатай тушаалууд/тугуудын хажууд (өнгөт гаралт нь Windows дээр засах шаардлагатай алдаатай). Та мөн exe файлыг өөрийн байгаа хавтас руу зөөх хэрэгтэй PATH
орчны хувьсагч, жишээ нь C:\Windows
.
2. API түлхүүр авах
Дараагийн алхам бол CLI нь жишээний төрлүүдийн үнийг авах зэрэг ажлуудад Cloud Pricing API-г асуухад ашигладаг үнэгүй API түлхүүрийг бүртгүүлэх явдал юм.
Бүх үйлдлийн системүүд:
дэд өртгийн бүртгэл
Түлхүүрийг хадгалсан ~/.config/infracost/credentials.yml
.
3. Infracost програмыг ажиллуул
Одоо та Infracost-ийг ажиллуулахад бэлэн болсон бөгөөд энэ нь таны Terraform төлөв эсвэл үүлэн нөөцөд ямар ч өөрчлөлт оруулдаггүй. Та үүнийг туршиж үзэхийн тулд өгсөн Terraform төслөөр ажиллуулж болно.
Бүх үйлдлийн системүүд:
git клон https://github.com/infracost/example-terraform.git
cd жишээ-terraform/sample1
# main.tf-ээр тоглож, зардлаа харьцуулахын тулд дахин ажиллуулаарай
дэд өртгийн задаргаа – зам .
# Сарын зардлын зөрүүг харуулж, yml файлыг засварлаж, зардлаа харьцуулахын тулд дахин ажиллуулна уу
infracost diff – зам . –sync-usage-file –usage-file infracost-usage.yml
4. CI/CD-д нэмнэ үү
Та одоо Infracost-ийг ашиглаж болно CI/CD нэгтгэлүүд Зардлын тооцооны зөрүүг харуулах татах хүсэлтийн тайлбарыг автоматаар нэмэх. Энэ нь таныг хамгаалалтын сүлжээгээр хангаж, багууд ажлын явцынхаа нэг хэсэг болгон өөрчлөлтийн зардлын нөлөөллийн талаар ярилцах боломжтой болно.
Хэрэглээ
The infracost
CLI нь дараах үндсэн командуудтай.
breakdown
: зардлын бүрэн задаргааг харуулнаdiff
: одоогийн болон төлөвлөсөн төлөвийн сарын зардлын зөрүүг харуулна
Хэрэв таны репо олон Terraform төсөл эсвэл ажлын талбартай бол Infracost тохиргооны файлыг ашиглаарай. Тэдний үр дүнг ижил задаргаа эсвэл ялгаатай гаралт болгон нэгтгэнэ.
Нарийвчилсан хэрэглээ
Infracost нь ердийн хэрэглээний аргуудаас гадна ашиглаж болох төрөл бүрийн дэвшилтэт хэрэглээний аргуудтай. Эдгээр дэвшилтэт аргуудыг Infracost тохиргооны файлаар дамжуулан ашиглаж болно.
Терраформ төлөвлөгөөний файл
Infracost-ийг Terraform төлөвлөгөөний файлын эсрэг ажиллуулж болох бөгөөд энэ нь таныг аль хэдийн Terraform-г ажиллуулсан гэсэн үг юм init.
Infracost зүгээр л Terraform ажиллуулдагshow
Энэ тохиолдолд энэ нь үүлэн итгэмжлэл шаарддаггүй гэсэн үг юм --terraform-plan-flags
тохируулах.
cd зам/код
terraform init
terraform plan -out tfplan.binary
infracost задаргаа – зам tfplan.binary
infracost diff –path tfplan.binary
Терраформ муж
Хэрэв та одоогийн Terraform төлөвийн зардлын задаргааг харахыг хүсвэл дараах зүйлсийг мэдэх хэрэгтэй infracost breakdown
тушаал байна --terraform-use-state
туг, энэ нь энэ тохиолдолд ашигтай байх болно. Та аль хэдийн Terraform-г ажиллуулах ёстой apply
, тиймээс Infracost зүгээр л Terraform ажиллуулдаг show
, энэ нь үүлэн итгэмжлэл шаарддаггүй эсвэл --terraform-plan-flags
тохируулах.
infracost задаргаа –замын жишээнүүд/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-ийн үүлэн зардлын тооцоог хэрэгжүүлэх талаар сайтар бодож үзэх хэрэгтэй хэрэгсэл болгодог.
хариу үлдээх