

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

# Amazon SNS をアラートレシーバーとして使用する
<a name="AMP-alertmanager-receiver-createtopic"></a>

既存の Amazon SNS トピックを Amazon Managed Service for Prometheus のアラートレシーバーとして使用することも、新しいトピックを作成することもできます。**[標準]** タイプのトピックを使用することをお勧めします。このタイプでは、トピックから E メール、SMS、HTTP にアラートを転送できます。

アラートマネージャーのレシーバーとして使用する新しい Amazon SNS トピックを作成するには、「[ステップ 1: トピックを作成する](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html#step-create-queue)」の手順に従います。トピックのタイプとして、必ず **[標準]** を選択してください。

その Amazon SNS トピックにメッセージが送信されるたびに E メールを受信するには、「[ステップ 2: トピックに対するサブスクリプションを作成する](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html#step-send-message)」の手順に従います。

新規または既存の Amazon SNS トピックを使用するかどうかにかかわらず、以下のタスクを完了するには、Amazon SNS トピックの Amazon リソースネーム (ARN) が必要です。

**Topics**
+ [Amazon SNS トピックにアラートメッセージを送信するためのアクセス許可を Amazon Managed Service for Prometheus に付与する](AMP-alertmanager-receiver-AMPpermission.md)
+ [Amazon SNS トピックにメッセージを送信するようにアラートマネージャーを設定する](AMP-alertmanager-receiver-config.md)
+ [Amazon SNS にメッセージを JSON として送信するようにアラートマネージャーを設定する](AMP-alertmanager-receiver-JSON.md)
+ [アラートのメッセージを他の送信先に送信するように Amazon SNS を設定する](AMP-alertmanager-SNS-otherdestinations.md)
+ [Amazon SNS メッセージ検証ルールを理解する](AMP-alertmanager-receiver-validation-truncation.md)

# Amazon SNS トピックにアラートメッセージを送信するためのアクセス許可を Amazon Managed Service for Prometheus に付与する
<a name="AMP-alertmanager-receiver-AMPpermission"></a>

Amazon SNS トピックにメッセージを送信するには、Amazon Managed Service for Prometheus にアクセス許可を付与する必要があります。次のポリシーステートメントは、そのアクセス許可を付与します。これには、*混乱した代理*問題と呼ばれるセキュリティ問題の防止に役立つ `Condition` ステートメントが含まれています。`Condition` ステートメントは、Amazon SNS トピックへのアクセスを制限し、この特定のアカウントと Amazon Managed Service for Prometheus ワークスペースからのオペレーションのみを許可します。混乱した代理に関する問題の詳細については、「[サービス間での不分別な代理処理の防止](#cross-service-confused-deputy-prevention)」を参照してください。

**Amazon SNS トピックにメッセージを送信するためのアクセス許可を Amazon Managed Service for Prometheus に付与するには**

1. Amazon SNS コンソールの[https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home)を開いてください。

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

1. Amazon Managed Service for Prometheus で使用しているトピックの名前を選択します。

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

1. **[アクセスポリシー]** を選択し、次のポリシーステートメントを既存のポリシーに追加します。

   ```
   {
       "Sid": "Allow_Publish_Alarms",
       "Effect": "Allow",
       "Principal": {
           "Service": "aps.amazonaws.com"
       },
       "Action": [
           "sns:Publish",
           "sns:GetTopicAttributes"
       ],
       "Condition": {
           "ArnEquals": {
               "aws:SourceArn": "workspace_ARN"
           },
           "StringEquals": {
               "AWS:SourceAccount": "account_id"
           }
       },
       "Resource": "arn:aws:sns:region:account_id:topic_name"
   }
   ```

   [オプション] Amazon SNS トピックでサービス側の暗号化 (SSE) が有効になっている場合は、トピックの暗号化に使用されるキーの AWS KMS キーポリシーに `kms:GenerateDataKey*`および アクセス`kms:Decrypt`許可を追加して、Amazon Managed Service for Prometheus がこの暗号化されたトピックにメッセージを送信できるようにする必要があります。

   例えば、以下をポリシーに追加できます。

   ```
   {
     "Statement": [{
       "Effect": "Allow",
       "Principal": {
         "Service": "aps.amazonaws.com"
       },
       "Action": [
         "kms:GenerateDataKey*",
         "kms:Decrypt"
       ],
       "Resource": "*"
     }]
   }
   ```

   詳細については、「[SNS トピックに対するAWS KMS アクセス許可](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html#sns-what-permissions-for-sse)」を参照してください。

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

**注記**  
 デフォルトでは、Amazon SNS は `AWS:SourceOwner` に条件を設定したアクセスポリシーを作成します。詳細については、「[SNS アクセスポリシー](https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-use-cases.html#source-account-versus-source-owner)」を参照してください。

**注記**  
IAM は、[最も制限の厳しいポリシーを優先](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)するルールに従います。SNS トピックに、ドキュメント化された Amazon SNS ポリシーブロックよりも制限の厳しいポリシーブロックがある場合、トピックポリシーのアクセス許可は付与されません。ポリシーを評価して何が許可されているかを確認するには、「[ポリシーの評価論理](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)」を参照してください。

## オプトインリージョンの SNS トピック設定
<a name="AMP-alertmanager-sns-regional-config"></a>

`aps.amazonaws.com` を使用して、Amazon Managed Service for Prometheus ワークスペースと同じ で Amazon SNS トピックを設定できます。 AWS リージョン 非オプトインリージョン (us-east-1 など) の SNS トピックをオプトインリージョン (af-south-1 など) で使用するには、リージョンサービスプリンシパル形式を使用する必要があります。リージョンサービスの原則では、*us-east-1* を、使用する非オプトインリージョン (**aps.*us-east-1*.amazonaws.com**) に置き換えます。

次の表に、オプトインリージョンとそれに対応するリージョンサービスプリンシパルを示します。


**オプトインリージョンとそのリージョンサービスプリンシパル**  

| リージョン名 | リージョン | リージョンサービスプリンシパル | 
| --- | --- | --- | 
| アフリカ (ケープタウン) | af-south-1 | af-south-1.aps.amazonaws.com | 
| アジアパシフィック (香港) | ap-east-1 | ap-east-1.aps.amazonaws.com | 
| アジアパシフィック (タイ) | ap-southeast-7 | ap-southeast-7.aps.amazonaws.com | 
| 欧州 (ミラノ) | eu-south-1 | eu-south-1.aps.amazonaws.com | 
| 欧州 (チューリッヒ) | eu-central-2 | eu-central-2.aps.amazonaws.com | 
| 中東 (UAE) | me-central-1 | me-central-1.aps.amazonaws.com | 
| アジアパシフィック (マレーシア) | ap-southeast-5 | ap-southeast-5.aps.amazonaws.com | 

オプトインリージョンを有効にする方法については、 Amazon Web Services 全般のリファレンスの「*IAM ユーザーガイド*」の「[AWS リージョンの管理](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)」を参照してください。

これらのオプトインリージョンに Amazon SNS トピックを設定するときは、正しいリージョンサービスプリンシパルを使用して、リージョン間のアラート配信を有効にしてください。

## サービス間での不分別な代理処理の防止
<a name="cross-service-confused-deputy-prevention"></a>

混乱した代理問題は、アクションを実行するためのアクセス許可を持たないエンティティが、より特権のあるエンティティにアクションの実行を強制できてしまう場合に生じる、セキュリティ上の問題です。では AWS、サービス間のなりすましにより、混乱した代理問題が発生する可能性があります。サービス間でのなりすましは、1 つのサービス (*呼び出し元サービス*) が、別のサービス (*呼び出し対象サービス*) を呼び出すときに発生する可能性があります。呼び出し元サービスは、本来ならアクセスすることが許可されるべきではない方法でその許可を使用して、別のお客様のリソースに対する処理を実行するように操作される場合があります。これを防ぐために、 AWS には、アカウント内のリソースへのアクセス権が付与されたサービスプリンシパルですべてのサービスのデータを保護するために役立つツールが用意されています。

リソースポリシーで [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) および [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) グローバル条件コンテキストキーを使用して、Amazon Managed Service for Prometheus が Amazon SNS に付与するリソースへのアクセス許可を制限することをお勧めします。両方のグローバル条件コンテキストキーを同じポリシーステートメントで使用する場合は、`aws:SourceAccount` 値と、`aws:SourceArn` 値に含まれるアカウントが、同じアカウント ID を示している必要があります。

`aws:SourceArn` の値は、Amazon Managed Service for Prometheus ワークスペースの ARN でなければなりません。

混乱した代理問題から保護するための最も効果的な方法は、リソースの完全な ARN を指定して `aws:SourceArn` グローバル条件コンテキストキーを使用することです。リソースの完全な ARN が不明な場合や、複数のリソースを指定する場合は、`aws:SourceArn` グローバルコンテキスト条件キーを使用して、ARN の未知部分をワイルドカード (`*`) で表します。例えば、`arn:aws:servicename::123456789012:*` です。

「[Amazon SNS トピックにアラートメッセージを送信するためのアクセス許可を Amazon Managed Service for Prometheus に付与する](#AMP-alertmanager-receiver-AMPpermission)」に記載されているポリシーは、Amazon Managed Service for Prometheus で `aws:SourceArn` および `aws:SourceAccount` グローバル条件コンテキストキーを使用して、混乱した代理問題を防止する方法を示しています。

# Amazon SNS トピックにメッセージを送信するようにアラートマネージャーを設定する
<a name="AMP-alertmanager-receiver-config"></a>

**標準**タイプの (新規または既存の) Amazon SNS トピックを作成したら、これをアラートレシーバーとしてアラートマネージャー設定に追加できます。アラートマネージャーは、設定したアラートレシーバーにアラートを転送できます。そのためには、Amazon SNS トピックの Amazon リソースネーム (ARN) を知っている必要があります。

Amazon SNS のレシーバー設定の詳細については、Prometheus の構成に関するドキュメントの「[<sns\$1configs>](https://prometheus.io/docs/alerting/latest/configuration/#sns_configs)」を参照してください。

**サポートされないプロパティ**

Amazon Managed Service for Prometheus では、アラートのレシーバーとして Amazon SNS がサポートされています。ただし、サービスの制約により、Amazon SNS レシーバーのすべてのプロパティがサポートされるわけではありません。以下のプロパティは、Amazon Managed Service for Prometheus のアラートマネージャー設定ファイルでは使用できません。
+ `api_url:` - `api_url` は Amazon Managed Service for Prometheus によって自動的に設定されるため、このプロパティは使用できません。
+ `Http_config` - このプロパティは、外部プロキシを設定できるようにするものです。Amazon Managed Service for Prometheus では、この機能は現在サポートされていません。

また、SigV4 設定にはリージョンプロパティを含める必要があります。リージョンプロパティを指定しない場合、認可リクエストを行うための十分な情報が Amazon Managed Service for Prometheus に提供されません。

**Amazon SNS トピックをレシーバーとしてアラートマネージャーを構成するには**

1. 既存のアラートマネージャー設定ファイルを使用している場合は、テキストエディタでそのファイルを開きます。

1. `receivers` ブロックに Amazon SNS 以外の現在のレシーバーがある場合は、それらを削除します。複数の Amazon SNS トピックをレシーバーとして構成するには、各トピックを `receivers` ブロック内の個別の `sns_config` ブロックに追加します。

1. `receivers` セクションに次の YAML ブロックを追加します。

   ```
   - name: name_of_receiver
     sns_configs:
       - sigv4:
           region: AWS リージョン
         topic_arn: ARN_of_SNS_topic
         subject: yoursubject
         attributes:
           key: yourkey
           value: yourvalue
   ```

`subject` を指定しない場合、デフォルトでは、ラベル名と値を使用するデフォルトテンプレートから件名が生成されますが、この値は SNS には長すぎる可能性があります。件名に適用されるテンプレートを変更するには、このガイドの「[Amazon SNS にメッセージを JSON として送信するようにアラートマネージャーを設定する](AMP-alertmanager-receiver-JSON.md)」を参照してください。

この後は、アラートマネージャー設定ファイルを Amazon Managed Service for Prometheus にアップロードする必要があります。詳細については、「[Amazon Managed Service for Prometheus にアラートマネージャー設定ファイルをアップロードする](AMP-alertmanager-upload.md)」を参照してください。

# Amazon SNS にメッセージを JSON として送信するようにアラートマネージャーを設定する
<a name="AMP-alertmanager-receiver-JSON"></a>

Amazon Managed Service for Prometheus アラートマネージャーは、デフォルトでは、メッセージをプレーンテキストリスト形式で出力します。これは、他のサービスで解析しにくい場合があります。代わりに、アラートを JSON 形式で送信するようにアラートマネージャーを設定できます。JSON を使用すると、 AWS Lambda またはウェブフック受信エンドポイントで Amazon SNS のダウンストリームのメッセージを簡単に処理できます。デフォルトのテンプレートを使用する代わりに、メッセージの内容を JSON で出力するカスタムテンプレートを定義すると、ダウンストリーム関数での解析が容易になります。

アラートマネージャーから Amazon SNS に JSON 形式でメッセージを出力するには、アラートマネージャーの設定を更新して、`template_files` ルートセクション内に次のコードを含めます。

```
default_template: |
   {{ define "sns.default.message" }}{{ "{" }}"receiver": "{{ .Receiver }}","status": "{{ .Status }}","alerts": [{{ range $alertIndex, $alerts := .Alerts }}{{ if $alertIndex }}, {{ end }}{{ "{" }}"status": "{{ $alerts.Status }}"{{ if gt (len $alerts.Labels.SortedPairs) 0 -}},"labels": {{ "{" }}{{ range $index, $label := $alerts.Labels.SortedPairs }}{{ if $index }}, {{ end }}"{{ $label.Name }}": "{{ $label.Value }}"{{ end }}{{ "}" }}{{- end }}{{ if gt (len $alerts.Annotations.SortedPairs ) 0 -}},"annotations": {{ "{" }}{{ range $index, $annotations := $alerts.Annotations.SortedPairs }}{{ if $index }}, {{ end }}"{{ $annotations.Name }}": "{{ $annotations.Value }}"{{ end }}{{ "}" }}{{- end }},"startsAt": "{{ $alerts.StartsAt }}","endsAt": "{{ $alerts.EndsAt }}","generatorURL": "{{ $alerts.GeneratorURL }}","fingerprint": "{{ $alerts.Fingerprint }}"{{ "}" }}{{ end }}]{{ if gt (len .GroupLabels) 0 -}},"groupLabels": {{ "{" }}{{ range $index, $groupLabels := .GroupLabels.SortedPairs }}{{ if $index }}, {{ end }}"{{ $groupLabels.Name }}": "{{ $groupLabels.Value }}"{{ end }}{{ "}" }}{{- end }}{{ if gt (len .CommonLabels) 0 -}},"commonLabels": {{ "{" }}{{ range $index, $commonLabels := .CommonLabels.SortedPairs }}{{ if $index }}, {{ end }}"{{ $commonLabels.Name }}": "{{ $commonLabels.Value }}"{{ end }}{{ "}" }}{{- end }}{{ if gt (len .CommonAnnotations) 0 -}},"commonAnnotations": {{ "{" }}{{ range $index, $commonAnnotations := .CommonAnnotations.SortedPairs }}{{ if $index }}, {{ end }}"{{ $commonAnnotations.Name }}": "{{ $commonAnnotations.Value }}"{{ end }}{{ "}" }}{{- end }}{{ "}" }}{{ end }}
   {{ define "sns.default.subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}]{{ end }}
```

**注記**  
このテンプレートは、英数字データから JSON を作成します。データに特殊文字が含まれている場合は、このテンプレートを使用する前にそれらをエンコードしてください。

このテンプレートが送信通知で使用されるようにするには、次のように `alertmanager_config` ブロックでテンプレートを参照します。

```
alertmanager_config: |
  global:
  templates:
    - 'default_template'
```

**注記**  
このテンプレートは、メッセージ本文全体を JSON として出力するものです。このテンプレートにより、メッセージ本文全体が上書きされます。この特定のテンプレートを使用する場合、メッセージ本文をオーバーライドすることはできません。手動で行ったオーバーライドは、テンプレートよりも優先されます。

詳細については、以下を参照してください。
+ アラートマネージャー設定ファイルについては、「[Amazon Managed Service for Prometheus でアラートを管理およびルーティングするためのアラートマネージャー設定を作成します。](AMP-alertmanager-config.md)」を参照してください。
+ 設定ファイルのアップロードについては、「[Amazon Managed Service for Prometheus にアラートマネージャー設定ファイルをアップロードする](AMP-alertmanager-upload.md)」を参照してください。

# アラートのメッセージを他の送信先に送信するように Amazon SNS を設定する
<a name="AMP-alertmanager-SNS-otherdestinations"></a>

Amazon Managed Service for Prometheus は、Amazon Simple Notification Service (Amazon SNS) にのみアラートメッセージを送信できます。E メール、ウェブフック、Slack、OpsGenie などの他の送信先にメッセージを送信するには、これらのエンドポイントにメッセージを転送するように Amazon SNS を設定する必要があります。

以下のセクションでは、他の送信先にアラートを転送するように Amazon SNS を設定する方法について説明します。

**Topics**
+ [E メール](#AMP-alertmanager-SNS-otherdestinations-email)
+ [ウェブフック](#AMP-alertmanager-SNS-otherdestinations-webhook)
+ [Slack](#AMP-alertmanager-SNS-otherdestinations-Slack)
+ [OpsGenie](#AMP-alertmanager-SNS-otherdestinations-OpsGenie)

## E メール
<a name="AMP-alertmanager-SNS-otherdestinations-email"></a>

E メールにメッセージを出力するように Amazon SNS トピックを構成するには、サブスクリプションを作成します。Amazon SNS コンソールで、**[サブスクリプション]** タブを選択して、**[サブスクリプション]** リストページを開きます。**[サブスクリプションの作成]** を選択し、**[E メール]** を選択します。Amazon SNS から、指定した E メールアドレスに確認メールが送信されます。確認を受け入れると、サブスクライブしたトピックから Amazon SNS 通知を E メールとして受信できます。詳細については、「[Amazon SNS トピックへサブスクライブする](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html)」を参照してください。

## ウェブフック
<a name="AMP-alertmanager-SNS-otherdestinations-webhook"></a>

ウェブフックエンドポイントにメッセージを出力するように Amazon SNS トピックを構成するには、サブスクリプションを作成します。Amazon SNS コンソールで、**[サブスクリプション]** タブを選択して、**[サブスクリプション]** リストページを開きます。**[サブスクリプションの作成]** を選択し、**[HTTP/HTTPS]** を選択します。サブスクリプションを作成したら、確認手順に従ってサブスクリプションをアクティブにする必要があります。アクティブになると、HTTP エンドポイントで Amazon SNS 通知が受信されます。詳細については、「[Amazon SNS トピックへサブスクライブする](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html)」を参照してください。Slack ウェブフックを使用してさまざまな宛先にメッセージを発行する方法の詳細については、「[ウェブフックを使用して Amazon SNS メッセージを Amazon Chime、Slack、または Microsoft Teams に発行するにはどうすればよいですか?](https://aws.amazon.com/premiumsupport/knowledge-center/sns-lambda-webhooks-chime-slack-teams/)」を参照してください。

## Slack
<a name="AMP-alertmanager-SNS-otherdestinations-Slack"></a>

Slack にメッセージを出力するように Amazon SNS トピックを構成するには、2 つの方法があります。Slack による E メールからチャンネルへの統合を使用すると、Slack で E メールメッセージを受け取って Slack チャンネルに転送できます。または、Lambda 関数を使用して、Amazon SNS 通知を Slack に書き換えることができます。E メールを slack チャネルに転送する方法の詳細については、[「Slack Webhook AWS の SNS トピックサブスクリプションの確認](https://stackoverflow.com/questions/49341187/confirming-aws-sns-topic-subscription-for-slack-webhook)」を参照してください。Lambda 関数を作成して Amazon SNS メッセージを Slack に変換する方法の詳細については、「[How to integrate Amazon Managed Service for Prometheus with Slack](https://aws.amazon.com/blogs/mt/how-to-integrate-amazon-managed-service-for-prometheus-with-slack/)」を参照してください。

## OpsGenie
<a name="AMP-alertmanager-SNS-otherdestinations-OpsGenie"></a>

OpsGenie にメッセージを出力するように Amazon SNS トピックを構成する方法については、「[Integrate Opsgenie with Incoming Amazon SNS](https://support.atlassian.com/opsgenie/docs/integrate-opsgenie-with-incoming-amazon-sns/)」を参照してください。

# Amazon SNS メッセージ検証ルールを理解する
<a name="AMP-alertmanager-receiver-validation-truncation"></a>

Amazon Simple Notification Service (Amazon SNS) では、メッセージが特定の基準を満たしている必要があります。これらの標準を満たしていないメッセージは、受信時に変更されます。アラートメッセージは、以下のルールに基づいて、Amazon SNS レシーバーにより必要に応じて検証、切り捨て、または変更されます。
+ メッセージに UTF 以外の文字が含まれている場合。
  + メッセージは「**Error - not a valid UTF-8 encoded string**」に置き換えられます。
  + キーが **[truncated]** で値が **[true]** のメッセージ属性が 1 つ追加されます。
  + キーが **[modified]** で値が **[Message: Error - not a valid UTF-8 encoded string]** のメッセージ属性が 1 つ追加されます。
+ メッセージが空の場合。
  + メッセージは **[Error - Message should not be empty]** に置き換えられます。
  + キーが **[modified]** で値が **[Message: Error - Message should not be empty]** のメッセージ属性が 1 つ追加されます。
+ メッセージが切り捨てられた場合。
  + メッセージは切り捨てられたコンテンツになります。
  + キーが **[truncated]** で値が **[true]** のメッセージ属性が 1 つ追加されます。
  + キーが [modified] で値が **[Message: Error - Message has been truncated from *X* KB, because it exceeds the 256 KB size limit]** のメッセージ属性が 1 つ追加されます。
+ 件名にコントロール文字または非 ASCII 文字が含まれています。
  + サブジェクトにコントロール文字または非 ASCII 文字が含まれている場合、SNS はサブジェクトを **[Error - contains control- or non-ASCII characters]** に置き換えます。
  + SNS E メールの件名の場合は、改行 (`\n`) などのコントロール文字を削除します。
+ 件名が ASCII でない場合。
  + 件名は **[Error - contains non printable ASCII characters]** に置き換えられます。
  + キーが **[modified]** で値が **[Subject: Error - contains non-printable ASCII characters]** のメッセージ属性が 1 つ追加されます。
+ 件名が切り捨てられた場合。
  + 件名は切り捨てられたコンテンツになります。
  + キーが **[modified]** で値が **[Subject: Error - Subject has been truncated from *X* characters, because it exceeds the 100 character size limit]** のメッセージ属性が 1 つ追加されます。
+ メッセージ属性のキー/値が無効な場合。
  + 無効なメッセージ属性は削除されます。
  + キーが **[modified]** で値が **[MessageAttribute: Error - *X* of the message attributes have been removed because of invalid MessageAttributeKey or MessageAttributeValue]** のメッセージ属性が 1 つ追加されます。
+ メッセージ属性が切り捨てられた場合。
  + 余分なメッセージ属性は削除されます。
  + キーが **[modified]** で値が **[MessageAttribute: Error - *X* of the message attributes have been removed, because it exceeds the 256KB size limit]** のメッセージ属性が 1 つ追加されます。