AWSの運用で、こんな要件が出されたらあなたはどう答えますか?
「データ処理が停止したら、担当者のスマホに即座に通知が届くようにしてほしい」
私は最初、「Lamdaでメールを送るコードを書けばいいのかな?」と考えていました。しかし、AWSにはもっと「シンプルで管理が楽な正解」があったんです。
今回は、監視と通知の基本、CloudWatchアラームとAmazon SNSの連携について整理します。
監視の「目」と、通知の「声」
AWSで何かを監視して通知する場合、 2つのサービスの組み合わせが鉄板です。
- 監視の「目」:Amazon CloudWatch
システムの異常(メトリクスの閾値超え)を検知します。 - 通知の「声」:Amazon SNS(Simple Notification Service)
検知した異常を、EメールやSMS(ショートメッセージ)として人間に届けます。
なぜLamdaを使わないのか?
CloudWatchアラームには、標準機能として「SNSへ通知する」という設定が備わっています。わざわざLamda関数を自作してコードを管理する必要はありません。「まずは標準機能でできないか?」を考えるのがAWSの流儀です。
実践!SMS通知を設定する3ステップ
ステップ1:SNSトピックの作成と電話番号の登録
まず、通知を送るための「トピック(連絡網)」を作ります。
1.SNSコンソールで「標準」タイプのトピックを作成
2.「サブスクリプションの作成」で、プロトコルに[SMS]を選択
3.エンドポイントに、通知を送りたい[電話番号](+81…)を入力
ステップ2:CloudWatchアラームの作成
次に、何を以て「停止」とするかを決めます。
- EC2の場合:StatusCheckFoiled(ステータスチェック失敗)
- カスタムメトリクスの場合:アプリからの「生存信号(ハートビート)」が途絶えた事を検知
【重要】欠落データの処理
アプリが完全に止まると、データがCloudWatchに届かなくなります。この「データの欠落」を「不正(異常)」として扱う設定にしないと、アラームが鳴らないので注意が必要です!
ステップ3:アラームアクションの連携
アラームが「ALARM(異常)」状態になった際のアクションとして、ステップ1で作ったSNSトピックを指定します。
【比較表】SNS vs SES どっちを使う?
試験で迷いやすい「通知サービス」の違いをまとめました。
| サービス | 主な用途 | 特徴 |
| Amazon SNS | システムからの通知 | SMS、メール、プッシュ通知に対応。手軽。 |
| Amazon SES | 本格的なメール配信 | Eメール特化。SMSは送信不可。マーケティング向け。 |
試験で役立つ!キーワード判別法
問題文に以下のフレーズがあれば、この構成が正解です!
- 「即座に通知したい」→ Amazon SNS
- 「モバイル/SMSで受け取りたい」→ Amazon SNS
- 「コードの管理を最小限に(サーバーレスで」→ CloudWatcgh + SNS(Lamda不要)
今回の学び:攻略の格言
「監視の通知に迷ったらLamdaを自作する前にSNS。SESはメールのプロ、SMSならSNS!」
あとがき:一歩ずつ、合格へ
最後まで読んでいただき、ありがとうございました!
今回の問題を通して、「自分でコードを書く(Lamda)」よりも「AWSの既存の機能を繋ぎ合わせる」方が、運用コストも低く、エラーも起きにくいということを学びました。
SAAの試験では、「どれが一番スマート(効率的)か?」が常に問われます。自分の手で実装する楽しさもありますが、AWSが容易してくれた便利な道を使いこなせるようになりたいですね。
それでは、次回の記事でお会いしましょう!
