Mục lục[Ẩn giấu][Chỉ]
Infracost rất quan trọng đối với DevOps, SRE và các nhà phát triển muốn ước tính chi phí đám mây cho các dự án cơ sở hạ tầng dưới dạng mã như Terraform. Với Infracost, bạn có thể nhanh chóng xem bảng phân tích chi phí trong khi so sánh các tùy chọn khác nhau, giúp đưa ra những hiểu biết sâu sắc hơn trước khi đưa ra quyết định lớn.
Infracost hoạt động như thế nào?
Infracost có thể kiểm tra hơn 3 triệu giá bằng cách quét mã Terraform của bạn và nó tạo ra một ước tính chi phí đơn giản và dễ đọc trước khi bạn khởi chạy tài nguyên.
Bạn cũng có thể sử dụng Infracost để biết dòng mã nào có tác động chi phí lớn nhất vì nó ánh xạ chi phí với tài nguyên trong các yêu cầu kéo của bạn. Bằng cách tích hợp Infracost vào CI / CD, bạn có thể cộng tác với nhóm của mình và cho phép thảo luận về tác động của những thay đổi trong quy trình làm việc hiện tại của bạn.
Infracost hoạt động thông qua dịch vụ phụ trợ API định giá đám mây và với công cụ CLI, bạn có thể phân tích cú pháp một gói Terraform ở định dạng JSON. API tham chiếu chéo chi phí riêng của từng tài nguyên đám mây đang được sử dụng, cũng như các thông số chi phí liên quan của chúng dựa trên nhà cung cấp đám mây.
Chương trình không yêu cầu bất kỳ thông tin đăng nhập nào để hoạt động và nó không thực hiện bất kỳ thay đổi nào đối với Terraform hoặc các tài nguyên đám mây đã phân tích. Bằng cách sử dụng số lượng các loại tài nguyên Terraform, API đảm bảo rằng các tài nguyên mới được tính đến.
Có hai cách chính Infracost thể hiện sự phân chia chi phí:
A) Phân tích đầy đủ chi phí
B) Chênh lệch chi phí hàng tháng giữa trạng thái hiện tại và dự kiến
Bắt đầu với Infracost (Từng bước)
Làm theo hướng dẫn từng bước này để cài đặt và bắt đầu sử dụng Infracost:
1. Cài đặt Infracost
Bước đầu tiên để bắt đầu là cài đặt Infracost, nhưng trước tiên bạn phải có Terraform cài đặt.
Dưới đây là một cái nhìn về các phiên bản khác nhau của Infracost:
Homebrew macOS:
pha chế cài đặt cơ sở hạ tầng
Infracost –version # Nên hiển thị v0.9.7
hướng dẫn sử dụng macOS:
# Tải xuống CLI dựa trên hệ điều hành / vòm của bạn và đặt nó vào / usr / local / bin
cuộn tròn -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
Linux:
# Tải xuống CLI dựa trên hệ điều hành / vòm của bạn và đặt nó vào / usr / local / bin
cuộn tròn -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
docker:
docker kéo cơ sở hạ tầng / cơ sở hạ tầng
docker chạy –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 /: / mã / cơ sở hạ tầng / sự cố cơ sở hạ tầng –path / mã /
# Thêm cờ / env bắt buộc khác cho Infracost hoặc Terraform
# Ví dụ: những điều này có thể được yêu cầu nếu bạn đang sử dụng AWS giả định:
# -e AWS_SESSION_TOKEN = $ AWS_SESSION_TOKEN \
# -e AWS_REGION = $ AWS_REGION \
Windows:
Tải xuống và giải nén bản phát hành mới nhất. Chạy nó từ Command Prompt hoặc Powershell bằng cách sử dụng .\infracost.exe --no-color
cùng với các lệnh / cờ bắt buộc khác (đầu ra màu có một lỗi mà chúng tôi cần sửa trên Windows). Bạn cũng nên di chuyển tệp exe vào một thư mục trong PATH
biến môi trường, ví dụ C:\Windows
.
2. Nhận một khóa API
Bước tiếp theo là đăng ký khóa API miễn phí, khóa này CLI sử dụng để truy vấn API định giá trên đám mây cho các tác vụ như lấy giá cho các loại ví dụ.
Tất cả các hệ điều hành:
đăng ký cơ sở hạ tầng
Chìa khóa được lưu trong ~/.config/infracost/credentials.yml
.
3. Chạy Infracost
Bây giờ bạn đã sẵn sàng để chạy Infracost, không thực hiện bất kỳ thay đổi nào đối với trạng thái Terraform hoặc tài nguyên đám mây của bạn. Bạn có thể chạy nó với dự án Terraform được cung cấp để kiểm tra.
Tất cả các hệ điều hành:
bản sao git https://github.com/infracost/example-terraform.git
cd example-terraform / sample1
# Chơi với main.tf và chạy lại để so sánh chi phí
sự cố cơ sở hạ tầng – đường dẫn.
# Hiển thị chênh lệch chi phí hàng tháng, chỉnh sửa tệp yml và chạy lại để so sánh chi phí
cơ sở hạ tầng khác biệt –path. –Sync-use-file –usage-file Infracost-using.yml
4. Thêm vào CI / CD
Bây giờ bạn có thể sử dụng Infracost's Tích hợp CI / CD để tự động thêm các nhận xét yêu cầu kéo, điều này cho bạn thấy sự khác biệt về ước tính chi phí. Điều này cũng sẽ cung cấp cho bạn một mạng an toàn, cho phép các nhóm thảo luận về tác động chi phí của những thay đổi như một phần của quy trình làm việc của họ.
Sử dụng
Sản phẩm infracost
CLI có các lệnh chính sau:
breakdown
: hiển thị bảng phân tích chi phí đầy đủdiff
: hiển thị sự khác biệt của chi phí hàng tháng giữa trạng thái hiện tại và trạng thái kế hoạch
Sử dụng tệp cấu hình Infracost nếu kho của bạn có nhiều dự án Terraform hoặc không gian làm việc. Kết quả của chúng sẽ được kết hợp thành cùng một phân tích hoặc đầu ra khác nhau.
Sử dụng nâng cao
Infracost cũng có nhiều phương pháp sử dụng nâng cao khác nhau có thể được sử dụng ngoài các phương pháp sử dụng thông thường. Các phương pháp nâng cao này cũng có thể được sử dụng thông qua tệp cấu hình Infracost.
Tệp kế hoạch Terraform
Infracost có thể được chạy trên tệp kế hoạch Terraform, điều này có nghĩa là bạn đã chạy Terraform init.
Infracost chỉ chạy Terraformshow
trong trường hợp này, có nghĩa là nó không yêu cầu thông tin đăng nhập đám mây hoặc --terraform-plan-flags
được thiết lập.
đường dẫn cd / đến / mã
Terraform init
kế hoạch terraform -out tfplan.binary
sự cố cơ sở hạ tầng –path tfplan.binary
Infracost diff –path tfplan.binary
Trạng thái Terraform
Nếu bạn muốn xem bảng phân tích chi phí của trạng thái Terraform hiện tại, bạn nên biết infracost breakdown
lệnh có một --terraform-use-state
cờ, sẽ tỏ ra hữu ích trong trường hợp này. Bạn phải chạy Terraform rồi apply
, vì vậy Infracost chỉ chạy Terraform show
, không yêu cầu thông tin đăng nhập đám mây hoặc --terraform-plan-flags
được thiết lập.
phân tích cơ sở hạ tầng – ví dụ về đường dẫn / địa hình –terraform-sử dụng-trạng thái
Tệp JSON trạng thái Terraform
Bạn có thể chạy infracost breakdown
chống lại tệp JSON trạng thái Terraform. Đây sẽ là [định dạng đầu ra JSON] của trạng thái thay vì biểu diễn JSON nội bộ. Nó phải được tạo ra bằng cách chạy terraform show -json
bên trong một dự án Terraform, và nó đặc biệt hữu ích nếu bạn muốn xem bảng phân tích chi phí của trạng thái Terraform hiện tại. Trong trường hợp này, nó có nghĩa là bạn đã chạy Terraform apply
, nghĩa là không có thông tin đăng nhập đám mây hoặc --terraform-plan-flags
là bắt buộc.
Những Đám mây và Tài nguyên nào được Hỗ trợ?
Infracost hỗ trợ nhiều hơn 200 tài nguyên Terraform trên AWS, Google và Azure, trong khi các công cụ IaC khác như bột giấy và Sự hình thành mây được bao gồm trong lộ trình. Hỗ trợ cho các tài nguyên mới liên tục được thêm vào, vì vậy điều quan trọng là phải kiểm tra repo để phát hành.
Kết luận
Infracost là một hữu ích công cụ cho nhà phát triển, DevOps, SRE và những người khác muốn xem nhanh bảng phân tích chi phí và so sánh trước các tùy chọn khác nhau. Nó cũng là một lựa chọn tốt nếu bạn đang tìm cách tích hợp nó với CI và / hoặc cần hỗ trợ cho AWS và Google Cloud. Nếu bạn muốn tạo ra sự hợp tác tốt hơn giữa nhóm của mình, thì Infracost cũng có thể trợ giúp về vấn đề đó. Tất cả các tính năng này làm cho nó trở thành một công cụ mà bạn nên xem xét triển khai để ước tính chi phí đám mây cho Terraform.
Bình luận