【AWS】AWSの監視と通知
CloudWatch
各種サービスを監視するサービス
AWSリソースから送られてくるデータを保存、可視化する
メトリックス=監視項目
デフォルトメトリックス
EC2インスタンスのCPU利用率
EBSのディスクI/O
S3の格納オブジェクト数
RDSインスタンスのCPU利用率
RDSインスタンスのメモリ空き容量
RDSインスタンスのストレージ空き容量
DynamoDBに書き込まれたユニット数
RDSのようなマネージドサービスはデフォルトで様々なデータを送ってくるので何もしなくてもメトリックスを取得できる
EC2のようなマネージドサービスでないものはハイパーバイザが収集できるデータのみになる
ハイパーバイザを通して取得できるメトリックス=標準メトリックス
OSにインストールしたエージェントが送信したデータから取得できるメトリックス=カスタムメトリックス
標準メトリックスは12種類(※割愛)
メモリ利用率などはカスタムメトリックスとして取得しなければならない
取得したモニタリングデータは2週間しか保持できないので、どこか別な場所に保存しておく必要がある
アラームとアクション
アラーム
CloudWatchが取得するモニタリングデータが一定の閾値を超えたらアラーム状態にする機能
例、あるEC2のCPU利用率が70%を超えた等
アラーム状態になった場合特定のアクションを呼び出す事が可能
メールを送信する
AutoScalingポリシー
EC2アクション
→アラームとアクションを使用することで伸縮自在の構造を設計できる
アラームで複数のアクションを起こせる
例、
CPUの使用率が70%を超えている状態が3分続いた場合、新しいEC2インスタンスを追加する
4台のEC2のCPU使用率の平均が30%を切ったらEC2インスタンスを2台停止するなど
上記2つのアラーム、アクションを設定する事でコンテンツが高負荷状態になった場合は自動でEC2インスタンスが立ち上がり負荷を軽減
必要なくなったら停止するというような構造を実装できる
SNS
Amazon Simple Notification Service
通知サービス、指定したユーザーやアプリケーションにメッセージを送信できる
使用にあたっての重要な単語
メッセージ=通知内容
サブスクライバ=受信者をさす
トピック=単一、もしくは複数のサブスクライバをまとめたもの