

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS コスト異常検出による異常な支出の検出
<a name="manage-ad"></a>

AWS コスト異常検出は、機械学習モデルを使用して、デプロイされた の異常な支出パターンを検出して警告する機能です AWS のサービス。

 AWS コスト異常検出の使用には、次の利点があります。
+ 集約されたレポートについての個別アラートが、E メールまたは Amazon SNS トピックにより送信されます。

  Amazon SNS トピックの場合、Amazon SNS トピックを Slack チャネルまたは Amazon Chime チャットルームにマッピングするチャットアプリケーション設定で Amazon Q Developer を作成します。詳細については、「[チャットアプリケーションでの異常アラートの受信](cad-alert-chime.md)」を参照してください。
+ 機械学習手法を使用して支出パターンを評価することで、誤検出アラートを最小限に抑えることができます。例えば、時期的な増加や自然な増加を週別または月別で評価することができます。
+ 異常の根本原因を調査し、ドルの影響に基づいてランク付けし AWS のサービス、、リージョン AWS アカウント、または使用タイプの 4 つのディメンションに分割できます。
+ コストの評価方法は設定が可能です。すべての を AWS のサービス 個別に分析するか、特定のメンバーアカウント、コスト配分タグ、またはコストカテゴリを分析するかを選択します。

請求データが処理されると、 AWS コスト異常検出は 1 日に約 3 回実行され、正味の非ブレンドコストデータ (つまり、適用されるすべての割引が計算された後の正味コスト) の異常をモニタリングします。アラートの受け取りには若干の遅延が発生することがあります。コスト異常検出では Cost Explorer のデータを使用しますが、データには最大 24 時間の遅延があります。その結果、使用状況が発生してから異常を検出するまでに最大 24 時間かかる場合があります。新しいモニターを作成する場合、新しい異常の検出を開始するまでに 24 時間かかることがあります。新しいサービスサブスクリプションでは、そのサービスの異常を検出する前に、10 日間のサービス使用状況の履歴データが必要です。

**注記**  
コスト異常検出はいつでもオプトアウトできます。詳細については、「[コスト異常検出のオプトアウト](https://docs.aws.amazon.com/cost-management/latest/userguide/opting-out-cad.html)」を参照してください。  
コスト異常検出は、請求転送を使用する請求ソースアカウントでは使用できません。コスト異常検出は、請求転送ビューをサポートしていません。

**Topics**
+ [異常検出をセットアップする](settingup-ad.md)
+ [コスト異常検出のアクセス制御](accesscontrol-ad.md)
+ [AWS コスト異常検出の開始方法](getting-started-ad.md)
+ [カスタマーモニターから AWS マネージドモニターへの移行](transition-monitors.md)
+ [アラート設定を編集する](edit-alert-pref.md)
+ [異常通知用の Amazon SNS トピックの作成](ad-SNS.md)
+ [チャットアプリケーションでの異常アラートの受信](cad-alert-chime.md)
+ [コスト異常検出で EventBridge を使用する](cad-eventbridge.md)
+ [コスト異常検出での AWS ユーザー通知の使用](cad-user-notifications.md)
+ [コスト異常検出のオプトアウト](opting-out-cad.md)

# 異常検出をセットアップする
<a name="settingup-ad"></a>

このセクションの概要では、 で AWS コスト異常検出を開始する方法について説明します AWS Billing and Cost Management。

**Topics**
+ [Cost Explorer を有効にする](#enable-ce-ad)
+ [IAM を使用してアクセスを制御する](#access-iam-ad)
+ [コンソールにアクセスする](#access-ad)
+ [クォータ](#limits-ad-section)

## Cost Explorer を有効にする
<a name="enable-ce-ad"></a>

AWS Cost Anomaly Detection は Cost Explorer の機能です。 AWS コスト異常検出にアクセスするには、Cost Explorer を有効にします。コンソールを使用してCost Explorer を有効にする方法については、「[Cost Explorer を有効にする](ce-enable.md)」を参照してください。

## IAM を使用してアクセスを制御する
<a name="access-iam-ad"></a>

管理アカウントレベルで Cost Explorer を有効にしたら、 AWS Identity and Access Management (IAM) を使用して個々のユーザーの請求データへのアクセスを管理できます。これで、すべてのユーザーへのアクセスを許可するのではなく、ユーザーロールごとに個別のレベルでアクセスを付与または取り消すことができます。

ユーザーは、請求情報とコスト管理コンソールからページを表示するための明示的な許可を与えられていることが必要です。適切なアクセス許可があれば、ユーザーはユーザーが属 AWS アカウント する のコストを表示できます。ユーザーに必要な許可を付与するポリシーについては、「[請求情報とコスト管理アクションポリシー](billing-permissions-ref.md#user-permissions)」を参照してください。

コスト異常検出に対するリソースレベルのアクセス制御と属性ベースのアクセス制御 (ABAC) の使用に関する詳細については、[コスト異常検出のアクセス制御](accesscontrol-ad.md) を参照してください。

## コンソールにアクセスする
<a name="access-ad"></a>

セットアップが完了したら、 AWS コスト異常検出にアクセスします。<a name="access-ad-process"></a>

**AWS コスト異常検出にアクセスするには**

1. [https://console.aws.amazon.com/costmanagement/](https://console.aws.amazon.com/costmanagement/) で Billing and Cost Management コンソールを開きます

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

## クォータ
<a name="limits-ad-section"></a>

デフォルトのクォータについては、[AWS コスト異常検出](management-limits.md#limits-ad) を参照してください。

# コスト異常検出のアクセス制御
<a name="accesscontrol-ad"></a>

コスト異常モニターと異常サブスクリプションには、リソースレベルのアクセス制御と属性ベースのアクセス制御 (ABAC) タグを使用できます。異常モニターと異常サブスクリプションリソースには、それぞれ一意の Amazon リソースネーム (ARN) があります。各機能にタグ (キーバリューペア) をアタッチすることもできます。 AWS アカウント内のユーザーロール、またはグループにきめ細かなアクセス制御を提供するために、リソース ARN と ABAC タグの両方を使用することができます。

リソースレベルのアクセス制御とABAC (属性ベースのアクセス制御) タグの詳細については、「[AWS コスト管理と IAM の連携方法](security_iam_service-with-iam.md)」を参照してください。

**注記**  
コスト異常検出では、リソースベースのポリシーはサポートされていません。リソースベースのポリシーは、 AWS リソースに直接アタッチされます。ポリシーと許可の違いに関する詳細については、「*IAM ユーザーガイド*」の「[アイデンティティベースおよびリソースベースのポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)」を参照してください。

## リソースレベルのポリシーを使用したアクセスの制御
<a name="accesscontrol-ad-resource-level"></a>

リソースレベルのアクセス許可を使用して、IAM ポリシーで 1 つ、もしくは複数のコスト異常検出リソースへのアクセスを許可または拒否できます。または、リソースレベルのアクセス許可を使用して、すべてのコスト異常検出リソースへのアクセスを許可または拒否します。

IAM を作成する際は、次の Amazon リソースネーム (ARN) 形式を使用します。
+ `AnomalyMonitor` リソース ARN

  `arn:${partition}:ce::${account-id}:anomalymonitor/${monitor-id}`
+ `AnomalySubscription` リソース ARN

  `arn:${partition}:ce::${account-id}:anomalysubscription/${subscription-id}`

IAM エンティティが異常モニターまたは異常サブスクリプションを取得および作成できるようにするには、このサンプルポリシーと同様のポリシーを使用します。

**注記**  
`ce:GetAnomalyMonitor` と `ce:GetAnomalySubscription` の場合、ユーザーにはリソースレベルのアクセス制御のすべてがあるか、まったくないかのどちらかになります。これには、ポリシーが汎用 ARN を `arn:${partition}:ce::${account-id}:anomalymonitor/*`、`arn:${partition}:ce::${account-id}:anomalysubscription/*`、または `*` の形式で使用することが必要になります。
`ce:CreateAnomalyMonitor` と `ce:CreateAnomalySubscription` の場合、このリソースのリソース ARN はありません。そのため、ポリシーは常に前の箇条書きで示した汎用 ARN を使用します。
`ce:GetAnomalies` の場合、オプションの `monitorArn` パラメータを使用します。これをこのパラメータとともに使用するときは、渡された `monitorArn` にユーザーがアクセスできるかどうかを確認します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ce:GetAnomalyMonitors",
                "ce:CreateAnomalyMonitor"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:ce::999999999999:anomalymonitor/*"
        }, 
        {
            "Action": [
                "ce:GetAnomalySubscriptions",
                "ce:CreateAnomalySubscription"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:ce::999999999999:anomalysubscription/*"
        }
    ]
}
```

------

IAM エンティティが異常モニターを更新または削除できるようにするには、このサンプルポリシーと同様のポリシーを使用します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ce:UpdateAnomalyMonitor",
                "ce:DeleteAnomalyMonitor"
                ],
            "Resource": [
              "arn:aws:ce::999999999999:anomalymonitor/f558fa8a-bd3c-462b-974a-000abc12a000",
              "arn:aws:ce::999999999999:anomalymonitor/f111fa8a-bd3c-462b-974a-000abc12a001"
		]
         }
    ]
}
```

------

## タグ (ABAC) を使用したアクセスの制御
<a name="accesscontrol-ad-tags"></a>

タグ (ABAC) を使用して、タグ付けをサポートするコスト異常検出リソースへのアクセスを制御できます。タグを使用してアクセスを制御するには、ポリシーの `Condition` 要素でタグ情報を提供します。その後、リソースのタグに基づいて、そのリソースへのアクセスを許可または拒否する IAM ポリシーを作成できます。タグ条件キーを使用して、リソース、リクエスト、または認可プロセスの任意の部分へのアクセスを制御できます。タグを使用する IAM ロールの詳細については、**IAM ユーザーガイドの[タグを使用したユーザーおよびロールへのアクセスとそのユーザーおよびロールのアクセスの制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html)を参照してください。

異常モニターの更新を許可する ID ベースのポリシーを作成します。モニタータグ `Owner` にユーザー名の値がある場合、このポリシーの例と同様のポリシーを使用してください。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ce:UpdateAnomalyMonitor"
            ],
            "Resource": "arn:aws:ce::*:anomalymonitor/*",
            "Condition": {
                "StringEquals": {
			"aws:ResourceTag/Owner": "${aws:username}"
		   }
            }
        },
        {
            "Effect": "Allow",
            "Action": "ce:GetAnomalyMonitors",
            "Resource": "*"
        }
    ]
}
```

------

# AWS コスト異常検出の開始方法
<a name="getting-started-ad"></a>

の AWS コスト異常検出を使用すると AWS Billing and Cost Management、増大する AWS 環境に自動適応するようにコストモニターとアラートサブスクリプションを設定できます。

AWS コスト異常検出は、手動設定なしですべてのアカウント、チーム、またはビジネスユニットのコストを自動的に追跡する AWS マネージドモニターを提供します。組織の成長と変化に応じて、これらのモニターには新しいアカウント、タグ値、またはカテゴリが自動的に含まれ、追加のセットアップなしで包括的なカバレッジが維持されます。

**Topics**
+ [コストモニターとアラートサブスクリプションを作成する](#create-ad-alerts)
+ [検出された異常の概要](#detector-history-values)
+ [検出された異常と考えられる根本原因の表示](#view-ad-monitor)
+ [モニタータイプ](#monitor-type-def)

## コストモニターとアラートサブスクリプションを作成する
<a name="create-ad-alerts"></a>

支出のモニタリングを開始するには、 AWS コスト異常検出で少なくとも 1 つのコストモニターを設定して、追跡する支出パターンを定義する必要があります。モニターを作成したら、アラートサブスクリプションをアタッチして、通知を受信するユーザーとチャネルを指定できます。 AWS ユーザー通知を使用して個別のアラートを作成し、アラートの配信方法をより詳細に制御することもできます。

**注記**  
コストモニターとアラートサブスクリプションは、それらを作成したアカウントでのみアクセスできます。リンクされたアカウント、コスト配分タグ、コストカテゴリのコストモニターは、管理アカウントでのみ作成できます。

------
#### [ Cost monitors ]<a name="ad-alert-process"></a>

**コストモニターを作成するには**

1. [https://console.aws.amazon.com/costmanagement/](https://console.aws.amazon.com/costmanagement/) で Billing and Cost Management コンソールを開きます

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

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

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

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

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

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

   必要に応じてモニターメソッドを選択します。
   + ** AWS マネージドモニターの場合:**

     1. **Monitor メソッド**で、**Managed by AWS** を選択します。

     1. モニタリングするディメンションを選択します。
        + AWS のサービス - すべての AWS のサービス を自動的に追跡します
        + リンクされたアカウント - すべてのメンバーアカウントを自動的に追跡します
        + コスト配分タグ - 指定されたタグキーのすべての値を追跡します
        + コストカテゴリ - 指定されたカテゴリ内のすべての値を追跡します

     1. コスト配分タグを選択した場合は、ドロップダウンからタグキー (「application-team」や「environment」など) を指定します。

     1. Cost カテゴリを選択した場合は、ドロップダウンからカテゴリを指定します。
   + **カスタマーマネージドモニターの場合:**

     1. モニターのディメンションを選択します。

     1. モニタリングメソッドで、**カスタマーマネージド**を選択します。

     1. モニタリングする特定の値 (最大 10) を選択します。

1. (オプション) モニターにタグを追加します。タグの詳細については、AWS 全般のリファレンス ガイドの[AWS リソースへのタグ付け](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)を参照してください。**

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

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

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

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

   [**アラートサブスクリプション**] では、既存のサブスクリプションがない場合は、[**新しいサブスクリプションを作成する**] を選択します。既存のサブスクリプションがある場合は、[**既存のサブスクリプションを選択**] を選択します。
**注記**  
コストモニターが異常を検出すると、アラートサブスクリプションが通知されます。アラートの頻度に応じて、指定された個人に E メールまたは Amazon SNS で通知できます。  
Amazon SNS トピックの場合は、Amazon Q Developer in chat applications の設定を作成するように設定します。この設定では、Amazon SNS トピックを Slack チャネルまたは Amazon Chime チャットルームにマッピングします。例えば、組織で Finance チームのサブスクリプションを作成します。詳しくは、「[チャットアプリケーションでの異常アラートの受信](cad-alert-chime.md)」を参照してください。

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

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

     Amazon SNS トピックを設定して、Amazon SNS トピックを Slack チャネルまたは Amazon Chime チャットルームにマッピングするチャットアプリケーション設定で Amazon Q Developer を作成できます。詳細については、「[チャットアプリケーションでの異常アラートの受信](cad-alert-chime.md)」を参照してください。
   + [**日次サマリー**] - 前日のアラートのうち、コストへの影響が大きい上位 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 コスト異常検出は、異常がしきい値に達したとき、または**しきい値**を超えたときに通知を送信します。異常が数日間にわたって継続する場合、しきい値に到達している間は、アラートの受信者も継続的に通知を受信します。  
機械学習モデルは、異常値がアラートのしきい値を下回っていても、アカウントの支出の異常値を引き続き検出します。機械学習モデルによって検出されたすべての異常 (コストインパクトがしきい値よりも大きいか小さいか) は、[**検出された異常**] タブに表示されます。

1. (オプション) アラートサブスクリプションにタグを追加します。タグの詳細については、AWS 全般のリファレンス ガイドの[AWS リソースへのタグ付け](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)を参照してください。**

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

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

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

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

** AWS マネージドモニターに関する重要な考慮事項:**
+  AWS マネージドモニターにアタッチされたアラートサブスクリプションは、すべての追跡値で同じしきい値を使用します。
+ 新しいメンバーアカウント、タグ、またはカテゴリが AWS 環境に追加されると、自動的に含まれます。
+ 既存のカスタマーマネージドモニターを AWS マネージドモニターに変換することはできません
+ 特定の値に基づいて詳細なアラートルーティングを行うには、JSON フィルタリングパターンを使用して AWS ユーザー通知を設定します。

**注記**  
AWS マネージドモニターは、ディメンション内で最大 5,000 個の値を追跡できます。組織に 5,000 を超える値 (5,000 を超えるメンバーアカウントやタグ値など) がある場合、モニターは合計支出に基づいて上位 5,000 個の値を追跡します。

------
#### [ Alert subscriptions ]<a name="ad-create-a-subscription"></a>

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

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

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

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

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

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

     Amazon SNS トピックを設定して、Amazon SNS トピックを Slack チャネルまたは Amazon Chime チャットルームにマッピングするチャットアプリケーション設定で Amazon Q Developer を作成できます。詳細については、「[チャットアプリケーションでの異常アラートの受信](cad-alert-chime.md)」を参照してください。
   + [**日次サマリー**] - 前日のアラートのうち、コストへの影響が大きい上位 10 件をまとめたメール通知。このサマリーは毎日 00:00 UTC に生成されますが、実際の配信時間は異なる場合があります。例えば、1 月 14 日の 04:30 UTC に検出された異常は、1 月 15 日の 00:00 UTC に送信される日次サマリーに含まれます。少なくとも E メール受信者を 1 人指定する必要があります。即時アラートの場合は、個別のアラートオプションを使用することをお勧めします。
   + **週次サマリー** - アラートの週次サマリーを含む E メール通知。その週に発生した複数の異常に関する情報が記載された E メールが週に 1 つ送信されます。少なくとも E メール受信者を 1 人指定する必要があります。

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

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

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

   (オプション) **[Add threshold]** (しきい値を追加) を選択して、同じサブスクリプションに 2 つ目のしきい値を設定します。しきい値は、ドロップダウンリストから **[AND]** (および) または **[OR]** (または) を選択することで組み合わせることができます。
**注記**  
AWS コスト異常検出は、異常がしきい値に達したとき、または**しきい値**を超えたときに通知を送信します。異常が数日間にわたって継続する場合、しきい値に到達している間は、アラートの受信者も継続的に通知を受信します。  
機械学習モデルは、異常値がアラートのしきい値を下回っていても、アカウントの支出の異常値を引き続き検出します。機械学習モデルによって検出されたすべての異常 (コストインパクトがしきい値よりも大きいか小さいか) は、[**検出された異常**] タブに表示されます。

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

1. (オプション) アラートサブスクリプションにタグを追加します。タグの詳細については、AWS 全般のリファレンス ガイドの[AWS リソースへのタグ付け](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)を参照してください。**

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

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

1. [**Create subscription**] を選択してください。

------
#### [ AWS User Notifications ]

個々のアラートを作成する方法については、[「コスト異常検出での AWS ユーザー通知の使用](https://docs.aws.amazon.com/cost-management/latest/userguide/cad-user-notifications.html)」を参照してください。

------

## 検出された異常の概要
<a name="detector-history-values"></a>

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

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

**開始日**  
異常が発生した日。

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

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

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

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

**モニター名**  
異常モニターの名前。

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

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

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

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

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

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

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

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

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

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

## 検出された異常と考えられる根本原因の表示
<a name="view-ad-monitor"></a>

モニターを作成すると、 AWS Cost Anomaly Detection は将来の支出を評価します。定義したアラートサブスクリプションに基づいて、24 時間以内にアラートの受信を開始できます。<a name="view-email-process"></a>

**E メールアラートから異常値を表示するには**

1. 提供された [**異常検出で表示**] リンクを選択します。

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

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

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

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

**AWS Billing and Cost Management コンソールから異常を表示するには**

1. [https://console.aws.amazon.com/costmanagement/](https://console.aws.amazon.com/costmanagement/) で Billing and Cost Management コンソールを開きます

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

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

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

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

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

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

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

**Amazon SNS トピックから異常を表示するには**

1. 個々のアラートを用いてコストモニター用に作成した Amazon SNS トピックにエンドポイントをサブスクライブします。手順については、[Amazon Simple Notification Service デベロッパーガイド](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html)の *Amazon SNS トピックへのサブスクライブ*を参照してください。

1. エンドポイントが 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",
       "dimensionKey": {
           "type": "DIMENSION",
           "key": "SERVICE"
       },
       "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"
   }
   ```

1. ウェブブラウザで [**anomalyDetailsLink**] URL を開きます。URL は関連する **[Anomaly details]** (異常の詳細) ページに移動します。このページには、異常の根本原因分析とコストインパクトが表示されます。

## モニタータイプ
<a name="monitor-type-def"></a>

アカウント構造に合ったモニタータイプを選択できます。 AWS Cost Anomaly Detection には、モニターを作成するための 2 つのアプローチがあります。ディメンション内で上位 5,000 個の値を自動的に追跡する AWS マネージドモニターと、集計してモニタリングされる特定の値を選択できるカスタマーマネージドモニターです。


| ディメンションをモニタリングする | AWS マネージド | カスタマー管理 | 
| --- | --- | --- | 
| AWS のサービス | アカウントで AWS のサービス 使用されているすべての異常を自動的に評価します。新しい の使用を開始すると AWS のサービス、モニターは自動的に評価を開始します。管理アカウントとメンバーアカウントの両方で使用できます。 | カスタマーマネージド AWS のサービス モニターはサポートされていません。 | 
| リンクされたアカウント | 組織内のすべてのメンバーアカウントの支出パターンを自動的に追跡します。新しいアカウントが追加されると、それらは自動的にモニタリングカバレッジに含まれます。管理アカウントでのみ使用できます。 | 手動で選択した特定のメンバーアカウント (最大 10 個) を追跡します。支出は、選択したアカウント全体で集計されます。特定のプロジェクトアカウントまたは環境を一緒にモニタリングするのに役立ちます。 | 
| コスト配分タグ | 指定されたタグキーのすべての一意の値を自動的にモニタリングします。たとえば、「application-team」を指定すると、すべてのチーム値 (team-a、team-b、team-c) が個別に追跡されます。新しいタグ値は、作成時に自動的に含まれます。 | 特定のタグキーに対して手動で選択した特定のタグ値 (最大 10 個) を追跡します。タグ値ごとに異なるしきい値が必要な場合や、優先度の高いチームのみをモニタリングする場合に便利です。 | 
| Cost Category | 指定されたコストカテゴリ内のすべての値を自動的に追跡します。「小売」、「卸売」、「オペレーション」などの値を持つ「ビジネスユニット」カテゴリがある場合、モニターは各ユニットの支出パターンを個別に分析します。新しいコストカテゴリ値は、作成時に自動的に含まれます。 | 手動で選択した特定のコストカテゴリ値を追跡します。一意のしきい値要件を持つ特定のビジネスユニットまたはコストセンターのモニタリングに役立ちます。 | 

カスタマーマネージドモニターごとに選択できるメンバーアカウントまたはタグ値の最大数は 10 です。

**各モニタータイプを使用するタイミング**

必要に応じて**AWS マネージドモニター**を使用します。
+ ディメンション内のすべての値にわたる包括的なカバレッジ
+ 組織の成長に伴う自動適応
+ 最小限のメンテナンスオーバーヘッド
+ すべてのチーム/アカウントで一貫したモニタリング

必要に応じて**カスタマーマネージドモニター**を使用します。
+ グループごとに異なるアラートしきい値
+ アカウントまたはチームの特定のサブセットをモニタリングするには
+ 特定の値全体の支出を集計するには
+ 優先度の高いワークロードまたは機密性の高いワークロードの特別なモニタリング

**ベストプラクティス:**
+  AWS マネージドモニターを使用して、プライマリコスト組織のディメンションを包括的にカバーする
+  AWS のサービス モニターを他の AWS マネージドモニターと一緒に維持して、サービスレベルの可視性を集約する
+ カスタマーマネージドモニターを使用して、異なるしきい値やグループ化を必要とする特定のユースケースの AWS マネージドモニターを補完する
+ 複数のディメンションにまたがるモニターを作成して、アラートが重複しないようにする

**注記**  
カスタマーマネージドモニターは、以前はカスタムモニターと呼ばれていました。機能は変わりません。名前の変更は、 がユーザーに代わって AWS 管理するモニターとの区別を反映しています。

Amazon SNS トピックの作成の詳細については、[異常通知用の Amazon SNS トピックの作成](ad-SNS.md) を参照してください。

# カスタマーモニターから AWS マネージドモニターへの移行
<a name="transition-monitors"></a>

現在、複数のカスタマーマネージドモニターを使用して個々のアカウント、チーム、またはカテゴリを追跡している場合は、管理を簡素化し、自動カバレッジを実現するために AWS マネージドモニターに移行できます。

**移行プロセス**

1. **既存のカスタマー AWS マネージドモニターと一緒にマネージドモニターを作成する**
   + プライマリコストの組織方法に一致するディメンションを選択する
   +  AWS マネージドモニターはすべての値を自動的に追跡し始めます

1. **検出カバレッジを検証する**
   +  AWS マネージドモニターを少なくとも 24～48 時間実行できるようにする 
   + 検出された異常を既存のカスタマーマネージドモニターと比較する
   +  AWS マネージドモニターが想定どおりに異常を検出していることを確認します。

1. **アラートサブスクリプションを設定する**
   +  AWS マネージドモニターに適切なしきい値を設定する
   +  AWS マネージドモニターにアタッチされたアラートサブスクリプションは、すべての追跡値で同じしきい値を使用することに注意してください。
   + 値固有のルーティングの場合は、JSON パターンで AWS ユーザー通知を設定します。

1. **冗長なカスタマーマネージドモニターを削除する** 
   + カバレッジ全体を確認したら、個々のカスタマーマネージドモニターを削除します。
   + 特定の目的 (関連アカウントのグループ化など) に対応するカスタマーマネージドモニターを保持する

**移行シナリオの例:** コスト配分タグを使用して個々のアプリケーションチームを追跡するカスタマーマネージドモニターが 50 人いる場合:

1. チームタグキーを使用して 1 つの AWS マネージドコスト配分タグモニターを作成する

1. すべてのチームで異常を検出したことを確認する

1. 適切なしきい値でアラートサブスクリプションを設定する

1. 50 個の個々のカスタマーマネージドモニターを削除する

**重要な注意事項:**
+ カスタマーマネージドモニターから AWS マネージドモニターへの直接変換はサポートされていません
+ AWS マネージドモニターは、包括的なカバレッジにより、最初はより多くの異常検出を生成する可能性があります。
+ カスタマーマネージドモニターからの履歴異常データは、削除時に保持されます (API 経由でのみ利用可能、削除されたモニターとその異常はコンソールに表示されません）。
+ 異なるしきい値を必要とする特定のユースケースでは、一部のカスタマーマネージドモニターを維持することを検討してください。

# アラート設定を編集する
<a name="edit-alert-pref"></a>

のコストモニターとアラートサブスクリプションは AWS Billing and Cost Management 、ニーズに合わせて調整できます。

ユーザー通知で AWS 通知設定を編集することもできます。

**注記**  
 AWS マネージドモニターを使用する場合は、1 つのしきい値がすべての追跡値に適用されることを考慮してください。チームまたはアカウントごとに異なるアラートしきい値が必要な場合は、次のことができます。  
特定のしきい値を持つ専用のアラートサブスクリプションを使用して、追加のカスタマーマネージドモニターを作成する
 AWS ユーザー通知を使用して、異常属性に基づいてアラートをフィルタリングおよびルーティングする
アラートルーティングのカスタムロジックを使用して Amazon SNS トピックを設定する 

------
#### [ Cost monitors ]<a name="edit-cost-monitor"></a>

**コストモニターを編集するには**

1. [https://console.aws.amazon.com/costmanagement/](https://console.aws.amazon.com/costmanagement/) で Billing and Cost Management コンソールを開きます

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

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

1. 編集するモニターを選択します。

1. [**編集**] を選択します。
   + (別の方法) 個々のモニター名を選択します。
   + [**モニターの編集**] を選択します。

1. [**モニターの編集**] ページで、[**モニター名**] および [**アタッチされたアラートサブスクリプション**] の設定を変更します。

1. **[Manage tags]** (タグを管理) を選択して、モニターのタグを追加、編集、または削除します。

1. **[保存]** を選択します。

------
#### [ Alert subscriptions ]<a name="edit-alert-process"></a>

**アラートサブスクリプションを編集するには**

1. [https://console.aws.amazon.com/costmanagement/](https://console.aws.amazon.com/costmanagement/) で Billing and Cost Management コンソールを開きます

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

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

1. 編集するサブスクリプションを選択します。

1. **[編集]** を選択します。
   + (別の方法) 個々のモニター名を選択します。
   + **[編集]** を選択します。

1. [**アラートサブスクリプションを編集する**] ページで、[**サブスクリプション名**]、[**しきい値**]、[**頻度**]、[**受信者**]、または [**コストモニター**] の設定を変更します。

1. **[Manage tags]** (タグを管理) を選択して、モニターのタグを追加、編集、または削除します。

1. **[保存]** を選択します。

------
#### [ AWS User Notifications ]

通知設定を編集する方法については、[AWS 「 ユーザー通知ユーザーガイド」の「ユーザー通知で通知設定を編集する](https://docs.aws.amazon.com/notifications/latest/userguide/edit-notifications.html)*AWS *」を参照してください。

------

# 異常通知用の Amazon SNS トピックの作成
<a name="ad-SNS"></a>

Amazon Simple Notiﬁcation Service (Amazon SNS) トピックに通知を送信する異常検出モニターを作成するときは、既存の Amazon SNS トピックがあるか、新たにトピックを作成する必要があります。Amazon SNS トピックを使用して、E メールに加えて Amazon SNS 経由で通知を送信できます。 AWS コスト異常検出には、トピックに通知を送信するアクセス許可が必要です。

**Amazon SNS 通知トピックを作成し、許可を付与するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home) で Amazon SNS コンソールを開きます。

1. ナビゲーションペインで、[**トピック**] を選択してください。

1. [**トピックの作成**] を選択してください。

1. **[名前]** に通知トピックの名前を入力します。

1. (オプション) **[表示名]** に、通知を受け取るときに表示する名前を入力します。

1. [**アクセスポリシー**] で、[**アドバンスト**] を選択します。

1. ポリシーのテキストフィールドで、**"Statement": [** の後に以下のいずれかのテキストを追加します。

    AWS コスト異常検出サービスが Amazon SNS トピックに発行できるようにするには、次のステートメントを使用します。

   ```
   {
     "Sid": "E.g., AWSAnomalyDetectionSNSPublishingPermissions",
     "Effect": "Allow",
     "Principal": {
       "Service": "costalerts.amazonaws.com"
     },
     "Action": "SNS:Publish",
     "Resource": "your topic ARN"
   }
   ```

    AWS コスト異常検出サービスが特定のアカウントに代わってのみ Amazon SNS トピックに発行できるようにするには、次のステートメントを使用します。

   ```
   {
     "Sid": "E.g., AWSAnomalyDetectionSNSPublishingPermissions",
     "Effect": "Allow",
     "Principal": {
       "Service": "costalerts.amazonaws.com"
     },
     "Action": "SNS:Publish",
     "Resource": "your topic ARN",
     "Condition": {
           "StringEquals": {
             "aws:SourceAccount": [
               "account-ID"
             ]
           }
     }
   }
   ```
**注記**  
このトピックポリシーでは、サブスクリプションのアカウント ID を `aws:SourceAccount` 条件の値として入力します。この条件は、サブスクリプションを所有するアカウントのオペレーションを実行する場合にのみ、Amazon SNS トピックと対話するよう AWS コスト異常検出を制限します。  
特定のサブスクリプションに代わってオペレーションを実行する場合にのみ、 AWS コスト異常検出がトピックとやり取りするように制限できます。これを行うには、トピックポリシーで `aws:SourceArn` 条件を使用します。  
これらの条件の詳細については、IAM ユーザーガイド**の [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) および [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) を参照してください。

1. 選択したトピックポリシーステートメントで、次の値を置き換えます。
   + 例えば、*AWSAnomalyDetectionSNSPublishingPermissions* を文字列に置き換えます。`Sid` はポリシー内で一意であることが必要です。
   + *your topic ARN* の部分を Amazon SNS topic Amazon リソースネーム (ARN) で置き換えます。
   + ステートメントを `aws:SourceAccount` 条件とともに使用する場合、*account-ID* の部分をサブスクリプションを所有するアカウント ID で置き換えます。Amazon SNS トピックに異なるアカウントからの複数のサブスクリプションがある場合、複数のアカウント ID を`aws:SourceAccount` 条件に追加できます。

1. **[トピックを作成]** を選択します。

   トピックは [**トピック**] ページのトピックのリストに表示されます。

## 通知確認メールのメッセージの確認または再送信
<a name="ad-confirm-subscription"></a>

通知を用いて異常検出モニターを作成すると、Amazon SNS 通知も作成されます。通知を送信するには、Amazon SNS 通知トピックへのサブスクリプションを承認する必要があります。

通知サブスクリプションが受け入れられていることを確認するか、サブスクリプション確認メールを再送信するには、Amazon SNS コンソールを使用します。

**通知のステータスを確認するか、通知確認の E メールメッセージを再送信するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home) で Amazon SNS コンソールを開きます。

1. ナビゲーションペインで [**Subscriptions**] を選択してください。

1. 通知のステータスを確認します。**[Status]** (ステータス) で、サブスクリプションが承認されず確認されていない場合は `PendingConfirmation` が表示されます。

1. (オプション) 確認リクエストを再送信するには、確認が保留中のサブスクリプションを選択し、[**リクエストの確認**] を選択します。Amazon SNS により、通知にサブスクライブしているエンドポイントに確認リクエストが送信されます。

   エンドポイントの各所有者が E メールを受信したら、[**サブスクリプションを確認**] リンクを選択して通知を有効化する必要があります。

## SSE と を使用して Amazon SNS 異常検出アラートデータを保護する AWS KMS
<a name="protect-sns-sse"></a>

サーバー側の暗号化 (SSE) を使用すると、暗号化されたトピックで機密データを転送できます。SSE では、 AWS Key Management Service (AWS KMS) で管理されているキーを使用して Amazon SNS メッセージが保護されます。

 AWS マネジメントコンソール または AWS SDK を使用して SSE を管理するには、Amazon Simple Notification Service 入門ガイドの[Amazon SNSトピックのサーバー側の暗号化 (SSE) を有効にする](https://docs.aws.amazon.com/sns/latest/dg/sns-tutorial-enable-encryption-for-topic.html)」を参照してください。 **

を使用して暗号化されたトピックを作成するには AWS CloudFormation、 [AWS CloudFormation ユーザーガイド](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)を参照してください。

Amazon SNS が受信したメッセージはすぐに、SSE によって暗号化されます。メッセージは暗号化されて保存され、送信時にのみ Amazon SNS を使用して復号化されます。

### AWS KMS アクセス許可の設定
<a name="configure-kms-perm"></a>

サーバー側の暗号化 (SSE) を使用する前に、 AWS KMS キーポリシーを設定する必要があります。この設定により、メッセージを暗号化および復号化できるだけでなく、トピックを暗号化できます。 AWS KMS アクセス許可の詳細については、「 *AWS Key Management Service デベロッパーガイド*[AWS KMS 」の「API アクセス許可: アクションとリソースのリファレンス](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html)」を参照してください。

IAM ポリシーを使用して、 AWS KMS キーのアクセス許可を管理することもできます。詳細については、[AWS KMSでの IAM ポリシーの使用](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html)を参照してください。

**注記**  
Amazon SNS からメッセージを送受信するグローバルアクセス許可を設定できます。ただし、 では、特定の の (KMS キー) の完全な Amazon リソースネーム AWS KMS keys (ARN) に名前を付ける AWS KMS 必要があります AWS リージョン。これは、IAM ポリシーの [**リソース**] セクションにあります。  
KMS キーのキーポリシーで必要な許可を付与していることを確認します。そのためには、Amazon SNS で暗号化されたメッセージを作成するプリンシパルと消費するプリンシパルをユーザーとして KMS キーポリシーで指定します。<a name="enable-compatiblility"></a>

**AWS コスト異常検出と暗号化された Amazon SNS トピック間の互換性を有効にするには**

1. [KMS キーを作成します](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-keys-console)。

1. KMS キーポリシーとして、以下のいずれかのポリシーを追加します。

    AWS コスト異常検出サービスに KMS キーへのアクセスを許可するには、次のステートメントを使用します。

------
#### [ JSON ]

****  

   ```
   {
       "Version": "2012-10-17",
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "costalerts.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey*",
                   "kms:Decrypt"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

   特定のアカウントに代わってオペレーションを実行する場合にのみ、 AWS コスト異常検出サービスに KMS キーへのアクセスを許可するには、次のステートメントを使用します。

------
#### [ JSON ]

****  

   ```
   {
       "Version": "2012-10-17",
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "costalerts.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey*",
                   "kms:Decrypt"
               ],
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "aws:SourceAccount": [
                           "account-ID"
                       ]
                   }
               }
           }
       ]
   }
   ```

------
**注記**  
この KMS キーポリシーでは、サブスクリプションのアカウント ID を `aws:SourceAccount` 条件の値として入力します。この条件では、サブスクリプションを所有するアカウントのオペレーションを実行する場合にのみ、 AWS コスト異常検出が KMS キーとやり取りします。  
特定のサブスクリプションに代わってオペレーションを実行する場合にのみ、 AWS コスト異常検出が KMS キーとやり取りされるようにするには、KMS キーポリシーで `aws:SourceArn`条件を使用します。  
これらの条件の詳細については、「*IAM ユーザーガイド*」の「[https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)」および「[https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)」を参照してください。

1. KMS キーポリシーを `aws:SourceAccount` 条件とともに使用する場合、*account-ID* の部分をサブスクリプションを所有するアカウント ID で置き換えます。Amazon SNS トピックに異なるアカウントからの複数のサブスクリプションがある場合、複数のアカウント ID を `aws:SourceAccount` 条件に追加できます。

1. [Amazon SNS トピックの SSE を有効にします](https://docs.aws.amazon.com/sns/latest/dg/sns-tutorial-enable-encryption-for-topic.html)。
**注記**  
暗号化された Amazon SNS トピックに公開するための許可を AWS コスト異常検出に付与するものと同じ KMS キーを使用していることを確認します。

1. [**変更を保存**] を選択します。

# チャットアプリケーションでの異常アラートの受信
<a name="cad-alert-chime"></a>

Amazon Q Developer を使用して、Amazon Chime と Slack で AWS コスト異常検出アラートを受信できます。

------
#### [ Amazon Chime ]

**Amazon Chime で AWS コスト異常検出アラートの受信を開始するには**

1. [AWS コスト異常検出の開始方法](getting-started-ad.md) に従ってモニターを作成します。

1. `Individual alerts` タイプを使用してアラートサブスクリプションを作成します。Amazon SNS トピックを設定できるのは `individual alerts` のみです。

1. Amazon SNS トピックをアラートの受信者として、特定のアラートに追加します。コスト異常検出が Amazon SNS トピックに発行するための許可を持っていることを確実するには、[異常通知用の Amazon SNS トピックの作成](ad-SNS.md) を参照してください。

1. Amazon Chime のアラートを受信したいモニターに、アラートサブスクリプションをアタッチします。

1. [Amazon Chime](http://app.chime.aws/) を開きます。

1. [**Amazon Chime**] で、Amazon Q Developer を介して通知を受信するようにセットアップするチャットルームを選択します。

1. 右上のルーム設定アイコンを選択し、[**ウェブフックとボットを管理**] を選択します。

   Amazon Chime は、チャットルームに関連付けられたウェブフックを表示します。

1. ウェブフックで、[**URL をコピー**] を選択し、[**完了**] を選択します。

   チャットルームに新しいウェブフックを作成する必要がある場合は、[**ウェブフックを追加**] を選択し、[**名前**] フィールドにウェブフックの名前を入力し、[**作成**] を選択します。

1. [Amazon Q Developer in chat applications コンソール](https://us-east-2.console.aws.amazon.com/chatbot/home?region=us-east-2#/chat-clients)を開きます。

1. [**新しいクライアントを設定**] を選択します。

1. [**Amazon Chime**]、[**設定**] の順に選択します。

1. [**設定の詳細**] で、設定の名前を入力します。名前はアカウント全体で一意である必要があり、後で編集することはできません。

1. Amazon Chime ウェブフックを設定するには、次の手順を実行します。

   1. [**ウェブフック URL**] には、Amazon Chime からコピーしたウェブフックの URL を貼り付けます。

   1. [**ウェブフックの説明**] では、次の命名規則 (**Chat\$1room\$1name/Webhook\$1name**) を使用して Webhook の目的を記述します。これにより、Amazon Chime ウェブフックを Amazon Q Developer 設定に関連付けることができます。

1. この設定のログ記録を有効にする場合は、[**Amazon CloudWatch Logs にログを発行する**] を選択します。詳細については、Amazon CloudWatch Logs for Amazon Q Developer を参照してください。
**注記**  
Amazon CloudWatch Logs の使用には追加料金がかかります。

1. [**アクセス許可**] は、次のように IAM アクセス許可を設定します。

   1. [**IAM ロール**] には、[**テンプレートを使用して IAM ロールを作成する**] を選択します。代わりに既存のロールを使用する場合は、[**IAM ロール**] リストから選択します。既存の IAM ロールを使用するには、Amazon Q Developer で使用するように変更する必要があります。詳細については、Configuring an IAM Role for Amazon Q Developer を参照してください。

   1. **[Role name]** (ロール名) に名前を入力します。有効な文字: a～z、A～Z、0～9

   1. [**ポリシー**] テンプレートで、[**通知の許可**] を選択します。これは、Amazon Q Developer が提供する IAM ポリシーです。CloudWatch アラーム、イベント、ログ、および Amazon SNS トピックに必要な読み取りおよび一覧表示のアクセス許可を提供します。

1. Amazon Chime ウェブフックに通知を送信する Amazon SNS トピックを設定します。

   1. **Amazon SNS リージョン**では AWS 、この Amazon Q Developer サブスクリプションの Amazon SNS トピックをホストするリージョンを選択します。

   1. **Amazon SNS トピック**では、クライアントサブスクリプションの Amazon SNS トピックを選択します。このトピックでは、Amazon Chime ウェブフックに送信されるコンテンツを決定します。リージョンに追加の Amazon SNS トピックがある場合は、同じドロップダウンリストからトピックを選択できます。

   1. 別のリージョンから通知サブスクリプションに Amazon SNS トピックを追加する場合は、**別のリージョンを追加する**を選択します。

1. [**設定**] を選択します。

その他の詳細については、Amazon Q Developer in chat applications 管理者ガイドの[チュートリアル: Amazon Chime の使用を開始する](https://docs.aws.amazon.com/chatbot/latest/adminguide/chime-setup.html)を参照してください。**

------
#### [ Slack ]

**Slack で AWS コスト異常検出アラートの受信を開始するには**

1. [AWS コスト異常検出の開始方法](getting-started-ad.md) に従ってモニターを作成します。

1. `Individual alerts` タイプを使用してアラートサブスクリプションを作成します。Amazon SNS トピックを設定できるのは `individual alerts` のみです。

1. Amazon SNS トピックをアラートの受信者として、特定のアラートに追加します。コスト異常検出が Amazon SNS トピックに発行するための許可を持っていることを確実するには、[異常通知用の Amazon SNS トピックの作成](ad-SNS.md) を参照してください。

1. Slack のアラートを受信したいモニターに、アラートサブスクリプションをアタッチします。

1. Amazon Q Developer を Slack ワークスペースに追加します。

1. [Amazon Q Developer in chat applications コンソール](https://us-east-2.console.aws.amazon.com/chatbot/home?region=us-east-2#/chat-clients)を開きます。

1. [**新しいクライアントを設定**] を選択します。

1. [**Slack**]、[**設定**] の順に選択します。

1. 右上のドロップダウンリストから、Amazon Q Developer で使用する Slack ワークスペースを選択します。

1. [**許可**] を選択します。

その他の詳細については、Amazon Q Developer in chat applications 管理者ガイドの[チュートリアル: Slack の使用を開始する](https://docs.aws.amazon.com/chatbot/latest/adminguide/slack-setup.html)を参照してください。**

------

# コスト異常検出で EventBridge を使用する
<a name="cad-eventbridge"></a>

AWS コスト異常検出は EventBridge と統合されています。EventBridge は、アプリケーションをさまざまなソースのデータに接続するために使用できるイベントバスサービスです。詳細については、[Amazon EventBridge ユーザーガイド](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)を参照してください。

EventBridge を使用して、コスト異常検出イベントを検出し、それらに対応することができます。そうすると、作成されたルールに基づいて、イベントがルールで指定されている値に一致するときに、EventBridge が 1 つ、または複数のターゲットアクションを呼び出します。イベントのタイプに応じて、イベント情報の取得、追加イベントの開始、通知の送信、是正措置の実施、またはその他のアクションを実行することができます。コスト異常検出イベントの EventBridge ルールを設定するには、Amazon EventBridge ユーザーガイドの [Create a rule in Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html#eb-gs-create-rule) を参照してください。**

## 例: コスト異常検出の EventBridge イベント
<a name="cad-eventbridge-example"></a>

即時アラートが検出されると、サブスクライバーは `Anomaly Detected` という詳細タイプのイベントを受け取ります。次の例は、詳細タイプのイベント本文を示したものです。

```
{
    "version": "0",
    "id": "<id>", // alphanumeric string
    "source": "aws.ce",
    "detail-type": "Anomaly Detected",
    "account": "<account ID>", // 12 digit account id.
    "region": "<region>", // Cost Anomaly Detection home region.
    "time": "<date>", // Format: yyyy-MM-dd'T'hh:mm:ssZ
    "resources": [ 
         "arn:aws:ce::123456789012:anomalymonitor/abcdef12-1234-4ea0-84cc-918a97d736ef"
    ],
    "detail": {
         "accountName": "<account name>",
         "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",
         "dimensionValue": "<dimension value>", // service name for AWS Service Monitor
         "feedback": "string",
         "impact": {
            "maxImpact": 151,
            "totalActualSpend": 1301,
            "totalExpectedSpend": 300,
            "totalImpact": 1001,
            "totalImpactPercentage": 333.67
         },
         "rootCauses": [ 
            {
                "linkedAccount": "<linked account ID>", // 12 digit account id.
                "linkedAccountName": "<linked account name>",
                "region": "<region>",
                "service": "<service name>", // AWS service name
                "usageType": "<usage type>", // AWS service usage type
                "impact": {
                    "contribution": 601,
                }
            }
        ],
        "accountId": "<account ID>", // 12 digit account id.
        "monitorArn": "arn:aws:ce::123456789012:anomalymonitor/abcdef12-1234-4ea0-84cc-918a97d736ef",
        "monitorName": "<your monitor name>",
        "anomalyDetailsLink": "https://console.aws.amazon.com/cost-management/home#/anomaly-detection/monitors/abcdef12-1234-4ea0-84cc-918a97d736ef/anomalies/12345678-abcd-ef12-3456-987654321a12"
    }
}
```

# コスト異常検出での AWS ユーザー通知の使用
<a name="cad-user-notifications"></a>

[AWS User Notifications](https://docs.aws.amazon.com/notifications/latest/userguide/what-is-service.html) を使用して、コスト異常検出イベントについて通知する配信チャネルを設定できます。指定したルールにイベントが一致すると、通知を受け取ります。イベントの通知は、Eメール、Amazon Chime、Microsoft Teams、Slack などの[チャットアプリケーション内の Amazon Q Developer](https://docs.aws.amazon.com/chatbot/latest/adminguide/what-is.html)、または [AWS Console Mobile Application](https://docs.aws.amazon.com/consolemobileapp/latest/userguide/what-is-consolemobileapp.html) のプッシュ通知など、複数のチャネルで受け取ることができます。 AWS ユーザー通知コンソールの[コンソール通知センター](https://console.aws.amazon.com/notifications/)を使用して通知を表示することもできます。

AWS ユーザー通知は集約もサポートしているため、特定のイベント中に受け取る通知の数を減らすことができます。詳細については、[AWS User Notifications ユーザーガイド](https://docs.aws.amazon.com/notifications/latest/userguide/what-is-service.html)を参照してください。

 AWS ユーザー通知を使用するには、適切な AWS Identity and Access Management (IAM) アクセス許可が必要です。IAM アクセス許可の設定について詳しくは、**AWS User Notifications ユーザーガイド の [Creating a notification configuration](https://docs.aws.amazon.com/notifications/latest/userguide/getting-started.html#getting-started-step1) を参照してください。

## 例: `Anomaly Detected` の EventBridge イベント
<a name="cad-user-notifications-example"></a>

以下は、`Anomaly Detected` の一般化されたサンプルイベントです。 AWS ユーザー通知を使用して EventBridge イベント (このイベントなど) をサブスクライブできます。

```
{
    "version": "0",
    "id": "<id>", // alphanumeric string
    "source": "aws.ce",
    "detail-type": "Anomaly Detected",
    "account": "<account ID>", // 12 digit account id.
    "region": "<region>", // Cost Anomaly Detection home region.
    "time": "<date>", // Format: yyyy-MM-dd'T'hh:mm:ssZ
    "resources": [ 
         "arn:aws:ce::123456789012:anomalymonitor/abcdef12-1234-4ea0-84cc-918a97d736ef"
    ],
    "detail": {
         "accountName": "<account name>",
         "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",
         "dimensionValue": "<dimension value>", // service name for AWS Service Monitor
         "feedback": "string",
         "impact": {
            "maxImpact": 151,
            "totalActualSpend": 1301,
            "totalExpectedSpend": 300,
            "totalImpact": 1001,
            "totalImpactPercentage": 333.67
         },
         "rootCauses": [ 
            {
                "linkedAccount": "<linked account ID>", // 12 digit account id.
                "linkedAccountName": "<linked account name>",
                "region": "<region>",
                "service": "<service name>", // AWS service name
                "usageType": "<usage type>", // AWS service usage type
                "impact": {
                    "contribution": 601,
                }
            }
        ],
        "accountId": "<account ID>", // 12 digit account id.
        "monitorArn": "arn:aws:ce::123456789012:anomalymonitor/abcdef12-1234-4ea0-84cc-918a97d736ef",
        "monitorName": "<your monitor name>",
        "anomalyDetailsLink": "https://console.aws.amazon.com/cost-management/home#/anomaly-detection/monitors/abcdef12-1234-4ea0-84cc-918a97d736ef/anomalies/12345678-abcd-ef12-3456-987654321a12"
    }
}
```

## イベントのフィルタリング
<a name="cad-user-notifications-filter"></a>

 AWS ユーザー通知コンソールで使用できるフィルターを使用するか、JSON コードから独自の EventBridge フィルターを作成する場合は特定のプロパティを使用して、サービスと名前でイベントをフィルタリングできます。

**Topics**
+ [例: インパクトでフィルタリングする](#example-filter-by-impact)
+ [例: サービスディメンションでフィルタリングする](#example-filter-by-service-dimension)
+ [例: コスト配分タグでフィルタリングする](#example-filter-by-cost-allocation-tag)
+ [例: リージョンの根本原因でフィルタリングする](#example-filter-by-region-root-cause)
+ [例: 複数の基準でフィルタリングする](#example-filter-composition)

### 例: インパクトでフィルタリングする
<a name="example-filter-by-impact"></a>

次のフィルターを使用すると、合計インパクトが 100 USD を超え、インパクト率が 10% を超える異常が取得されます。

```
{
    "detail": {
        "impact": {
            "totalImpact": [{
                "numeric": [">", 100]
            }],
            "totalImpactPercentage": [{
                "numeric": [">", 10]
            }]
        }
    }
}
```

### 例: サービスディメンションでフィルタリングする
<a name="example-filter-by-service-dimension"></a>

次のフィルターは、 AWS サービスモニターによって検出された EC2 サービス固有の異常をキャプチャします。

```
{
    "detail": {
        "dimensionValue": ["Amazon Elastic Compute Cloud - Compute"],
        "monitorName": ["aws-services-monitor"]
    }
}
```

### 例: コスト配分タグでフィルタリングする
<a name="example-filter-by-cost-allocation-tag"></a>

次のフィルターを使用すると、ディメンションコスト配分タグモニターによって検出されたフロントエンドアプリケーションチームの異常が取得されます。

```
{
  "detail": {
    "dimensionValue": ["ApplicationTeam:Frontend"],
    "monitorName": ["dimensional-CAT-monitor"]
  }
}
```

### 例: リージョンの根本原因でフィルタリングする
<a name="example-filter-by-region-root-cause"></a>

次のフィルターを使用すると、米国東部 (バージニア北部) リージョンで根本原因がある異常が取得されます。

```
{
  "detail": {
    "rootCauses": {
      "region": ["us-east-1"]
    }
  }
}
```

### 例: 複数の基準でフィルタリングする
<a name="example-filter-composition"></a>

次の複合フィルターを使用すると、米国東部 (バージニア北部) リージョンで、合計 100 USD を超えるインパクト、10% を超えるインパクト、根本原因を持つフロントエンドアプリケーションチームの異常が取得されます。

```
{
  "detail": {
    "dimensionValue": ["ApplicationTeam:Frontend"],
    "monitorName": ["dimensional-CAT-monitor"],
    "impact": {
        "totalImpact": [{ "numeric": [">", 100] }],
        "totalImpactPercentage": [{ "numeric": [">", 10] }]
    },
    "rootCauses": {
        "region": ["us-east-1"]
    }
  }
}
```

# コスト異常検出のオプトアウト
<a name="opting-out-cad"></a>

コスト異常検出はいつでもオプトアウトできます。オプトアウトするには、アカウント内で、すべてのコストモニタリングとアラートサブスクリプションを削除する必要があります。オプトアウト後、コスト異常検出は、支出パターンの異常をモニタリングしなくなます。また、通知が送信されることもなくなります。

**コスト異常検出のオプトアウト方法**

1. [https://console.aws.amazon.com/costmanagement/](https://console.aws.amazon.com/costmanagement/) で Billing and Cost Management コンソールを開きます

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

1. 既存のコストモニターを削除するには、以下の手順に従います。

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

   1. 削除するコストモニターを選択します。

   1. **[削除]** を選択します。

   1. **[コストモニターの削除]** ダイアログボックスで、**[削除]** を選択します。

   1. その他のコストモニターについても、同じ手順を繰り返します。

1. 既存のアラートサブスクリプションを削除するには、以下の手順に従います。

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

   1. 削除するアラートサブスクリプションを選択します。

   1. [**削除**] を選択します。

   1. **[アラートサブスクリプションの削除]** ダイアログボックスで、**[削除]** を選択します。

   1. その他のアラートサブスクリプションについても、同じ手順を繰り返します。

**注記**  
また、Cost Explorer API を介してコストモニタリングとアラートサブスクリプションを削除することで、コスト異常検出をオプトアウトすることもできます。これを行うには、「[DeleteAnomalyMonitor](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_DeleteAnomalyMonitor.html)」と「[DeleteAnomalySubscription](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_DeleteAnomalySubscription.html)」を使用します。