ジャギ様のAWSチャレンジ

awsに関したことを書きます。

Mattermost構築の流れ(手動編)Part7 SNS、CloudWatch

SNS

用途

  • これはSimple Notification Serviceといって、通知の機能です。いろんな通知機能があるのですが、本作業ではCloudWatch(監視サービス)からメール送るのために利用します。利用するにはトピックをというものを作成する必要があります。

トピックの作成

  • AWSコンソール画面の検索窓に「Simple Notification Service」と入力し、Simple Notification Serviceをクリックする。
  • 左メニューのトピックをクリックし、トピックの作成ボタンを押下する。詳細画面が起動するので次項の内容を設定し、ページ下部のトピック作成ボタンを押下することで作成できます。

詳細

設定項目 設定値
タイプ スタンダード
名前 mattermost-sns
表示名 - オプション mattermost-test

暗号化 - オプション

デフォルト設定でOK

アクセスポリシー - オプション

デフォルト設定でOK

データ保護ポリシー - オプション

デフォルト設定でOK

配信再試行ポリシー (HTTP/S) - オプション

デフォルト設定でOK

配信ステータスのログ記録 - オプション

デフォルト設定でOK

タグ - オプション

設定項目 設定値
キー Name
値 - オプション mattermost-sns

作成したトピックの確認

作成されたトピックを確認します。ARNが後ほど必要になります。

サブスクリプションの作成

  • トピックにメールアドレスを登録します。これでこのトピックを利用したときに登録したメールアドレスに通知を行うことが可能になります。
  • 作成したトピックの名前をクリック → サブスクリプションの作成ボタンをクリックします

画面 設定項目 設定値
詳細 トピック ARN mattermos-snsのARNを選択する
プロトコル Eメール
エンドポイント 自分のメールアドレス
サブスクリプションフィルターポリシー - オプション (デフォルトのままでOK) (デフォルトのままでOK)
Redrive ポリシー (デッドレターキュー) - オプション (デフォルトのままでOK) (デフォルトのままでOK)

認証メール受信確認

サブスクリプションの作成ボタンをクリックした後に、AWS Notification - Subscription Confirmationというメールを受信します。メールを開いてConfirm subscriptionをクリックします。受信できない場合は、迷惑メールになっている可能性があります。

CloudWatch

CloudWatchとは何か?

監視機能です。ここではEC2のリソースを監視することに利用します。

アラームの作成

  • AWSコンソール画面の検索窓に「CloudWatch」と入力し、CloudWatchをクリックする。
  • 左メニューのすべてのアラームをクリックし、アラームの作成ボタンを押下する。メトリクスと条件の指定画面が起動するので次の設定をgif動画見ながら行ってください。設定内容はCPU使用率が60%を超えたらメール通知する内容となっています。

  • 設定内容(項目が多かったので大事そうなものを書いてます。書いてないものはデフォルトのままでOK)

    • InstanceId: EC2の画面からコピーします
    • メトリクス名: CPUUtilization
    • 閾値: 60
    • アラーム状態トリガー: アラーム状態
    • 次の SNS トピックに通知を送信: 既存の SNS トピックを選択
    • 通知の送信先: mattermost-sns
    • アラーム名: mattermost-cpu-alerm
  • 設定画面gif版

(任意作業)CPU使用率を上げてアラートを出す方法

ssh EC2

# 負荷をかけるコマンド
yes > /dev/null &
# 確認
top

# 負荷を止めるコマンド
kill %1
# 確認
top

yes > /dev/null は1回でCPU使用率が60%を超えると思います。

  • 負荷が足りない場合はCloudWatchの画面を見ながら調整してください。

  • メール到着まで10分ぐらいかかると思います。

    • メールタイトル:ALARM: "mattermost-cpu-alerm" in Asia Pacific (Tokyo)