スキップしてコンテンツを表示

暗号化された SNS トピックが AWS サービスから通知を受け取らなかった理由を教えてください。

所要時間1分
0

Amazon Simple Notification Service (Amazon SNS) トピックが AWS サービスから通知を受け取らなかった理由をトラブルシューティングしたいです。

解決策

SNS トピックポリシーが AWS サービスにアクセス許可を付与していることを確認する

SNS トピックポリシーが、次の例のように AWS サービスに SNS トピックへのメッセージ送信に必要なアクセス許可を付与していることを確認してください。

{
"Sid": "My-statement-id",
"Effect": "Allow",
"Principal": {
"Service": "aws-service.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "arn:aws:sns:us-east-1:111111111111:exampletopic"
}

**注: ** aws-service を該当するサービスプリンシパルに置き換えてください。サービスプリンシパルの一覧については、"Encrypting messages published to Amazon SNS with AWS KMS" (AWS KMS を使用した Amazon SNS に発行されるメッセージの暗号化) の "compatibility between encrypted topics and event sources" (暗号化されたトピックとイベントソース間の互換性) セクションを参照してください。

詳細については、『Amazon SNS アクセスコントロールのケース例』を参照してください。

暗号化に必要な AWS KMS アクセス許可があることを確認する

暗号化されたトピックで使用されている暗号化キーに、必要な AWS Key Management (AWS KMS) アクセス許可があることを確認する。AWS KMS キーを作成した後、サービスからのイベントソースと暗号化されたトピック間に互換性があることを確認する。

**注: ** Amazon SNS トピックは、デフォルトキー (AWS/SNS) ではなく AWS KMS カスタマーマネージドキーを使用する必要があります。これは、デフォルトのキーポリシーに、AWS サービスが AWS KMS オペレーションを実行するために必要なアクセス許可が含まれていないためです。また、デフォルトキーのポリシーは変更できません。

さらにトラブルシューティングを行う

SNS トピックがまだ通知を受信していない場合は、次の手順を実行します。

  1. Amazon SNS メトリクスの NumberOfMessagePublished を確認する。このメトリクスは、サービスがイベントを SNS トピックに発行しているかどうかを示す。メトリクスにデータが表示されない場合、サービスから Amazon SNS への設定に問題がある。アクセス許可の問題に対処するには、前のセクションを参照する。
  2. NumberOfMessagePublished メトリクスにデータが表示されている場合は、NumberOfNotificationsDelivered および NumberOfNotificationsFailed メトリクスを確認する。これらのメトリクスは、サブスクライブしているエンドポイントが Amazon SNS トピックからメッセージを正常に受信しているかどうかを示す。
  3. メッセージ配信の問題をさらにトラブルシューティングするために、Amazon SNS トピックの配信ステータスログを有効にする。

関連情報

CloudWatch アラームトリガーに関する Amazon SNS 通知を受信できなかった理由を教えてください。

Amazon SNS トピックに公開したメッセージが、サーバー側の暗号化が有効になっているサブスクライブ済みの Amazon SQS キューに配信されない理由を教えてください。

AWS公式更新しました 6ヶ月前
コメントはありません