サーバーアラートSMSをITチームメールに自動転送する方法
午前3:17。UPSバッテリーバックアップがSMSを送信:「電源障害を検知 — バッテリーに切替中。推定稼働時間:22分。」
そのテキストは田中さんのスマホに届く。田中さんはCTO。田中さんは深い眠りのタイプで、スマホはおやすみモード。
午前3:39、UPSバッテリーが尽きる。サーバーがダウン。400社の顧客が依存するSaaSアプリケーションがオフラインに。
午前7:12、田中さんが起きる。テキストを見る。サーバーは約4時間ダウンしていた。顧客は怒っている。監視ダッシュボードにギャップ。サポートチケットが山積み。
皮肉なのは:同じアラートがオンコールエンジニアの通知を有効にした共有メール受信箱に届いていたら、誰かがSSHでグレースフルシャットダウンをトリガーするかバックアップに切り替えて、誰も気づかなかっただろう。
問題:重要なアラートが1台のスマホに送信される
洗練された監視スタックがあるにもかかわらず、驚くほど多くのインフラアラートがいまだSMSで届く:
| システム | SMSで送信される内容 |
|---|---|
| UPS(APC、CyberPower、オムロン) | 電源障害、バッテリー低下、温度警告、負荷容量アラート |
| Cloudflare | DDoSアラート、オリジン到達不可、証明書期限切れ、WAFトリガー |
| AWS | 予算アラート、EC2インスタンス状態変更、CloudWatchアラーム |
| Google Cloud | 課金アラート、インシデント通知 |
| Datadog / PagerDuty | エスカレーションフォールバック(Push+メール失敗時) |
| ISP(NTT、KDDI法人) | サービス障害通知、メンテナンスウィンドウ |
| 物理セキュリティ | 警報システムトリガー、ドアアクセス違反、動体検知 |
| 空調/環境 | サーバールーム温度、湿度アラート |
これらのシステムがSMSを使うのは、最も信頼性の高い最終手段チャネルだから。メールサーバーがダウンしている時に、メールサーバーがダウンしたメールアラートを受信できない。SMSはその依存関係を完全にバイパスする。
しかしSMSが1人のスマホに届くなら、新たな単一障害点を作っている:その人の注意力。
アーキテクチャ:SMS → IT共有受信箱 → オンコールエンジニア
UPS/Cloudflare/AWS SMS → IT管理者のスマホ → SMS to Email Forwarder
↓
[email protected]
↓
┌─────────────┼───────────────┐
↓ ↓ ↓
オンコール ITチーム PagerDuty
エンジニア Slack (バックアップ
(プライマリ) #alerts エスカレーション)
チャンネル
ステップ1:アラート受信箱を設定
専用受信箱を作成:
[email protected][email protected]- または共有Gmail:
[email protected]
高優先度に設定:
- プッシュ通知有効
- この送信者についておやすみモードをオーバーライド(iOS/Androidメールでv IP連絡先に設定)
- Slackにメール-to-チャンネル連携で接続(Slackの
/emailコマンド)
ステップ2:SMS to Email Forwarderをインストール
インフラSMSアラートを受信するiPhoneにSMS to Email Forwarderをダウンロード。
設定:
[email protected]を入力- ショートカット設定を完了 — 2分
- すべての受信SMSが共有受信箱に転送される
ステップ3:ルーティングを設定
オンコールローテーションのあるチーム向けに、メールルーティングを追加:
Google Workspaceルーティング:
[email protected]を現在オンコール中のエンジニアに転送- ローテーション時に毎週転送ルールを更新
PagerDuty連携:
- アラートをPagerDutyのメール取り込みアドレスに転送
- PagerDutyがエスカレーション、確認、ローテーションを自動処理
Slack連携:
- Slackチャンネルメールアドレスに転送(
#it-alerts→ 固有のメールアドレスがある) - チーム全体がリアルタイムでスレッド付き議論とともにアラートを確認
実践シナリオ
シナリオ1:午前3時の停電
転送なし:
- UPSが田中さんに午前3:17にテキスト
- 田中さんのスマホはおやすみモード
- サーバーが午前3:39にダウン
- 4時間のダウン、怒った顧客、SLA違反
転送あり:
- UPSが午前3:17にテキスト →
alerts@に転送 - オンコールエンジニアの佐藤さんがスマホでプッシュアラート(この受信箱はおやすみモード対象外)
- 佐藤さんが午前3:20にSSH、グレースフルシャットダウン実行、トラフィックをバックアップに切替
- 合計ダウンタイム:8分。顧客は気づかない。
シナリオ2:ピーク時のCloudflare DDoS
Cloudflareが異常なトラフィックスパイクを検知しSMS送信:「ゾーン sms2email.app が潜在的なDDoS攻撃を受けています。」
転送なし: 創業者がランチ中に45分後に気づく。有料顧客にサイトが遅い状態。
転送あり: DevOpsエンジニアが60秒以内にアラートを確認。Cloudflareの「Under Attack」モードを有効にし、レートリミットルールを調整。顧客への影響なく攻撃を軽減。
シナリオ3:AWSの予算アラート
AWSが送信:「アカウントが月間予算の80%を超えました($800/$1,000)。」
転送なし: 創業者が金曜日に気づく。月曜日に請求はすでに$1,400 — GPU ワークロードを動かす忘れられたEC2インスタンス。
転送あり: 経理+DevOps両方がアラートを確認。DevOpsが1時間以内に野良インスタンスを特定。$400の節約。
シナリオ4:セキュリティアラーム
オフィスの警報システムが営業時間外にSMS送信:「23:47にサーバールームで動体検知。」
転送なし: オフィスマネージャーのスマホに届く。彼女は就寝中。朝まで誰もチェックしない。
転送あり: セキュリティチームメールにアラートが届く。当番の警備員がリモートでカメラを確認、清掃スタッフと確認(または違う場合はエスカレーション)。
メールラベルでアラートトリアージを構築
受信箱を軽量モニタリングダッシュボードに変換:
| Gmailフィルター | ラベル | アクション |
|---|---|---|
| 本文に「電源障害」OR「バッテリー」OR「UPS」を含む | 🔴 電源 | スター + プッシュ通知 |
| 本文に「ダウン」OR「到達不可」OR「オフライン」を含む | 🔴 ダウン | スター + プッシュ通知 |
| 本文に「証明書」OR「SSL」を含む | 🟡 証明書 | プッシュなし、毎日レビュー |
| 本文に「予算」OR「課金」OR「超過」を含む | 🟡 課金 | finance@に転送 |
| 本文に「温度」OR「湿度」を含む | 🟡 環境 | 朝レビュー |
| 本文に「メンテナンス」OR「予定」を含む | ⚪ 情報 | 自動アーカイブ |
アラート重大度マトリクス
| 重大度 | 対応時間 | 例 |
|---|---|---|
| P0 — サービスダウン | 即座(<5分) | サーバーオフライン、停電、DDoS |
| P1 — 性能低下 | <30分 | 高CPU、ディスク90%、SSL 7日で期限切れ |
| P2 — 警告 | <4時間 | 予算80%、メンテナンス予定 |
| P3 — 情報 | 翌営業日 | 月次サマリー、ファームウェア更新利用可能 |
既存の監視スタックにおけるSMS転送
SMS転送はDatadog、PagerDuty、Grafanaの代替ではない。それらのツールが埋められないギャップを埋める:
| 監視ツール | 得意なこと | SMS転送が追加するもの |
|---|---|---|
| Datadog | アプリケーションメトリクス、APM | Datadogが見えないハードウェア/ISPアラートをキャプチャ |
| PagerDuty | オンコールローテーション、エスカレーション | SMSのみのアラートをPagerDutyワークフローに取り込み |
| Grafana | ダッシュボード可視化 | 物理アラート(UPS、空調)のデータソースを提供 |
| Slack | チームコミュニケーション | SMSのみのシステムをチームの会話にブリッジ |
重要な洞察: UPSシステム、ビルの警報、ISP通知など — 多くの重要インフラコンポーネントはSMSのみで通信する。Slackが存在する前に設計されたものだ。SMS転送は、これらのレガシー通知システムをモダンな監視スタックに持ち込むブリッジだ。
よくある間違い
| 間違い | 修正 |
|---|---|
| 全アラートを全員に送信 | 重大度でルーティング。P0はオンコールへ、P2-P3はレビューチャンネルへ。 |
| 個人メールを使用 | 共有の役割ベース受信箱を使用。人は変わる、受信箱は残る。 |
| ISP SMSを無視 | ISP障害テキストは接続性障害の最初の指標。 |
| チェーンをテストしない | 月次テストSMSを送信。オンコール担当がプッシュ通知を受信するか確認。 |
| SMSを唯一のアラートチャンネルにする | SMS転送はスタックを補完するもので、置き換えるものではない。常に少なくとも2つのチャンネルを。 |
5分のセットアップが次のダウンを防ぐ
インフラは営業時間中に落ちない。サーバーは午前3時にクラッシュする。電気は祝日に落ちる。SSL証明書は週末に期限切れする。
対応できるエンジニアは、常にUPSの設定に登録されている電話番号の人とは限らない。SMS転送は、システムに登録されている電話番号に関係なく、すべての重要アラートが対応可能な人に届くことを保証する。
関連するITセットアップ:FINRA/SOX準拠のSMSアーカイブ | チームで2FAコードを共有
もう二度とサーバーアラートを見逃さない。
SMS to Email Forwarderをダウンロード — SMSのみのインフラを監視スタックにブリッジ。