Мазмұны[Жасыру][Көрсету]
Infracost DevOps, SRE және Terraform сияқты код ретінде инфрақұрылым жобалары үшін бұлттық шығындарды бағалағысы келетін әзірлеушілер үшін маңызды. Infracost көмегімен әртүрлі опцияларды салыстыру кезінде шығындардың бөлінуін жылдам көруге болады, бұл үлкен шешім қабылдағанға дейін жақсырақ түсінік алуға көмектеседі.
Infracost қалай жұмыс істейді?
Infracost Terraform кодын сканерлеу арқылы 3 миллионнан астам бағаны тексере алады және ол ресурстарды іске қоспас бұрын қарапайым және оқылатын шығын сметасын жасайды.
Сондай-ақ, Infracost қызметін кодтың қай жолдарының ең үлкен шығындарға әсер ететінін білу үшін пайдалануға болады, өйткені ол тарту сұрауларындағы ресурстарға шығындарды салыстырады. Infracost қолданбасын CI/CD-ге біріктіру арқылы сіз өз тобыңызбен бірлесіп жұмыс істей аласыз және бар жұмыс үрдісіндегі өзгерістердің әсері туралы талқылауды қоса аласыз.
Infracost өзінің Cloud Pricing API сервер қызметі арқылы жұмыс істейді және CLI құралымен Terraform жоспарын JSON пішімінде талдауға болады. API пайдаланудағы әрбір бұлттық ресурстың жеке құнына, сондай-ақ бұлт провайдеріне негізделген олардың қатысты шығындар параметрлеріне сілтеме жасайды.
Бағдарлама жұмыс істеу үшін ешқандай тіркелгі деректерін талап етпейді және ол Terraform немесе талданған бұлттық ресурстарға ешқандай өзгерістер енгізбейді. Terraform ресурс түрлерінің санын пайдалану арқылы API жаңа ресурстардың есепке алынуын қамтамасыз етеді.
Infracost шығындарды бөлуді көрсететін екі негізгі әдіс бар:
A) Шығындарды толық бөлу
B) Айлық шығындардың ағымдағы және жоспарланған мемлекет арасындағы айырмашылығы
Инфракостпен жұмысты бастау (қадам-қадам)
Infracost орнату және пайдалануды бастау үшін осы қадамдық нұсқаулықты орындаңыз:
1. Infracost орнатыңыз
Жұмысты бастаудың бірінші қадамы - Infracost орнату, бірақ алдымен сізде болуы керек Terraform орнатылған.
Мұнда Infracost-тың әртүрлі нұсқалары берілген:
macOS Homebrew:
Brew install infracost
infracost –нұсқа # v0.9.7 көрсету керек
macOS нұсқаулығы:
# OS/arch негізінде CLI жүктеп алады және оны /usr/local/bin ішіне орналастырады
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | ш
Linux:
# OS/arch негізінде CLI жүктеп алады және оны /usr/local/bin ішіне орналастырады
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | ш
Docker:
докер тарту инфракост/инфракост
докерлік іске қосу – 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 кілтін алыңыз
Келесі қадам - тегін API кілтіне тіркелу, оны CLI дана түрлерінің бағаларын алу сияқты тапсырмалар үшін Cloud Pricing API сұрауы үшін пайдаланады.
Барлық операциялық жүйелер:
инфракост реестрі
Кілт сақталады ~/.config/infracost/credentials.yml
.
3. Infracost бағдарламасын іске қосыңыз
Енді сіз Terraform күйіне немесе бұлттық ресурстарға ешқандай өзгерістер енгізбейтін Infracost бағдарламасын іске қосуға дайынсыз. Оны сынау үшін берілген Terraform жобасымен іске қосуға болады.
Барлық операциялық жүйелер:
git clone https://github.com/infracost/example-terraform.git
CD мысалы-терраформ/үлгі1
# Шығындарды салыстыру үшін main.tf ойнаңыз және қайта іске қосыңыз
инфрақұрылымның бұзылуы – жол.
# Ай сайынғы шығындардың айырмашылығын көрсетіңіз, yml файлын өңдеңіз және шығындарды салыстыру үшін қайта іске қосыңыз
infracost diff –path. –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 жоспары -out tfplan.binary
инфракосттың бұзылуы – tfplan.binary жолы
infracost diff –path tfplan.binary
Терраформ күйі
Ағымдағы Terraform күйінің шығындарының бөлінуін көргіңіз келсе, білуіңіз керек infracost breakdown
пәрмені бар --terraform-use-state
бұл жағдайда пайдалы болатын жалауша. Терраформды әлдеқашан іске қосу керек apply
, сондықтан Infracost жай ғана Terraform іске қосады show
, бұлт тіркелгі деректерін қажет етпейтін немесе --terraform-plan-flags
орнатылуы керек.
инфракосттың бұзылуы – жол мысалдары/terraform –terraform-use-state
Terraform күйінің 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 үшін бұлттық шығындарды бағалау үшін енгізуді мұқият қарастыру керек құралға айналдырады.
пікір қалдыру