Cải thiện độ chính xác cho việc lập ngân sách đám mây với các tính năng mới trong AWS Budgets

Tác giả: Fredrik Tunvall Ngày đăng: 30/04/2025 Danh mục: Announcements, AWS Budgets, AWS Cloud Financial Management

Hôm nay, AWS đã công bố các khả năng mới trong AWS Budgets giúp mang lại sự linh hoạt cao hơn trong việc theo dõi và quản lý chi tiêu AWS của bạn. Những cải tiến này bao gồm:

  • Hỗ trợ các chỉ số chi phí bổ sung: net unblended costs (chi phí thuần chưa pha trộn) và net amortized costs (chi phí thuần phân bổ).
  • Khả năng loại trừ các giá trị chiều (dimension values) cụ thể khi tạo ngân sách (chẳng hạn như dịch vụ, tài khoản và loại instance).
  • Các khả năng lọc mới cho loại phí (charge types) để kiểm soát chi tiết việc bao gồm hoặc loại trừ các khoản phí trả trước của AWS Savings Plans (SPs) hoặc Reservation (RI), phí định kỳ, thuế và credits.
  • Chức năng API nâng cao hỗ trợ các biểu thức lọc (filter expressions) nhất quán với AWS Cost Explorer.

Những cải tiến này cho phép bạn tạo các ngân sách phản ánh tốt hơn chi phí thực tế của mình, bao gồm cả các khoản chiết khấu, và cung cấp khả năng kiểm soát chi tiết hơn đối với những gì được đưa vào tính toán ngân sách. Chúng cũng cho phép bạn tạo một ngân sách với các lựa chọn bộ lọc nhất quán với AWS Cost Explorer.

Các khả năng nâng cao để theo dõi chi phí chính xác hơn

Các khả năng mới trong AWS Budgets mang lại những cải tiến đáng kể về độ chính xác và tính linh hoạt trong việc theo dõi chi phí. Bằng cách hỗ trợ các chỉ số net unblendednet amortized cost, hiện tại bạn có thể tạo các ngân sách khớp chính xác với chi tiêu thực tế, bao gồm tất cả các khoản chiết khấu hiện có. Cải tiến này đặc biệt giá trị đối với các công ty sử dụng Savings Plans hoặc Reserved Instances, vì nó cho phép lập kế hoạch và theo dõi ngân sách chính xác hơn.

Việc giới thiệu các khả năng lọc nâng cao, bao gồm khả năng loại trừ các giá trị chiều cụ thể, mở ra những khả năng mới cho việc giám sát chi phí chính xác. Các tính năng này hỗ trợ nhiều trường hợp sử dụng mạnh mẽ mà trước đây rất khó thực hiện:

  • Kiểm soát chi phí chi tiết (Granular Cost Control): Việc tạo các ngân sách mục tiêu hiện đã đơn giản hơn nhiều. Ví dụ: bạn có thể dễ dàng loại trừ chi phí cơ sở hạ tầng dùng chung khi thiết lập ngân sách cho các sáng kiến nghiên cứu cụ thể, giúp có cái nhìn rõ ràng hơn về các chi phí riêng biệt của dự án.
  • Tuân thủ và Quản trị (Compliance and Governance): Bạn có thể tạo ngân sách theo vùng (region) hiệu quả hơn, hỗ trợ việc tuân thủ các yêu cầu về chủ quyền dữ liệu. Giờ đây, bạn có thể theo dõi chi phí hiệu quả cho các vùng cụ thể trong khi loại trừ các vùng khác, đơn giản hóa việc tuân thủ quy định và phân bổ chi phí.
  • Lập kế hoạch tài chính (Financial Planning): Việc hỗ trợ các chỉ số chi phí mới cho phép bạn tạo ngân sách khớp chính xác với nhu cầu báo cáo chi phí của mình. Giờ đây, bạn có thể duy trì các dự báo chính xác hơn bao gồm tất cả các khoản chiết khấu áp dụng, dẫn đến việc lập kế hoạch tài chính và ra quyết định tốt hơn.

Bằng cách tận dụng các khả năng mới này, bạn có thể đạt được những hiểu biết sâu sắc hơn về mức chi tiêu AWS của mình, cho phép quản lý chi phí và quản trị tài chính hiệu quả hơn trên toàn bộ môi trường đám mây.

Bắt đầu trong AWS Console

Điều kiện tiên quyết: Để sử dụng các tính năng này, bạn cần có quyền IAM cho Cost Explorer (ce:GetCostAndUsagece:GetDimensionValues). Hãy liên hệ với quản trị viên tài khoản hoặc quản trị viên IAM của bạn để thêm các quyền này. Để tìm hiểu thêm về quyền truy cập vào các công cụ quản lý chi phí và thanh toán, hãy xem Sử dụng chính sách dựa trên danh tính (chính sách IAM) cho AWS Cost Management.

Để tạo một ngân sách với các khả năng mới:

  1. Mở bảng điều khiển AWS Budgets.
  2. Chọn Create budget.
  3. Trong phần Budget setup, chọn Customize (advanced).
  4. Đối với Budget metric, hãy chọn tùy chọn bạn ưu tiên:
    • Net unblended costs
    • Net amortized costs
  5. Trong phần Filters, định cấu hình phạm vi ngân sách của bạn:
    • Tùy chọn loại trừ các chiều cụ thể (Optional exclude specific dimensions).
    • Chọn loại phí, ví dụ: Reservation Applied Usage và phí Savings Plan.
  6. Đặt số tiền ngân sách của bạn và định cấu hình các ngưỡng cảnh báo (alert thresholds).

Thay đổi API và tính tương thích ngược

AWS Budgets đang giới thiệu hai trường mới là FilterExpressionMetrics, đồng thời duy trì hỗ trợ cho các trường CostFiltersCostTypes hiện có. Trường FilterExpression mới cung cấp các khả năng lọc tương tự như Cost Explorer, cho phép các tùy chọn lọc tinh vi hơn bao gồm khả năng loại trừ các giá trị chiều cụ thể. Trường Metrics hỗ trợ các chỉ số chi phí bổ sung như net unblendednet amortized costs.

Nếu bạn đang sử dụng AWS Budgets, các ngân sách và tích hợp API hiện tại của bạn sẽ tiếp tục hoạt động như trước. Khi mô tả một ngân sách (describe budget), AWS Budgets giờ đây sẽ bao gồm cả hai trường mới FilterExpressionMetrics bên cạnh các trường CostFiltersCostTypes hiện có trong phản hồi. Điều này mang lại cho bạn một điểm khởi đầu để thực hiện các cập nhật tiếp theo mà không cần phải xây dựng toàn bộ kiểu dữ liệu Expression từ đầu.

Khi cập nhật ngân sách, bạn có thể sử dụng các trường cũ (CostFiltersCostTypes) hoặc các trường mới (FilterExpressionMetrics), nhưng không thể dùng cả hai trong cùng một lệnh gọi API. Đối với các cấu hình có thể được biểu thị bằng cả trường cũ và trường mới, phản hồi API sẽ bao gồm cả hai định dạng. Tuy nhiên, khi sử dụng các tính năng mới như loại trừ vốn không thể biểu thị ở định dạng cũ, chỉ các trường mới mới xuất hiện trong phản hồi.

Làm việc với Budgets: Ví dụ về CLI

Hãy đi qua một số ví dụ để xem các khả năng này hoạt động như thế nào trong thực tế.

Mô tả một Ngân sách hiện có

Với tư cách là một kỹ sư FinOps, bạn cần kiểm tra ngân sách hiện có cho chi phí lưu trữ của mình. Để làm vậy, bạn sử dụng các lệnh CLI bên dưới để mô tả ngân sách hiện có. Lệnh này sẽ hiển thị cấu hình ngân sách của bạn với cả bộ lọc cũ và mới:

Bash

aws budgets describe-budget \
--account-id 111122223333 \
--budget-name "StorageCostsBudget"

Trong phản hồi, bạn sẽ thấy cả các trường cũ (CostFiltersCostTypes) và các trường mới (FilterExpressionMetrics), cho phép bạn hiểu cách cấu hình ngân sách hiện tại của mình được chuyển đổi sang định dạng mới như thế nào.

JSON

{
  "Budget": {
    "BudgetName": "StorageCostsBudget",
    "BudgetLimit": {
      "Amount": "1000.0",
      "Unit": "USD"
    },
    // Previous way of expressing filters
    "CostFilters": {
      "Service": ["Amazon Simple Storage Service"],
      "Region": ["us-east-1", "us-west-2"]
    },
    "CostTypes": {
      "IncludeCredit": true,
      "IncludeDiscount": true,
      "IncludeRefund": false,
      "IncludeSubscription": true,
      "UseBlended": false
    },
    // New way of expressing same filter
    "FilterExpression": {
      "Dimensions": {
        "Key": "SERVICE",
        "Values": ["Amazon Simple Storage Service"]
      },
      "And": [{
        "Dimensions": {
          "Key": "REGION",
          "Values": ["us-east-1", "us-west-2"]
        }
      }]
    },
    "Metrics": ["UNBLENDED_COST"],
    "TimeUnit": "MONTHLY"
  }
}

Cập nhật một Ngân sách hiện có

Bây giờ bạn đã xem xét ngân sách lưu trữ của mình, bạn muốn tinh chỉnh nó để bao gồm một dịch vụ lưu trữ mới là Amazon FSx. Dưới đây là cách bạn có thể cập nhật một ngân sách hiện có:

Bash

aws budgets update-budget \
--account-id 111122223333 \
--cli-input-json file://update-budget.json

Nội dung tệp update-budget.json:

JSON

# update-budget.json contents:
{
  "NewBudget": {
    "BudgetName": "StorageCostsBudget",
    "BudgetLimit": {
      "Amount": "1000.0",
      "Unit": "USD"
    },
    "FilterExpression": {
      "Dimensions": {
        "Key": "SERVICE",
        "Values": ["Amazon Simple Storage Service", "Amazon FSx"] //added FSx
      },
      "And": [{
        "Dimensions": {
          "Key": "REGION",
          "Values": ["us-east-1", "us-west-2"]
        }
      }]
    },
    "Metrics": ["NET_UNBLENDED_COST"],
    "TimeUnit": "MONTHLY"
  }
}

Tạo một Ngân sách mới với tính năng Loại trừ (Exclusion)

Bây giờ bạn đã sẵn sàng để tạo một ngân sách hàng tháng mới loại trừ các dịch vụ doanh nghiệp dùng chung để theo dõi tốt hơn các chi phí cụ thể của nhóm. Dưới đây là cách bạn có thể tạo ngân sách bằng khả năng loại trừ mới:

Bash

aws budgets create-budget \
--account-id 111122223333 \
--cli-input-json file://create-budget.json

Nội dung tệp create-budget.json:

JSON

# create-budget.json contents:
{
  "Budget": {
    "BudgetName": "TeamSpecificBudget",
    "BudgetType": "COST",
    "BudgetLimit": {
      "Amount": "5000.0",
      "Unit": "USD"
    },
    "FilterExpression": {
      "Not": {
        "Dimensions": {
          "Key": "SERVICE",
          "Values": ["AWS Shield", "AWS Support (Enterprise)"]
        }
      }
    },
    "Metrics": ["NET_UNBLENDED_COST"],
    "TimeUnit": "MONTHLY"
  },
  "NotificationsWithSubscribers": [
    {
      "Notification": {
        "ComparisonOperator": "GREATER_THAN",
        "NotificationType": "ACTUAL",
        "Threshold": 80,
        "ThresholdType": "PERCENTAGE"
      },
      "Subscribers": [
        {
          "Address": "team-budget-alerts@example.com",
          "SubscriptionType": "EMAIL"
        }
      ]
    }
  ]
}

Ngân sách mới này loại trừ các dịch vụ dùng chung, cho phép bạn tập trung vào các chi phí cụ thể của nhóm. Lưu ý rằng khi bạn mô tả ngân sách này, bạn sẽ chỉ thấy các trường mới (FilterExpressionMetrics) trong phản hồi, vì khả năng loại trừ không thể được biểu thị bằng các trường cũ.

Các thực hành tốt nhất để tận dụng các khả năng mới

Để tận dụng tối đa các tính năng mới này, hãy xem xét các thực hành tốt nhất sau đây:

  1. Xem xét các ngân sách hiện có để xác định xem các chỉ số và tùy chọn lọc mới có thể cung cấp việc theo dõi chi phí thực tế chính xác hơn hay không.
  2. Sử dụng các chỉ số net amortized cost hoặc net unblended cost để tạo các ngân sách khớp với cách bạn báo cáo chi phí AWS nội bộ.
  3. Tận dụng các khả năng loại trừ mới để tạo các ngân sách mục tiêu hơn cho các nhóm, dự án hoặc trung tâm chi phí cụ thể bằng cách loại trừ các chi phí dùng chung hoặc không liên quan.
  4. Tạo các ngân sách riêng biệt cho các loại chi phí khác nhau (ví dụ: phí trả trước so với chi phí dựa trên mức sử dụng) để có cái nhìn chi tiết hơn về các mô hình chi tiêu của bạn.
  5. Nếu bạn có các hệ thống tự động hóa hiện tại sử dụng AWS Budgets API, hãy lập kế hoạch chuyển đổi dần dần sang các trường mới. Kiểm tra kỹ lưỡng để đảm bảo các tích hợp của bạn hoạt động như mong đợi với các khả năng nâng cao.

Các câu hỏi thường gặp

Làm cách nào để chuyển đổi ngân sách của tôi sang các tùy chọn lọc mới một cách dễ dàng nhất? Bạn có thể xem các cấu hình ngân sách hiện tại của mình trong bảng điều khiển (console) hoặc thông qua API DescribeBudget, lệnh này sẽ hiển thị cả định dạng trường cũ và mới. Điều này giúp dễ dàng thấy cách các bộ lọc hiện tại của bạn chuyển đổi sang định dạng mới như thế nào.

Điều gì xảy ra nếu tôi không muốn sử dụng các tính năng mới? Bạn có thể tiếp tục sử dụng AWS Budgets như hiện tại và chỉ cần bỏ qua các trường mới trên tất cả các API. Các ngân sách hiện tại của bạn sẽ tiếp tục hoạt động như trước.

Tôi có thể có một số ngân sách sử dụng bộ lọc cũ và một số ngân sách sử dụng bộ lọc mới không? Có, bạn có thể. Khi bạn sử dụng API DescribeBudget hoặc xem ngân sách trong bảng điều khiển, các ngân sách sẽ được hiển thị với cả trường cũ và mới nếu cấu hình có thể được biểu thị ở cả hai định dạng. Tuy nhiên, đối với các ngân sách sử dụng các tính năng mới như loại trừ, vốn không thể biểu thị ở định dạng cũ, chỉ các trường mới (FilterExpressionMetrics) sẽ xuất hiện trong phản hồi.

Tôi cần thực hiện những thay đổi nào trong mã của mình để không làm hỏng bất cứ thứ gì? Mã hiện tại sử dụng các trường cũ (CostFiltersCostTypes) sẽ tiếp tục hoạt động như trước. Nếu bạn muốn sử dụng các khả năng mới, bạn sẽ cần cập nhật mã của mình để sử dụng FilterExpressionMetrics thay thế. Hãy nhớ rằng bạn không thể kết hợp các trường cũ và mới trong cùng một lệnh gọi API.

Kết luận

Với các khả năng mới này, AWS Budgets mang lại cho bạn sự linh hoạt và độ chính xác cao hơn trong việc quản lý chi tiêu đám mây của mình. Cho dù bạn đang tìm cách theo dõi chi phí sau khi chiết khấu, tạo ngân sách tập trung cho các nhóm cụ thể hay có cái nhìn chi tiết hơn về các chi phí AWS của mình, những cải tiến này cung cấp các công cụ bạn cần để quản lý tài chính đám mây hiệu quả.

Để tìm hiểu thêm về AWS Budgets và cách giám sát chi phí, hãy truy cập trang sản phẩm AWS Budgetstài liệu hướng dẫn.


Tác giả

Fredrik là Quản lý Sản phẩm Kỹ thuật Cấp cao (Senior Technical Product Manager) tại AWS Billing and Cost Management. Ông lãnh đạo mảng Cost Anomaly Detection và thúc đẩy các sáng kiến quan trọng khác giúp khách hàng giám sát, thấu hiểu và tối ưu hóa chi phí cũng như mức sử dụng đám mây AWS của họ.