Amazon SNSとCoudWatchの使い方
最終更新日:2026年8月10日
この記事でわかること
Amazon SNSとAmazon CloudWatch
| 項目 | AWS | Microsoft Azure | Google Cloud |
|---|---|---|---|
| 世界シェア | 約33%(首位) | 約22% | 約11% |
| 強み | サービス数・実績 | Microsoft製品連携 | データ分析・AI |
| 無料枠 | 12ヶ月+常時無料 | 12ヶ月無料 | 常時無料枠あり |
| 主な資格 | CLF / SAA / SAP | AZ-900 / AZ-104 | ACE / PCA |
【要注意】上記のシェア・料金・資格名は変動する場合があります
クラウド市場シェアや無料枠の内容は時期により変わるため、最新の情報は各社公式サイトでご確認ください。
この記事では、Amazon Web Servicesが提供するAmazon SNSとAmazon CloudWatchの2つのサービスについて説明し、そのサービスの活用方法について紹介していきます。
Amazon SNSとは
Amazon SNSと聞くと、Amazonが提供するSocial Network Serviceなのかと勘違いしてしまいそうになりますがサービスの正式名称はAmazon Simple Notification Serviceというサービスです。Amazon SNSはネットワークに接続しているPCやスマートフォンといった各種端末において、購入・購読しているコンテンツなどからのメッセージや通知をすぐに送受信できる機能を提供するサービスです。簡単に言うと、アプリケーションからの通知を実装することを可能にする機能を提供するサービスです。Amazon SNSには発行者と受信者の2つのクライアントが存在します。発行者は通信チャネルであるトピックを作成、定義します。トピックのイメージは一方通行のチャットルームです。発行者がこのトピックにメッセージを登録すると、そのトピックに紐づけられた送信先にメッセージが届きます。この送信先には、Webサーバー、Emailアドレス、Amazon SQSキュー、AWS Lambda関数などを設定することが可能です。設定する際には、Amazon SQSやHTTPといったプロトコルとセットで登録する必要があります。マネジメントコンソール、アプリケーションからサービスを起動することが可能なので、このサービスを活用することでメッセージの送信を簡単に実装することが出来ます。
Amazon CloudWatchとは
Amazon CloudWatchはAWSで実行するアプリケーションや各種サービス、CPUやメモリ、ディスク使用率などといった
AWSの各種リソースを監視するマネージド型のモニタリングサービスです。AWSで構築したシステムに関わらず、システムを安定して運用するためにはシステムの監視を行い、異常が検知された際に迅速に対応を行うことが求められます。Amazon CloudWatchを用いれば、AWS上のシステムのログの収集などを通してシステムの監視を行い、異常な状態を検知した場合にはアラートを出しメールなどに通知することが可能であり、自動的に復旧を行うことも可能です。
Amazon CloudWatchには各種機能が備わっており、CloudWatchでAWSの各種サービスの監視を行いメトリクスの収集を行います。メトリクスというのは、AWSのサービスやアプリケーションの監視を行うことで得られる、仮想サーバーのCPU使用率などのパフォーマンスを示すデータです。これに際して導入作業やインストールなどの必要はありませんが、監視している過程で取得したメトリクスを独自にトリガーに設定して何らかのアクションを起こす場合には、CloudWatchで取得したログを参照する必要があります。このログを取得しているサービスがCloudWatch Logsであり、監視しているサービスにおいて設定したメトリクスが一定の閾値を超えた場合にCloudWatch側で起こすアクションを設定することを可能にします。アクションの設定にはCloud Watch Eventsを利用します。監視しているサービスにおいて、特定のイベントが発生した時、例えば先述したようにメトリクスが設定した閾値を超えた場合などに合わせてCloud Watch側で起こすアクションを実行に移します。このアクションというのは、自動的に復旧を行うのか、メールを送信するのか、などこちらで決めることが出来ます。
Amazon CloudWatchを利用することのメリットはやはりAWSの各種サービスと組み合わせたときの便利さです。Amazon Cloudwatchを用いれば、AWS上で使用している各種サービスやアプリケーション、メモリやディスク使用率といったリソースのログとメトリクスをほぼリアルタイムに一つのコンソールで統合して管理できる、というのは非常に大きな強みです。さらに収集したメトリクスデータなどは長期間保存出来るため、何か外的要因などによって特殊なイベントが起きた際などに、過去のデータと比較することにより高度な分析を行うことも可能になります。また、その分析結果を用いて同様のイベントが起きた際のアクションを決定することも出来ます。しかしながら、AWSのサービス以外も併せて統合環境で使用する場合にはAmazon CloudWatch以外のモニタリングサービスを利用することも考えた方が良いでしょう。なお、メトリクスの保存期間や料金体系は変更される場合があるため、最新の情報はAWS公式サイトでご確認ください。
Amazon CloudWatchとAmazon SNSの連携
Amazon CloudWatchとAmazon SNSは統合されていますので、例えばAmazon SNSを連携させればAmazon CloudWatchのアクションにメールによってサービスに生じた異常などを通知することが可能になります。メトリクスに設定した閾値を超えた際にアラームをメールで瞬時に受け取ることが出来るので、その後の迅速な対応にもつながります。
押さえておきたいポイント
- Amazon SNSは発行者(Publisher)と受信者(Subscriber)からなるPub/Sub型の通知サービスで、Eメール・SMS・Amazon SQS・AWS Lambdaなど複数の送信先に同時配信できる。
- Amazon CloudWatchはCPU使用率やディスク使用率などのメトリクスを収集し、閾値超過時にアラームでアクションを実行するマネージド型モニタリングサービスである。
- CloudWatchのアラームとSNSを連携させることで、異常検知時にメールなどで即座に通知を受け取れる体制を構築できる。
よくある質問
Amazon SNSとAmazon CloudWatchは別々に契約する必要がありますか?
いいえ、どちらもAWSアカウントがあれば個別に有効化する手続きは不要で、必要な設定を行うだけで利用を開始できます。料金は使用したメッセージ配信数やメトリクス数などに応じた従量課金制です。最新の料金体系はAWS公式サイトでご確認ください。
CloudWatchで異常を検知した場合、どのような対応が可能ですか?
メールやSMSなどによる通知のほか、Auto Scalingと組み合わせたリソースの自動増減、EC2インスタンスの自動復旧アクションなど、検知したイベントに応じてさまざまな自動対応を設定できます。
Amazon SNS以外にCloudWatchと連携できる通知手段はありますか?
SNSを経由することでAWS Chatbot連携によるChatworkやSlackへの通知、AWS Lambdaを起点とした独自の通知処理など、用途に応じて柔軟に拡張することが可能です。
終わりに
ここまでお読みいただきありがとうございます。いかがだったでしょうか。システムを継続的に運用する以上、その監視・管理はどうするのかといった問題が生じます。もしもAWSを用いてシステムの構築を行っているのであれば、Amazon CloudWatchとAmazon SNSを用いた管理方法を試してみてはいかがでしょうか?
▼ アクロビジョンについて


