AWS 請求情報とコスト管理
ユーザーガイド (Version 2.0)

予算の通知に関連付ける Amazon SNS トピックの作成

Amazon Simple Notification Service (Amazon SNS) トピックに通知を送信する予算を作成するときは、既存の Amazon SNS トピックを用意するか、Amazon SNS トピックを作成する必要があります。Amazon SNS トピックでは、E メールに加えて SMS 経由で通知を送信できます。予算には、トピックに通知を送信するためのアクセス許可が必要です。

Amazon SNS トピックを作成し、予算にアクセス権限を付与するには、Amazon SNS コンソールを使用します。

Amazon SNS 通知トピックを作成し、アクセス権限を付与するには

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

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

  3. [トピック] ページで、[新しいトピックの作成] を選択します。

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

  5. [表示名] に、通知を受け取ったときに表示する名前を入力します。

  6. [トピックの作成] を選択します。トピックは [トピック] ページのトピックのリストに表示されます。

  7. トピックを選択し、その名前の横にある ARN をコピーします。

  8. [Actions (アクション)] で、[トピックのポリシーの編集] を選択します。

  9. ダイアログボックスで、[Advanced view] を選択します。

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

    { "Sid": "E.g., AWSBudgetsSNSPublishingPermissions", "Effect": "Allow", "Principal": { "Service": "budgets.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "your topic ARN" },
  11. E.g., AWSBudgetsSNSPublishingPermissions を文字列に置き換えます。Sid はポリシー内で一意であることが必要です。

  12. your topic ARN を、ステップ 7 からの Amazon SNS トピック ARN に置き換えます。

  13. [ポリシーの更新] を選択します。これにより、予算からそのトピックへの発行が許可されます。

これで、Amazon SNS トピック ARN を使用して、予算に関連付けられた Amazon SNS 通知を設定できました。

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

通知を使用して予算を作成すると、Amazon SNS 通知も作成されます。通知を送信するには、Amazon SNS 通知トピックへのサブスクリプションを承認する必要があります。

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

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

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

  2. ナビゲーションペインで [Subscriptions] を選択します。

  3. [Subscriptions] ページで、[Filter] に budget と入力します。予算通知のリストが表示されます。

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

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

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

SSE と AWS KMS による Amazon SNS 予算アラートデータの保護

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

AWS マネジメントコンソール または AWS Service Development Kit (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 Developer Guide の「AWS KMS API のアクセス許可: アクションとリソースのリファレンス」を参照してください。

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

注記

Amazon SNS との間でメッセージを送受信するためのグローバルアクセス許可を設定できますが、AWS KMS では、特定のリージョンのカスタマーマスターキー (CMK) の完全な ARN を指定する必要があります。この ARN は IAM ポリシーの [Resource (リソース)] セクションにあります。

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

AWS Budgets トピックと暗号化された Amazon SNS トピック間の互換性を有効にするには

  1. CMK を作成します。

  2. CMK ポリシーに以下のテキストを追加します。

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "budgets.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*" }] }
  3. SNS トピックに対して SSE を有効にします。

    注記

    暗号化された Amazon SNS トピックに公開するためのアクセス許可を AWS Budgets に付与するものと同じ CMK を使用していることを確認します。

  4. [変更の保存] を選択します。