AWS CDKでSNSの表示名をカスタマイズしてみた

AWS CDKでSNSの表示名をカスタマイズしてみた

Clock Icon2025.04.13

こんにちは!製造ビジネステクノロジー部の小林です。

今回は、AWS CDKを使ってSNSトピックからのメール通知の「表示名」をカスタマイズする方法をご紹介します。「あれ?SNSのメール通知って表示名変更できるの?」と思った方の参考になれば幸いです。

表示名とは?

SNSトピックの「表示名」とは、SNSからメール通知が送信される際に表示される差出人名のことです。デフォルトでは、メールの差出人は単に「no-reply@sns.amazonaws.com」と表示されますが、表示名を設定すると「設定した表示名 no-reply@sns.amazonaws.com」という形式で表示されるようになります。

なぜ表示名のカスタマイズが必要なのか?

AWS SNSからのデフォルトのメールは、差出人が「no-reply@sns.amazonaws.com」となっています。
スクリーンショット 2025-04-13 17.25.03

これでは以下のような問題が発生します。

  • 大量のメールの中でアラート通知を見逃してしまう
  • どのシステムからのアラートなのか一目で判別できない
  • 複数の環境(本番/開発)からのアラートの区別がつきにくい

AWS CDKでの実装方法

AWS CDKでは、SNSトピックの作成時にdisplayNameプロパティを設定することで、メールの差出人名をカスタマイズできます。
displayNameについては以下の公式ドキュメントにも記載されています。
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topic.html

以下が実際のコード例です。

// SNSトピックの作成
const topic = new sns.Topic(this, 'SecurityTopic', {
  displayName: '[開発環境]俺のSecurity Hub Alert', // ここで表示名を設定
});

// メール購読
topic.addSubscription(
  new subscriptions.EmailSubscription('<メールアドレス>')
);

やってみた

上記内容をデプロイして実際にSNSトピックから届くメールの表示名を確認してみます。
スクリーンショット 2025-04-13 17.19.41
SNSの表示名が想定通りに変更できていることが確認できました!

以下の修正前と比べても、何のアラートでどこの環境かが一目で分かるようになっていますね。
スクリーンショット 2025-04-13 17.25.03

おわりに

SNSトピックの表示名をカスタマイズするのは非常に簡単ですが、効果は絶大です。特に複数の環境やシステムを管理している場合、このちょっとした工夫で運用効率が大きく向上します。

今回は開発環境のSecurity Hubアラートを例にしましたが、この方法は他のAWSサービスからの通知にも応用できます。例えば、CloudWatchアラームやAWS Budgetsの予算アラートなど、様々な通知をカスタマイズして管理しやすくできます。

皆さんも是非、SNSの表示名カスタマイズを活用して、より効率的なアラート管理を実現してください!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.