

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

# 予算の通知に関する Amazon SNS トピックを作成する
<a name="budgets-sns-policy"></a>

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

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

**注記**  
Amazon SNS トピックは、設定する Budgets と同じアカウントにある必要があります。クロスアカウントでの Amazon SNS はサポートされていません。

**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": [** の後に以下のテキストを追加します。

   ```
   {
     "Sid": "E.g., AWSBudgetsSNSPublishingPermissions",
     "Effect": "Allow",
     "Principal": {
       "Service": "budgets.amazonaws.com"
     },
     "Action": "SNS:Publish",
     "Resource": "your topic ARN",
      "Condition": {
           "StringEquals": {
             "aws:SourceAccount": "<account-id>"
           },
           "ArnLike": {
             "aws:SourceArn": "arn:aws:budgets::<account-id>:*"
           }
         }
   }
   ```

1. **E.g., AWSBudgetsSNSPublishingPermissions** を文字列に置き換えます。`Sid` はポリシー内で一意であることが必要です。

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

1. [**詳細**] の下で、ARN を保存します。

1. **[編集]** を選択します。

1. [**アクセスポリシー**] の下で、[*トピック ARN*] を、ステップ 10 の Amazon SNS トピック ARN と置き換えます。

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

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

## トラブルシューティング
<a name="budgets-sns-troubleshoot"></a>

予算通知の Amazon SNS トピックを作成するときに、以下のエラーメッセージが表示されることがあります。

**SNS ARN 形式に準拠してください**  
置き換えた ARN に構文エラーがあります (ステップ 9)。ARN の構文とフォーマットが正しいかどうかを確認します。

**無効な SNS トピック**  
AWS Budgets は SNS トピックにアクセスできません。SNS トピックのリソースベースのポリシーで、budgets.amazonaws.com にこの SNS トピックにメッセージを発行する機能を許可していることを確認します。

**SNS トピックは暗号化されています**  
SNS トピックで [**暗号化**] を有効にしています。SNS トピックは、追加の許可がないと機能しません。トピックの暗号化を無効にし、[**予算の編集**] ページを更新します。

## 通知の確認メールを確認または再送信する
<a name="budgets-confirm-subscription"></a>

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

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

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

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

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

1. **[サブスクリプション]** ページで、**[フィルター]** に `budget` と入力します。予算通知のリストが表示されます。

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

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

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

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

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

 AWS マネジメントコンソール または AWS Service Development Kit (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 キーのアクセス許可を管理することもできます。詳細については、「 [での IAM ポリシーの使用 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html)」を参照してください。

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

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

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

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

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

1. **[Save changes]** (変更の保存) をクリックします。