인프라 비용은 DevOps, SRE 및 Terraform과 같은 코드형 인프라 프로젝트의 클라우드 비용을 추정하려는 개발자에게 중요합니다. Infracost를 사용하면 다양한 옵션을 비교하면서 비용 분석을 빠르게 확인할 수 있으므로 큰 결정을 내리기 전에 더 나은 통찰력을 얻을 수 있습니다.
인프라 비용은 어떻게 작동합니까?
Infracost는 Terraform 코드를 스캔하여 3백만 개 이상의 가격을 확인할 수 있으며 리소스를 시작하기 전에 간단하고 읽기 쉬운 비용 견적을 생성합니다.
또한 Infracost를 사용하여 pull 요청의 리소스에 비용을 매핑하므로 비용에 가장 큰 영향을 미치는 코드 라인을 알 수 있습니다. Infracost를 CI/CD에 통합하면 팀과 협업하고 기존 워크플로의 변경 영향에 대해 논의할 수 있습니다.
Infracost는 Cloud Pricing API 백엔드 서비스를 통해 작동하며 CLI 도구를 사용하여 JSON 형식의 Terraform 계획을 구문 분석할 수 있습니다. API는 사용 중인 각 클라우드 리소스의 개별 비용과 클라우드 공급자를 기반으로 하는 관련 비용 매개변수를 상호 참조합니다.
이 프로그램은 작동하는 데 자격 증명이 필요하지 않으며 Terraform 또는 분석된 클라우드 리소스를 변경하지 않습니다. API는 Terraform 리소스 유형의 수를 사용하여 새 리소스가 고려되도록 합니다.
Infracost가 비용 분석을 표시하는 두 가지 주요 방법이 있습니다.
A) 비용의 전체 분석
B) 현재 상태와 계획 상태의 월별 비용 차이
Infracost 시작하기(단계별)
다음 단계별 가이드에 따라 Infracost를 설치하고 사용하십시오.
1. 인프라코스트 설치
시작하기 위한 첫 번째 단계는 Infracost를 설치하는 것이지만 먼저 테라 폼 설치.
다음은 Infracost의 다양한 버전을 살펴보겠습니다.
macOS 홈브류:
양조 설치 인프라 비용
infracost –version # v0.9.7을 표시해야 함
macOS 설명서:
# OS/arch를 기반으로 CLI를 다운로드하고 /usr/local/bin에 넣습니다.
컬 -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | 쉿
Linux :
# OS/arch를 기반으로 CLI를 다운로드하고 /usr/local/bin에 넣습니다.
컬 -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | 쉿
도커 :
docker pull 인프라 비용/인프라 비용
도커 실행 –rm \
-e INFRACOST_API_KEY=see_following_step_on_how_to_get_this \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ 인프라 비용/인프라 비용 분석 –경로 /코드/
# Infracost 또는 Terraform에 필요한 다른 플래그/환경 추가
# 예를 들어 AWS 가정 역할을 사용하는 경우 다음이 필요할 수 있습니다.
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
윈도우 :
다운로드 및 압축 해제 최신 릴리스. 다음을 사용하여 명령 프롬프트 또는 Powershell에서 실행하십시오. .\infracost.exe --no-color
다른 필수 명령/플래그와 함께(색상 출력에는 Windows에서 수정해야 하는 버그가 있습니다). 당신은 또한 당신의 폴더에 exe 파일을 이동해야합니다 PATH
환경 변수, 예. C:\Windows
.
2. API 키 받기
다음 단계는 무료 API 키를 등록하는 것입니다. 이 키를 사용하여 CLI에서 인스턴스 유형에 대한 가격 가져오기와 같은 작업에 대해 Cloud Pricing API를 쿼리합니다.
모든 운영 체제:
인프라 비용 레지스터
키는 다음 위치에 저장됩니다. ~/.config/infracost/credentials.yml
.
3. 인프라코스트 실행
이제 Terraform 상태 또는 클라우드 리소스를 변경하지 않는 Infracost를 실행할 준비가 되었습니다. 제공된 Terraform 프로젝트와 함께 실행하여 테스트할 수 있습니다.
모든 운영 체제:
자식 복제 https://github.com/infracost/example-terraform.git
cd 예제-테라폼/샘플1
# main.tf로 플레이하고 비용을 비교하기 위해 다시 실행
인프라 비용 분석 – 경로 .
# 월별 비용의 차이를 표시하고 yml 파일을 편집하고 비용을 비교하기 위해 다시 실행
인프라 비용 차이 – 경로 . –sync-usage-file –usage-file infracost-usage.yml
4. CI/CD에 추가
이제 Infracost의 CI/CD 통합 비용 견적 차이를 보여주는 풀 요청 주석을 자동으로 추가합니다. 이는 또한 팀이 워크플로의 일부로 변경의 비용 영향을 논의할 수 있도록 하는 안전망을 제공합니다.
용법
XNUMXD덴탈의 infracost
CLI에는 다음과 같은 주요 명령이 있습니다.
breakdown
: 비용의 전체 분석 표시diff
: 현재 상태와 계획 상태 사이의 월별 비용 차이 표시
저장소에 여러 Terraform 프로젝트 또는 작업 공간이 있는 경우 Infracost 구성 파일을 사용하십시오. 결과는 동일한 분석 또는 diff 출력으로 결합됩니다.
고급 사용법
Infracost는 또한 일반적인 사용 방법 외에도 사용할 수 있는 다양한 고급 사용 방법을 가지고 있습니다. 이러한 고급 방법은 Infracost 구성 파일을 통해서도 사용할 수 있습니다.
Terraform 계획 파일
Infracost는 Terraform 계획 파일에 대해 실행할 수 있습니다. 이는 이미 Terraform을 실행했음을 의미합니다. init.
Infracost는 Terraform을 실행합니다.show
이 경우 클라우드 자격 증명이 필요하지 않거나 --terraform-plan-flags
설정합니다.
cd 경로/대상/코드
테라 폼 초기화
테라폼 플랜 아웃 tfplan.binary
인프라 비용 분석 – 경로 tfplan.binary
인프라 비용 차이 – 경로 tfplan.binary
테라폼 상태
현재 Terraform 상태의 비용 분석을 보려면 다음을 알아야 합니다. infracost breakdown
명령에는 --terraform-use-state
이 경우에 유용할 플래그입니다. 이미 Terraform을 실행하고 있어야 합니다. 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
필요합니다.
어떤 클라우드와 리소스가 지원됩니까?
인프라 비용은 다음 이상을 지원합니다. 200 Terraform 리소스 AWS, Google 및 Azure에서 풀 루미 과 클라우드 포메이션 로드맵에 포함되어 있습니다. 새로운 리소스에 대한 지원이 지속적으로 추가되고 있으므로 리포지토리에서 릴리스를 확인하는 것이 중요합니다.
결론
인프라 비용은 도움이 됩니다 개발자를 위한 도구, DevOps, SRE 및 비용 분석을 신속하게 확인하고 다양한 옵션을 미리 비교하려는 기타 사용자. CI와 통합하려는 경우 및/또는 AWS 및 Google Cloud에 대한 지원이 필요한 경우에도 좋은 선택입니다. 팀 간에 더 나은 협업을 만들고 싶다면 Infracost가 도움이 될 수 있습니다. 이러한 모든 기능으로 인해 Terraform에 대한 클라우드 비용 추정을 위해 구현을 강력히 고려해야 하는 도구입니다.
댓글을 남겨주세요.