異常通知用の Amazon SNS トピックの作成 - AWS コスト管理

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

異常通知用の Amazon SNS トピックの作成

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

Amazon SNS 通知トピックを作成し、許可を付与するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/sns/v3/home で Amazon SNS コンソールを開きます。

  2. ナビゲーションペインで、[トピック] を選択します。

  3. [Create topic] (トピックの作成) を選択します。

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

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

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

  7. ポリシーのテキストフィールドで、"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 ユーザーガイド」の「 aws:SourceAccount」および「aws:SourceArn」を参照してください。

  8. 選択したトピックポリシーステートメントで、次の値を置き換えます。

    • ( などAWSAnomalyDetectionSNSPublishingPermissions) を文字列に置き換えます。Sid はポリシー内で一意であることが必要です。

    • your topic ARN の部分を Amazon SNS topic Amazon リソースネーム (ARN) で置き換えます。

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

  9. [Create topic] (トピックの作成) を選択します。

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

通知確認メールのメッセージの確認または再送信

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

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

通知のステータスを確認するか、通知確認の E メールメッセージを再送信するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/sns/v3/home で Amazon SNS コンソールを開きます。

  2. ナビゲーションペインで [Subscriptions] (サブスクリプション) を選択します。

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

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

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

SSE と を使用した Amazon SNS 異常検出アラートデータの保護 AWS KMS

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

AWS Management Console または AWS SDK を使用して SSE を管理するには、Amazon Simple Notification Service 入門ガイドの「Amazon SNS トピックのサーバー側の暗号化 (SSE) を有効にする」を参照してください。

を使用して暗号化されたトピックを作成するには AWS CloudFormation、「 AWS CloudFormation ユーザーガイド」を参照してください。

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

アクセス AWS KMS 許可の設定

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

IAM ポリシーを使用して、 AWS KMS キーのアクセス許可を管理することもできます。詳細については、「AWS KMSでの IAM ポリシーの使用」を参照してください。

注記

Amazon SNS からメッセージを送受信するグローバルアクセス許可を設定できます。ただし、 AWS KMS では、特定の の (KMS キー) の完全な Amazon リソースネーム AWS KMS keys (ARN) を指定する必要があります AWS リージョン。これは、IAM ポリシーの [リソース] セクションにあります。

KMS キーのキーポリシーで必要な許可を付与していることを確認します。そのためには、Amazon SNS で暗号化されたメッセージを作成するプリンシパルと消費するプリンシパルをユーザーとして KMS キーポリシーで指定します。

AWS コスト異常検出と暗号化された Amazon SNS トピック間の互換性を有効にするには
  1. KMS キーを作成します

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

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

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

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

    { "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 ユーザーガイド」の「aws:SourceAccount」および「aws:SourceArn」を参照してください。

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

  4. SNS トピックに対して SSE を有効にします。

    注記

    暗号化された Amazon SNS トピックに公開するための許可を AWS コスト異常検出に付与するものと同じ KMS キーを使用していることを確認します。

  5. [変更の保存] をクリックします。