第1回 Amazon Lightsail で監視 ~ステータスチェック編

2022年10月11日

Amazon Lightsail のアイコン

はじめに

猫とキャンプと野球観戦と AWS が大好きな旦那、LeoSaki です。モフモフしたい。

突然ですが、皆さんが運用している Web サイトは問題なく動いていますか? 知らない間に見れなくなっていたり、動作が重くなっていたりしませんか?

お小遣いを稼ぐためのアフィリエイトサイトが数日稼働していないと・・・

  • 見込み客を逃してしまう
  • サーチエンジンの評価が下がって検索にヒットしなくなってしまう

そのためには、サーバーの監視が重要です。

今回は、Amazon Lightsail を利用して稼働している WordPress サイトの監視設定方法について考えてみたいと思います。

大規模に商業サイトを運用されている方は、監視を専門に行っている業者を利用するのも手です。別途、ご相談ください。

今回できること

  • システムステータスチェックを監視します。
  • インスタンスステータスチェックを監視します。
  • メールでアラームを受信できるようになります。
  • アラームメールを受信した後の対応方法がわかります。

ステータスチェックには「システム」と「インスタンス」がある

システムステータスチェックとは?

システムステータスチェックは、インスタンスが実行されている基盤となるホストに関する根本的な問題が検出された場合、Failure「失敗」としてカウントされます。

インスタンスステータスチェックとは?

インスタンスステータスチェックは、インスタンスのソフトウェアやネットワークに異常を検知すると、ステータスが Failure「失敗」としてカウントされます。

OS レベルのエラーには次のようなものがあります。

オペレーティングシステムの起動の失敗

ボリュームが正しくマウントされていない

ファイルシステムの問題

互換性のないドライバー

カーネルパニック

また、リソースの過剰使用が原因でヘルスチェックが失敗する一般的な理由には、次のようなものがあります。

負荷が高い場合、インスタンスはバースト可能ゾーンで動作する可能性があります。これにより、インスタンスが応答しなくなったり、インスタンスがクラッシュしたりする可能性があります。

ルートデバイスが 100% フルになり、インスタンスが起動中にスタックした。

インスタンスで実行されているプロセスですべてのメモリが使用され、カーネルの実行が妨げられている。

現在のインスタンス状況を確認する

まずは、Amazon Lightsail で見ることができるメトリクス(システムのパフォーマンスに関するデータ)を確認してみます。

1. Amazon Lightsail を開き、インスタンスを選択します。

2. メトリクスを選択します。

3. インスタンスの状態を確認することができるグラフです。

全然使われてねぇとか、バースト可能ゾーンとか、今はスルーしてください。

凄く分かりづらいのですが、「CPU の概要」と書かれているところをクリックします。

4. Amazon Lightsail で確認できるメトリクスの一覧です。

監視設定を行ってみる

システムステータスチェックの監視

1. システムステータスチェックのメトリクスグラフを表示します。

2. アラームの追加をクリックします。

3. 特に設定は変えていません。E メールで通知されるようにチェックボックスにチェックをつけます。

アラームの設定について

この設定の意味は、「過去 5 分の間の 1 回でも Failure が 0 回より多ければアラームを発報する」というものです。ステータスチェックは 5 分ごとに評価されると書かれていますので、1 回でもステータスチェックが失敗したらアラームを発報しますよ、となります。

4. 連絡先の追加を行います。

5. アラームを受信したいメールアドレスを入力します。

6. メールが本人のものであるか、検証を行う必要があります。

7. メールボックスを確認して、「Confirm subscription」をクリックします。

8. ブラウザが立ち上がり、このような画面が表示されれば成功です。

9. 必要に応じて、「OK」に変わったら通知を送信にチェックを入れて、作成をクリックします。

10. アラームが有効になっていることを確認してください。

インスタンスステータスチェックの監視

1. インスタンスステータスチェックのメトリクスグラフを表示します。

2. 以降は、システムステータスチェックのときと同様の手順でアラームを作成してください。

アラーム通知をテストする

1. アラームの右上三点から、「アラーム通知をテスト」を選択します。

2. ご自身のメールボックスでアラームメールを確認できます。

SMS 通知について

現在は、エラーが出て SMS を追加することができません。

アラームメールを受信した場合の対応方法について

システムステータスチェックアラームの対応

こちらは、インスタンスが実行されている基盤となるホストに関する根本的な問題が検出された場合に発生するアラームです。できることは限られています。

1. 対象のインスタンスの「停止」をクリックします。

2. 警告が出ますが、「停止」をクリックします。

3. ステータスが「停止」となったのを確認してから、「開始」をクリックします。

この作業で回復しない場合は、AWS 側で問題が起こっている可能性があります。AWS Health Dashboard などで、AWS で障害が発生していないか確認してください。この場合、ユーザーでできることはありませんので、回復を待つことしかできません。

インスタンスステータスチェックアラームの対応

本当は、根本原因について探ることが重要なのですが、一番単純な方法で、一番効果が出やすい方法について説明します。

1. 対象のインスタンスの「再起動」をクリックします。

2. 警告が出ますが、「再起動」をクリックします。

この作業で回復しない場合は、ストレージの容量不足や CPU クレジットの枯渇により使用できる CPU 使用率が制限されてしまっている可能性があります。そこからの回復方法については後日・・・。

インスタンスの停止と再起動の違い

インスタンスを「停止してから起動」するのと、「再起動」するのとでは、意味が異なります。

何かの障害が発生しているホスト(インスタンスが実行されている基盤)があり、この障害が原因で、インスタンスが不具合を起こしているとします。

「停止してから起動」すると、障害が発生しているホストでのインスタンスの実行が停止され、新たに別のホストでインスタンスが実行されます。これで、インスタンスの不具合が修正される可能性があります。

「再起動」の場合は、同じホスト上で再度インスタンスが実行されます。障害が発生しているホスト上で再度インスタンスを実行するわけですから、インスタンスの不具合は継続される可能性があります。

しかし、インスタンス自身でなんらかの障害が発生している場合は、「停止してから起動」もしくは「再起動」でインスタンスの不具合が修正される可能性もありますが、根本原因を調査して、適切な処置を行った方が良いでしょう。

最後に

いかがでしたでしょうか。今回は、インスタンスの障害をいち早く察知するための方法として、Amazon Lightsail で利用可能なメトリクスによるアラーム通知の設定を行いました。しかし、根本原因を探るための情報が不足しているため、「停止してから起動」もしくは「再起動」を繰り返す以外の対応を講じることができないままです。

次回は、CPU 使用率と、ストレージの使用量の確認について調査したいと思います。

引き続き、よろしくお願いいたします。

この記事を書いた人
LeoSaki(旦那)

猫大好き、野球大好き、AWS が大好き、な、藩士。
AWS 6冠、取得しています。
IPA 資格は IT パスポート、基本情報技術者、応用情報技術者、取得しています。
キャンプ場でも仕事する社畜っぽい人。

LightsailAWS,Lightsail

Posted by LeoSaki