AWS CloudWatchアラームの作成方法と通知設定を徹底解説 SNS連携で初心者でもできる監視設定
生徒
「AWSでEC2を動かしているのですが、サーバーが停止したら通知を受け取る方法はありますか?」
先生
「はい。AWS CloudWatchアラームを作成して、SNSと連携すればメール通知を受け取ることができます。」
生徒
「CloudWatchアラームとSNSの設定は難しいですか?」
先生
「手順を理解すれば初心者でも設定できます。これからAWS CloudWatchアラームの作成方法とSNS通知設定を一つずつ解説します。」
1. AWS CloudWatchアラームとは
AWS CloudWatchは、Amazonが提供するクラウド監視サービスです。EC2やRDS、Lambdaなどのリソースのメトリクスを収集し、CPU使用率やメモリ使用率、ネットワーク通信量などを可視化できます。
CloudWatchアラームとは、特定のメトリクスが設定したしきい値を超えたときに通知や自動アクションを実行する機能です。例えばCPU使用率が八十パーセントを超えた場合にメール通知を送信する設定が可能です。
本記事では、AWS CloudWatchアラームの作成方法とSNS連携による通知設定の手順を初心者向けにわかりやすく解説します。
2. SNSとは何か 通知設定の仕組み
AWSで通知を行うために使用するサービスがSNSです。SNSはSimple Notification Serviceの略で、メールやSMS、HTTPエンドポイントにメッセージを配信できます。
CloudWatchアラーム単体では通知は送れません。CloudWatchアラームが発生したときにSNSトピックへメッセージを送信し、そのトピックに登録されたメールアドレスへ通知が配信される仕組みです。
つまり設定の流れは、SNSトピック作成、メール登録、CloudWatchアラーム作成、SNSトピック紐付けという順番になります。
3. SNSトピックの作成方法
まずはAWSマネジメントコンソールからSNSを開きます。トピック作成を選択し、タイプは標準を選びます。名前を入力し作成ボタンを押します。
トピック作成後はサブスクリプションを作成します。プロトコルでEmailを選択し、通知を受け取りたいメールアドレスを入力します。登録したメールに確認リンクが届くので承認してください。
CLIで作成する場合は以下のように実行します。
aws sns create-topic --name my-cloudwatch-topic
{
"TopicArn": "arn:aws:sns:ap-northeast-1:123456789012:my-cloudwatch-topic"
}
aws sns subscribe --topic-arn arn:aws:sns:ap-northeast-1:123456789012:my-cloudwatch-topic --protocol email --notification-endpoint sample@example.com
{
"SubscriptionArn": "pending confirmation"
}
これでSNSの通知準備が完了します。
4. CloudWatchアラームの作成手順
次にCloudWatchを開き、アラームの作成をクリックします。メトリクスの選択でEC2を選び、監視したいインスタンスのCPU使用率を選択します。
しきい値は例として八十パーセント以上が五分間継続した場合と設定します。通知先で先ほど作成したSNSトピックを選択します。
CLIで作成する場合の例を紹介します。
aws cloudwatch put-metric-alarm \
--alarm-name HighCPUAlarm \
--metric-name CPUUtilization \
--namespace AWS/EC2 \
--statistic Average \
--period 300 \
--threshold 80 \
--comparison-operator GreaterThanThreshold \
--dimensions Name=InstanceId,Value=i-1234567890abcdef0 \
--evaluation-periods 1 \
--alarm-actions arn:aws:sns:ap-northeast-1:123456789012:my-cloudwatch-topic
これでEC2のCPU使用率が設定値を超えるとSNS経由で通知が届きます。
5. よくある設定ミスと対処法
CloudWatchアラームが通知されない原因として多いのは、SNSのメール承認をしていないケースです。サブスクリプションが保留状態だと通知は届きません。
またリージョンの違いにも注意が必要です。CloudWatchとSNSは同じリージョンで設定してください。東京リージョンでEC2を動かしている場合はSNSも東京リージョンで作成します。
しきい値設定が高すぎる場合もアラームが発生しません。テスト時は低めに設定して動作確認を行いましょう。
6. 自動復旧やオートスケーリングとの連携
CloudWatchアラームは通知だけでなく、自動復旧やオートスケーリングにも利用できます。例えばCPU使用率が高い状態が続いた場合にEC2インスタンスを自動追加する設定が可能です。
Auto Scalingグループと連携することで負荷に応じて台数を増減できます。これにより高可用性とコスト最適化を両立できます。
AWS CloudWatchアラームは単なる通知機能ではなく、運用自動化の中心的な役割を担う重要なサービスです。
7. 監視設計のポイント
初心者がAWS CloudWatchアラームを設計する際は、まず何を守りたいのかを明確にします。可用性、性能、コストのどれを重視するのかを決めてからメトリクスを選択します。
重要なメトリクスとしてはCPU使用率、ディスク使用率、ステータスチェック失敗などがあります。複数のアラームを組み合わせることでより安全な運用が可能になります。
本記事で解説したAWS CloudWatchアラームの作成方法とSNS通知設定を活用し、安定したクラウド運用を目指しましょう。
まとめ
本記事では、AWS CloudWatchアラームの作成方法とSNS連携による通知設定について、初心者向けに順番に解説してきました。AWSでEC2を運用する際に重要になるのが監視設計です。特にCPU使用率やステータスチェック失敗などのメトリクスを監視し、異常を素早く検知できる仕組みを作ることは、安定したクラウド運用の基本となります。
AWS CloudWatchはメトリクスの収集と可視化を行い、CloudWatchアラームによってしきい値を超えた場合にアクションを実行できます。しかしCloudWatchアラーム単体では通知は送信できません。そのためSNSトピックを作成し、メールアドレスをサブスクリプション登録することで、はじめて通知の仕組みが完成します。
設定の流れは、SNSトピック作成、メール承認、CloudWatchアラーム作成、SNSトピックとの紐付けという順番でした。この流れを理解することが、AWS CloudWatchアラームとSNS通知設定を確実に成功させるポイントです。
CloudWatchアラームとSNS通知の重要ポイント整理
まず重要なのはリージョンを統一することです。EC2が東京リージョンで稼働している場合は、SNSも同じリージョンで作成しなければなりません。リージョンが異なると通知は届きません。
次にSNSサブスクリプションの承認です。メールで送られてくる確認リンクをクリックしなければ、サブスクリプションは保留状態のままになります。この状態ではCloudWatchアラームが発生しても通知は配信されません。
さらにしきい値設定も重要です。CPU使用率八十パーセント以上五分間継続という設定は一例であり、実際の運用では負荷状況に応じて適切な値を検討する必要があります。テスト時は低めの値に設定して動作確認を行うと安心です。
CLIによる設定の再確認
AWS CLIを利用することで、CloudWatchアラームの作成やSNSトピックの管理をコードとして再現できます。インフラをコードで管理することで、設定の再利用や環境構築の自動化が可能になります。
aws sns create-topic --name my-cloudwatch-topic
{
"TopicArn": "arn:aws:sns:ap-northeast-1:123456789012:my-cloudwatch-topic"
}
aws cloudwatch put-metric-alarm \
--alarm-name HighCPUAlarm \
--metric-name CPUUtilization \
--namespace AWS/EC2 \
--statistic Average \
--period 300 \
--threshold 80 \
--comparison-operator GreaterThanThreshold \
--dimensions Name=InstanceId,Value=i-1234567890abcdef0 \
--evaluation-periods 1 \
--alarm-actions arn:aws:sns:ap-northeast-1:123456789012:my-cloudwatch-topic
これらのコマンドを理解することで、AWS CloudWatchアラームの自動構築や監視設定の標準化が実現できます。特に本番環境と検証環境で同じ監視設定を適用する場合に有効です。
運用自動化への発展
CloudWatchアラームは通知だけでなく、Auto Scalingとの連携による自動スケールや、EC2の自動復旧にも利用できます。CPU使用率が高い状態が続いた場合にインスタンスを追加することで、可用性と性能を維持できます。逆に負荷が低い場合は台数を減らすことでコスト最適化も可能です。
AWS CloudWatchアラームとSNS通知設定は、単なるメール通知の仕組みではなく、クラウド監視設計の中心的な役割を担います。初心者のうちから正しい監視設計を身につけることで、将来的な大規模運用にも対応できる基礎力が養われます。
生徒
CloudWatchアラームはメトリクスを監視して、しきい値を超えたら動く仕組みだと理解しました。
先生
その通りです。そして通知を送るためにSNSトピックが必要でしたね。
生徒
SNSでメールを登録して承認しないと通知が届かない点が重要だと分かりました。リージョンを合わせることも忘れないようにします。
先生
よく理解できています。さらにAuto Scalingと連携すれば、自動的に台数を増減させることも可能です。AWS CloudWatchアラームは運用自動化の基盤になります。
生徒
これからはEC2を立ち上げたら必ずCloudWatchアラームとSNS通知設定を行い、安全なクラウド運用を目指します。
先生
その姿勢が大切です。監視設計を意識したAWS運用を続けていきましょう。