AWS Billing 監視のインテグレーション

この機能を利用できるかは契約しているサブスクリプションレベルによって変わります。

New Relic の AWS Billing [請求]インテグレーションは、すべてのアプリケーションと AWS アカウントの財務データを収集し、1か所にまとめるため、チームがコストを把握しやすくなります。このインテグレーションは、サブアカウントやサービスからデータを収集し、実際の支出と予測支出の観点から AWS 予算を評価します。

要件

AWS 予算を有効にする前に、以下を行う必要があります。

  • AWS Billing データを収集するために、AWS Console から AWS 予算を設定します。
  • AWS console > Billing > PreferencesReceive Billing Alerts [請求アラートを受信する]チェックボックスにチェックします。

AWS 予算を有効にする

AWS 予算を有効にすると、New Relic は AWS で設定した予算の使用量と費用の情報だけでなく、サービスの使用量も取得できます。

AWS でロールを作成していない場合は、予算ポリシーを設定する前に、AWS を New Relic Infrastructure に接続する手順に従ってください。
  1. AWS マネージメントコンソールで、Services > IAM > Roles を選択します。
  2. New Relic 用に設定したロールを選択して、Permissions を選択します。
  3. Inline Policy [インラインポリシー]から、down-arrow アイコンを選択します。.
    • インラインポリシーがすでに存在する場合は、Create Role Policy[ロールポリシーの作成]を選択します。
    • インラインポリシーが存在しない場合は、<>Click here [ここをクリック]リンクを選択してポリシーを作成します。
  4. Custom Policy をクリックし、Select をクリックします。
  5. ポリシー名を入力します。例: NewRelicBudget
  6. Policy Document に次の権限ステートメントを入力します。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "budgets:ViewBudget"
          ],
          "Resource": "*"
        }
      ]
    }
    
  7. Apply Policy [ポリシーを適用]を選択します。

請求データプロバイダのダッシュボードの作成

New Relic Insights NRQL で、AWS 請求の使用状況を視覚化するダッシュボードを作成できます。Insights に表示されるデータは、イベントテーブルとプロバイダによって異なります。

データ 説明
イベントテーブル 財務データが格納されるイベントテーブルは FinanceSample です。これは Insights イベントの一種です。

プロバイダー 財務データプロバイダには、New Relic が収集する以下の4種類の財務データがあります。

  • 予算
  • 集計されたアカウントとサブアカウントの費用
  • AWS サービス費用
  • 集計されていないアカウントおよびサブアカウントのデータ、集約された AWS サービス費用

New Relic は、以下の財務データプロバイダを利用して、AWS Billing インテグレーションのデータを収集します。各プロバイダには、AWS Billing データのクエリを使い始めるのに役立つ NRQL のサンプルも紹介しています。

BillingBudget プロバイダー

BillingBudget プロバイダーから取得したデータは、AWS 予算に関連しています。このデータを使用すると、次のことを監視できます。

  • 予算に費やされた金額
  • 予算ごとに設定する制限
  • 予測費用

通貨単位や月単位、四半期ごと、年単位、使用量や費用に基づいて予算を構成できます。予算は、コストを監視したり、制御したり、AWS 予測モデルを利用して予測コストを把握するための優れたツールです。

NRQL 例: 実際の支出、予測、限度額、使用率対費用ごとの予算の表については、New Relic Insights の以下の NRQL クエリを実行すると確認できます。

SELECT latest(`provider.budgetType`) as 'Budget Type',
    max(`provider.actualAmount`) as 'Actual Amount',
    max(`provider.limitAmount`) as 'Budget Limit',
    latest(`provider.forecastedAmount`) as 'Forecast' 
FROM FinanceSample 
WHERE provider='BillingBudget' 
AND providerAccountId = 'YOUR_AWS_ACCOUNT_ID' 
FACET `provider.budgetName` 
SINCE 1 day ago
BillingServiceCost プロバイダー
BillingServiceCost プロバイダーに格納されているデータは、登録済みの全アカウントで利用している AWS サービスのコストの最新データを含むサービスコストを集計します。

複数の AWS アカウントを設定している場合、New Relic は、属性providerAccountNameproviderAccountId を持つ各アカウントでフィルタリングすることを推奨します。

NRQL 例: プロバイダーをサービス名でグループ化するには、New Relic Insights で以下の NRQL クエリを実行します。

SELECT latest(`provider.estimatedCharges.Maximum`) 
FROM FinanceSample  
WHERE provider='BillingServiceCost' 
AND providerAccountId = 'YOUR_AWS_ACCOUNT_ID' 
SINCE 1 day ago 
FACET `provider.serviceName` 
LIMIT 20
BillingAccountCost プロバイダー
BillingAccountCost プロバイダーに格納されているデータは、最新の財務データの集計を含むアカウントとサブアカウントの集計データです。

複数の AWS アカウントを設定している場合、New Relic は、属性providerAccountNameproviderAccountId を持つ各アカウントでフィルタリングすることを推奨します。

NRQL 例: アカウント名でプロバイダをグループ化するには、New Relic Insights で次の NRQL クエリを実行します。

SELECT latest(`provider.estimatedCharges.Maximum`) 
FROM FinanceSample  
WHERE provider='BillingAccountCost' 
AND providerAccountId = 'YOUR_AWS_ACCOUNT_ID'  
SINCE 1 day ago 
FACET `provider.accountName` 
LIMIT 20
BillingAccountServiceCost プロバイダー
このプロバイダには、集約されていないデータがあります。AWS アカウント ID や AWS サービス名でフィルタリングできます。

NRQL 例: 特定の AWS アカウント ID に対する AWS サービスごとのコストを理解するには、New Relic Insights で次の NRQL クエリを実行します。

SELECT latest(`provider.estimatedCharges.Maximum`) 
FROM FinanceSample 
WHERE provider='BillingAccountServiceCost' 
AND providerAccountId = 'YOUR_AWS_ACCOUNT_ID'  
SINCE 1 day ago 
FACET `provider.serviceName`
LIMIT 100

NRQL 例: AWS EC2 サービスの AWS アカウントごとのコストを理解するには、New Relic Insights で次の NRQL クエリを実行します。

    SELECT latest(`provider.estimatedCharges.Maximum`) 
    FROM FinanceSample 
    WHERE provider='BillingAccountServiceCost' 
    AND providerAccountId = 'YOUR_AWS_ACCOUNT_ID' 
    AND `provider.serviceName`='AmazonEC2' 
    FACET `provider.accountId` 
    SINCE 1 day ago 
    LIMIT 100

Amazon Billing データ

New Relic Infrastructure インテグレーションは、以下の Amazon Billing データを収集します。

データ 説明
AWS Billing メトリクス EstimatedCharges: AWS 使用量の見積も料金。1つのサービスの見積もりまたは全サービスの見積もりをまとめた金額のどちらかです。
AWS Budgets メトリクス
  • actualAmount: 予算で追跡されている実際のコストや使用量
  • limitAmount: 予算を上限として追跡したいコストや使用量の合計額
  • forecastedAmount: 予算で追跡している予測されるコストや使用量
Service メトリクス
  • Active Service: ACTIVE 状態にあるクラスタ上で実行されているサービス数
  • Pending Tasks: PENDING 状態にあるクラスタ内のタスク数
  • Running Tasks: RUNNING 状態にあるクラスタ内のタスク数
  • Registered Instances: クラスタに登録されたコンテナインスタンス数

AWS Billing インベントリデータ

以下のインベントリ情報を表示するには、infrastructure.newrelic.com > Inventory > Source にアクセスします。

名前 説明
/budgets
  • name: 予算の名前。アカウント内でユニーク
  • startTime: 予算の対象期間の開始日
  • endTime: 予算の対象期間の終了日
  • limitAmount: 予算を上限として追跡したいコストや使用量の合計額
  • limitUnit: 予算の予測、実際の費用、予算の閾値 (ドルや GB など)に使用される測定単位。
  • timeUnit: 予算が実際の費用と予測された費用をリセットするまでの時間。有効な値: monthly, quarterly, annually
  • type: この予算の追跡が、金銭的なものか使用量か
/budgets/costFilters name: 予算の名前。アカウント内でユニーク

属性

属性 説明
AWS Billing 属性
  • Service Name: AWS サービスの名前。このディメンションは、すべてのサービスの見積もり料金の合計では省略されます。
  • Linked Account: クラスタを特性するためのユーザー生成の文字列。
  • Currency: 必須 アカウントに請求する通貨 (単位=USD)。
AWS Budgets 属性
  • budgetName: 予算の名前。アカウント内でユニーク
  • budgetType: この予算の追跡が、金銭的なものか使用量か