AWS コスト異常検出を開始する - AWS コスト管理

AWS コスト異常検出を開始する

AWS Billing and Cost Management の AWS コスト異常検出を使用すると、いくつかの異なる方法でコストモニターとアラートサブスクリプションを設定できます。

コストモニターとアラートサブスクリプションを作成する

AWS コスト異常検出を設定して、モニターの種類に応じて、より低い詳細度と支出パターンで異常を検出するようにします。

例えば、Amazon EC2 の使用量に対する使用パターンは、AWS Lambda または Amazon S3 の支出パターンとは異なる可能性があります。AWS のサービス ごとに支出をセグメント化することで、AWS コスト異常検出が誤検出アラートを減らすのに役立つ個別の支出パターンを検出できます。また、コストモニターを作成することもできます。また、AWS アカウント アカウント構造に基づいて、特定のコスト配分タグ、組織内のメンバーアカウント (AWS Organizations)、およびコストカテゴリを評価できます。

コストモニターを作成するときに、各モニターに固有のアラートサブスクリプションを設定します。

AWS User Notifications を設定することで、個別のアラートを作成することもできます。

注記

コストモニターとアラートサブスクリプションは、それらを作成したアカウントでのみアクセスできます。例えば、コストモニターがメンバーアカウントで作成されたとします。これにより、管理アカウントでは、コストモニター、アラートサブスクリプション、または検出された異常を表示したり編集したりすることはできません。

Cost monitors
コストモニターを作成するには
  1. https://console.aws.amazon.com/costmanagement/ で Billing and Cost Management コンソールを開きます

  2. ナビゲーションペインで、[コスト異常検出] を選択します。

  3. [コストモニター] タブを選択します。

  4. [モニターの作成] を選択します。

  5. [ステップ 1] で、モニターの種類を選択し、モニターに名前を付けます。

    各モニターの種類とベストプラクティスの詳細については、「モニタータイプ」を参照してください。

    [モニター名] では、異常モニターの名前を入力します。簡単な説明的な名前にすることをお勧めします。モニターを [Cost monitors] (コストモニター) タブで表示したときにモニターが表すものがわかるようにすることをお勧めします。

  6. (オプション) モニターにタグを追加します。タグの詳細については、AWS 全般のリファレンス ガイドのAWS リソースへのタグ付けを参照してください。

    1. タグのキーバリューを入力します。

    2. タグを追加するには、[新しいタグを追加] を選択します。追加できるタグの最大数は 50 です。

  7. [次へ] を選択します。

  8. [ステップ 2] で、アラートサブスクリプションを設定します。

    [アラートサブスクリプション] では、既存のサブスクリプションがない場合は、[新しいサブスクリプションを作成する] を選択します。既存のサブスクリプションがある場合は、[既存のサブスクリプションを選択] を選択します。

    注記

    コストモニターが異常を検出すると、アラートサブスクリプションが通知されます。アラートの頻度に応じて、指定された個人に E メールまたは Amazon SNS で通知できます。

    Amazon SNS トピックの場合は、Amazon Q Developer in chat applications の設定を作成するように設定します。この設定は、SNS トピックを Slack チャネルまたは Amazon Chime チャットルームにマッピングします。例えば、組織で Finance チームのサブスクリプションを作成します。詳しくは、「チャットアプリケーションでの異常アラートの受信」を参照してください。

    [サブスクリプション名] では、ユースケースを説明する名前を入力します。例えば、サブスクリプションがリーダーシップを表す場合、サブスクリプション名は「Leadership report」とすることができます。

    [アラート頻度] で、使用する通知頻度を選択します。

    • [個別のアラート] - 異常が検出された場合にすぐにアラートが表示されます。1 日を通して複数のアラートを受け取ることがあります。これらの通知には、Amazon SNS トピックが必要です。

      Amazon SNS トピックは、SNS トピックを Slack チャネルまたは Amazon Chime チャットルームにマップする Amazon Q Developer in chat applications の設定を作成するように設定できます。詳しくは、「チャットアプリケーションでの異常アラートの受信」を参照してください。

    • [日次サマリー] - 前日のアラートのうち、コストへの影響が大きい上位 10 件をまとめたメール通知。このサマリーは毎日 00:00 UTC に生成されますが、実際の配信時間は異なる場合があります。例えば、1 月 14 日の 04:30 UTC に検出された異常は、1 月 15 日の 00:00 UTC に送信される日次サマリーに含まれます。少なくとも E メール受信者を 1 人指定する必要があります。即時アラートの場合は、個別のアラートオプションを使用することをお勧めします。

    • 週次サマリー - アラートの週次サマリーを含む E メール通知。その週に発生した複数の異常に関する情報が記載された E メールが週に 1 つ送信されます。少なくとも E メール受信者を 1 人指定する必要があります。

    [アラートの受信者] の下に、このサブスクリプションの E メールアドレスを入力します。

    [Threshold] (しきい値) に、アラートを生成する異常値を設定する数値を入力します。

    しきい値には、絶対とパーセンテージの 2 つのタイプがあります。絶対しきい値は、異常の合計コストインパクトが選択されたしきい値を超えるときにアラートをトリガーします。パーセンテージしきい値は、異常の合計インパクトパーセンテージが選択されたしきい値を超えるときにアラートをトリガーします。合計インパクトパーセンテージは、予想支出総額と実際の支出総額のパーセンテージ差です。

    (オプション) [Add threshold] (しきい値を追加) を選択して、同じサブスクリプションに 2 つ目のしきい値を設定します。しきい値は、ドロップダウンリストから [AND] (および) または [OR] (または) を選択することで組み合わせることができます。

    注記

    AWS コスト異常検知は、異常が [Threshold] (しきい値) に達するか、それを超過するときに通知を送信します。異常が数日間にわたって継続する場合、しきい値に到達している間は、アラートの受信者も継続的に通知を受信します。

    機械学習モデルは、異常値がアラートのしきい値を下回っていても、アカウントの支出の異常値を引き続き検出します。機械学習モデルによって検出されたすべての異常 (コストインパクトがしきい値よりも大きいか小さいか) は、[検出された異常] タブに表示されます。

  9. (オプション) アラートサブスクリプションにタグを追加します。タグの詳細については、AWS 全般のリファレンス ガイドのAWS リソースへのタグ付けを参照してください。

    1. タグのキーバリューを入力します。

    2. タグを追加するには、[新しいタグを追加] を選択します。追加できるタグの最大数は 50 です。

  10. (オプション) [アラートサブスクリプションを追加する] を選択して、別のアラートサブスクリプションを作成します。このオプションを用いると、同じモニターを使用して新しいサブスクリプションを作成できます。

  11. [モニターの作成] を選択します。

Alert subscriptions
アラートサブスクリプションを作成するには

モニターごとに少なくとも 1 つのアラートサブスクリプションを作成する必要があります。前述の「コストモニターステップの作成」には、すでにアラートサブスクリプション作成プロセスが含まれています。追加のサブスクリプションを作成する場合は、以下の手順を実施します。

  1. [アラートサブスクリプション] タブを選択します。

  2. [サブスクリプションの作成] を選択します。

  3. [サブスクリプション名] では、ユースケースを説明する名前を入力します。例えば、サブスクリプションがリーダーシップを表す場合、サブスクリプション名は「Leadership report」とすることができます。

  4. [アラート頻度] で、使用する通知頻度を選択します。

    • [個別のアラート] - 異常が検出された場合にすぐにアラートが表示されます。1 日を通して複数のアラートを受け取ることがあります。これらの通知には、Amazon SNS トピックが必要です。

      Amazon SNS トピックは、SNS トピックを Slack チャネルまたは Amazon Chime チャットルームにマップする Amazon Q Developer in chat applications の設定を作成するように設定できます。詳しくは、「チャットアプリケーションでの異常アラートの受信」を参照してください。

    • [日次サマリー] - 前日のアラートのうち、コストへの影響が大きい上位 10 件をまとめたメール通知。このサマリーは毎日 00:00 UTC に生成されますが、実際の配信時間は異なる場合があります。例えば、1 月 14 日の 04:30 UTC に検出された異常は、1 月 15 日の 00:00 UTC に送信される日次サマリーに含まれます。少なくとも E メール受信者を 1 人指定する必要があります。即時アラートの場合は、個別のアラートオプションを使用することをお勧めします。

    • 週次サマリー - アラートの週次サマリーを含む E メール通知。その週に発生した複数の異常に関する情報が記載された E メールが週に 1 つ送信されます。少なくとも E メール受信者を 1 人指定する必要があります。

  5. [アラートの受信者] の下に、このサブスクリプションの E メールアドレスを入力します。

  6. [Threshold] (しきい値) に、アラートを生成する異常値を設定する数値を入力します。

    しきい値には、絶対とパーセンテージの 2 つのタイプがあります。絶対しきい値は、異常の合計コストインパクトが選択されたしきい値を超えるときにアラートをトリガーします。パーセンテージしきい値は、異常の合計インパクトパーセンテージが選択されたしきい値を超えるときにアラートをトリガーします。合計インパクトパーセンテージは、予想支出総額と実際の支出総額のパーセンテージ差です。

    (オプション) [Add threshold] (しきい値を追加) を選択して、同じサブスクリプションに 2 つ目のしきい値を設定します。しきい値は、ドロップダウンリストから [AND] (および) または [OR] (または) を選択することで組み合わせることができます。

    注記

    AWS コスト異常検知は、異常が [Threshold] (しきい値) に達するか、それを超過するときに通知を送信します。異常が数日間にわたって継続する場合、しきい値に到達している間は、アラートの受信者も継続的に通知を受信します。

    機械学習モデルは、異常値がアラートのしきい値を下回っていても、アカウントの支出の異常値を引き続き検出します。機械学習モデルによって検出されたすべての異常 (コストインパクトがしきい値よりも大きいか小さいか) は、[検出された異常] タブに表示されます。

  7. [コストモニター] セクションで、アラートサブスクリプションに関連付けるモニターを選択します。

  8. (オプション) アラートサブスクリプションにタグを追加します。タグの詳細については、AWS 全般のリファレンス ガイドのAWS リソースへのタグ付けを参照してください。

    1. タグのキーバリューを入力します。

    2. タグを追加するには、[新しいタグを追加] を選択します。追加できるタグの最大数は 50 です。

  9. [サブスクリプションを作成] を選択してください。

AWS User Notifications

個々のアラートを作成する方法については、Using AWS User Notifications with Cost Anomaly Detection を参照してください。

検出された異常の概要

[検出された異常] タブで、選択した期間に検出された異常の一覧を表示できます。デフォルトでは、過去 90 日間に検出された異常を確認できます。異常は、[重要度]、[評価]、[サービス]、[使用タイプ]、[リージョン]、[モニタータイプ]、[アカウント]、または [異常 ID] で検索できます。[開始日]、[最後の検出]、[期間]、[コストへの影響]、[影響の %]、[モニター名]、および [上位の根本原因 (サービス)] でソートできます。

[検出された異常] タブには、次のデフォルト列が含まれています。

開始日

異常が発生した日。

最後の検出

最後に異常が検出された日。

期間

異常が続いた期間。異常が進行している可能性があります。

コストへの影響

予想支出額と比較することで検出された支出の増加。actual spend - expected spend を使って計算されます。例えば、サービスモニターでの合計コストインパクトが 20 USD である場合は、指定された日数の合計継続期間に特定のサービスで 20 USD の増加が検出されたことを意味します。

影響の %

実際の支出と予想支出のパーセンテージ差。(total cost impact / expected spend) * 100 を使って計算されます。例えば、合計コストインパクトが 20 USD で、予想支出が 60 UDS であった場合、インパクトパーセンテージは 33.33% になります。この値は、予想支出がゼロの場合は計算できないため、このような状況では「N/A」と表示されます。

モニター名

異常モニターの名前。

上位の根本原因 (サービス)

異常の上位の根本原因 (サービス)。上位の根本原因列でサービス名を選択すると、その異常の主要な根本原因に対して、他の 3 つの根本原因ディメンション (アカウント、リージョン、使用タイプ) が表示されます。

さらに表示

異常の根本原因分析やコストへの影響に関する情報を確認できる、[異常の詳細] ページへのリンク。このリンクには、その異常に対して検出された根本原因の数も表示されます。

[検出された異常] タブは、追加の情報列を表示するように設定することもできます。行った変更はアカウントレベルで保存され、[検出された異常] タブにアクセスした際にも引き続き適用されます。以下は、[検出された異常] タブで使用できる [オプション列] です。

アカウント

異常の原因となったアカウント ID とアカウント名。アカウントが空の場合、AWS は異常を検出しましたが、根本的な原因は不明です。

リージョン

異常の上位の根本原因として検出されたリージョン。

使用タイプ

異常の上位の根本原因として検出された使用タイプ。

予想支出

過去の支出パターンに基づいて、異常の継続期間中に支出されると機械学習モデルが予測した金額。

実際の支出

異常の継続期間中に実際に費やされた金額の合計。

評価

検出された異常ごとに、評価を送信して、異常検出システムの改善に役立てることができます。指定できる値は [送信されていません]、[問題ではありません]、または [正確な異常] です。

緊急度

過去の支出パターンを考慮して、特定の異常がどの程度異常であるかを表します。通常、重要度が低いと過去の支出と比較してスパイクが小さくなり、重要度が高いとスパイクが大きくなります。ただし、過去の一貫した支出における小さなスパイクは、重要度が高いものとして分類されます。また、同様に、不規則な過去の支出における大きなスパイクは、重要度が低いものに分類されます。

検出された異常と考えられる根本原因の表示

モニターを作成したら、AWS コスト異常検出は、将来の支出を評価します。定義したアラートサブスクリプションに基づいて、24 時間以内にアラートの受信を開始できます。

E メールアラートから異常値を表示するには
  1. 提供された [異常検出で表示] リンクを選択します。

  2. [異常の詳細] ページで、異常の根本原因分析とコストインパクトを確認できます。

  3. (オプション) [View in Cost Explorer] (Cost Explorer で表示) を選択して、コストへの影響の時系列グラフを表示します。

  4. (オプション) 対象の根本原因に関する [考えられる根本原因のトップランキング] の表で [根本原因を表示] を選択すると、根本原因でフィルタリングされた時系列グラフが表示されます。

  5. (オプション) [Did you find this detected anomaly to be helpful? ] (この検出された異常は役に立ちましたか?) の情報アラートで [Submit assessment] (評価を送信) を選択して、フィードバックを提供し、検出精度の向上に役立ててください。

AWS Billing and Cost Management コンソールから異常を表示するには
  1. https://console.aws.amazon.com/costmanagement/ で Billing and Cost Management コンソールを開きます

  2. ナビゲーションペインで、[コスト異常検出] を選択します。

  3. (オプション) [検出された異常] タブで検索領域を使用して、特定のカテゴリで検出された異常のリストを絞り込みます。選択できるカテゴリは、[重要度]、[評価]、[サービス]、[アカウント]、[使用タイプ]、[リージョン]、および [モニタータイプ] です。

  4. (オプション) [開始日]を選択して、特定の異常の詳細を表示します。

  5. [異常の詳細] ページで、異常の根本原因分析とコストインパクトを確認できます。

  6. (オプション) [View in Cost Explorer] (Cost Explorer で表示) を選択してコストインパクトの時系列グラフを表示し、必要に応じてデータの詳細を調べます。

  7. (オプション) [考えられる根本原因のトップランキング] の表で [根本原因を表示] を選択すると、根本原因でフィルタリングされた時系列グラフが表示されます。

  8. (オプション) [Did you find this detected anomaly to be helpful? ] (この検出された異常は役に立ちましたか?) の情報アラートで [Submit assessment] (評価を送信) を選択して、フィードバックを提供し、検出精度の向上に役立ててください。

Amazon SNS トピックから異常を表示するには
  1. 個々のアラートを用いてコストモニター用に作成した Amazon SNS トピックにエンドポイントをサブスクライブします。手順については、Amazon Simple Notification Service デベロッパーガイドAmazon SNS トピックへのサブスクライブを参照してください。

  2. エンドポイントが Amazon SNS トピックからメッセージを受信したら、メッセージを開いて [anomalyDetailsLink] URL を見つけます。以下の例は、Amazon SNS を介した AWS コスト異常検出からのメッセージです。

    { "accountId": "123456789012", "anomalyDetailsLink": "https://console.aws.amazon.com/cost-management/home#/anomaly-detection/monitors/abcdef12-1234-4ea0-84cc-918a97d736ef/anomalies/12345678-abcd-ef12-3456-987654321a12", "anomalyEndDate": "2021-05-25T00:00:00Z", "anomalyId": "12345678-abcd-ef12-3456-987654321a12", "anomalyScore": { "currentScore": 0.47, "maxScore": 0.47 }, "anomalyStartDate": "2021-05-25T00:00:00Z", "dimensionalValue": "ServiceName", "impact": { "maxImpact": 151, "totalActualSpend": 1301, "totalExpectedSpend": 300, "totalImpact": 1001, "totalImpactPercentage": 333.67 }, "monitorArn": "arn:aws:ce::123456789012:anomalymonitor/abcdef12-1234-4ea0-84cc-918a97d736ef", "rootCauses": [ { "linkedAccount": "AnomalousLinkedAccount", "linkedAccountName": "AnomalousLinkedAccountName", "region": "AnomalousRegionName", "service": "AnomalousServiceName", "usageType": "AnomalousUsageType", "impact": { "contribution": 601, } } ], "subscriptionId": "874c100c-59a6-4abb-a10a-4682cc3f2d69", "subscriptionName": "alertSubscription" }
  3. ウェブブラウザで [anomalyDetailsLink] URL を開きます。URL は関連する [Anomaly details] (異常の詳細) ページに移動します。このページには、異常の根本原因分析とコストインパクトが表示されます。

モニタータイプ

アカウント構造に適したモニタータイプを選択できます。現在、以下のモニタータイプを提供しています。

  • AWS のサービス - 内部組織や環境別に支出をセグメント化する必要がない場合は、このモニターをお勧めします。この単一のモニターは、異常について個々の AWS アカウント が使用するすべての AWS のサービス を評価します。新規の AWS のサービス を追加すると、モニターは異常について新しいサービスの評価を自動的に開始します。これにより、手動で設定を行う必要がなくなります。

    注記

    管理アカウントには、1 つの AWS のサービス モニターと最大 500 個のカスタムモニター (連結アカウント、コスト配分タグ、コストカテゴリ) を設定できます。合計で 501 個の異常モニターがあります。メンバーアカウントは、AWS のサービス モニターにのみアクセスできます。

  • [連結アカウント] - このモニターは、個人またはグループのメンバーアカウントの合計支出を評価します。このモニターは、組織がチーム、製品、サービス、または環境ごとに支出をセグメント化する必要がある場合便利です。モニターごとに選択できるメンバーアカウントの最大数は 10 です。

  • [コストカテゴリ] - このモニターは、コストカテゴリを使用して支出を分類および管理する場合に推奨されます。このモニタータイプは 1 つの key:value ペアに制限されています。

  • コスト配分タグ - このモニターは連結アカウントに似ています。このモニターは、チーム、製品、サービス、または環境別に支出をセグメント化する必要がある場合に便利です。このモニタータイプは 1 つのキーに制限されますが、複数の値を使用できます。モニターごとに選択できる値の最大数は 10 です。

複数のモニタータイプにまたがるモニターを作成しないことをお勧めします。これにより、重複するアラートを生成する重複する支出を評価する可能性があるからです。

Amazon SNS トピックの作成の詳細については、異常通知用の Amazon SNS トピックの作成 を参照してください。