先日弊社で保守契約を締結しているとあるクライアントから突然システムが動作しなくなってしまったとご連絡がありました。クライアントの方でサーバーのメンテナンス作業をしていたところ、動作しなくなってしまったとのことでした。
保守対象のシステムであったため、早速原因の調査を行いまして、そのクライアントが使用しているAWSのEC2インスタンスに起因する問題であることが判明しました。AWSを使っているシステムで同様の条件の場合に、システムが稼働できなくなってしまう可能性があります。
しかもこれは2018年新年早々に各地で問題発生する可能性がありますので、今回弊社で実施した対応について詳細を記載したいと思います。AWSのことがわかる技術者の方以外には何言ってるか全く意味不明の内容だと思いますのでスルーしてください。w
あるいは自社で使用しているサーバーがAWSということがわかっている場合には、念のため担当のエンジニアの方にこのブログの内容を共有しておいてもらうと良いかもしれません。
インスタンスを再起動すると一切アクセスができなくなる
症状としてはある特定の条件が重なるとEC2のインスタンスを再起動すると、一切アクセスできなくなってしまうことがあります。具体的な症状は以下のとおりです。
- AWS管理画面でインスタンスのステータスチェックがNGなる
- ただし「Running(稼働中)」と表示されている
- システムが停止状態となり一切アクセスできなくなる
- SSHによる接続もできなくなる
SSHによる接続もできなくなってしまいますから、症状としてはかなり重たい部類の現象となります。しかもインスタンスは稼働したままの状態ですので、システムは停止していますがお金だけは課金され続けるという理不尽な状態となります。w
復旧は可能ですが自社に詳しいエンジニアがいないと数日単位でシステムが停止状態に陥る可能性があり、きちんと対処しておかないと数日単位で業務がストップしたり提供してるサービスが停止してしまうというリスクを抱えることになります。
問題が起きる可能性のあるインスタンス
この問題は特定の条件にあるインスタンスを再起動した時に発生する可能性があります。条件を満たしていても必ず発生するわけではなく、発生する可能性があるという話です。ですが発生した場合には復旧までにそれなりの時間を要しますので、該当するインスタンスを使用しているのに何の対処もせずにそれをそのまま放置するというのは非常に大きなリスクとなります。
この問題が発生する可能性のあるインスタンスは、PV方式と呼ばれる旧世代インスタンスを使用している場合に発生する可能性があります。
今では仮想化方式が変更されて、HVM方式と呼ばれるインスタンスがデフォルトとなっていますが、3,4年前まではPV方式のインスタンスがデフォルトでした。それ以前からAWSを使用している場合にはPV方式となっている可能性があります。
ちなみにPV方式(旧世代)に比べてHVM方式(現行世代)の方がコストパフォーマンスが良くなっており、同じコストで高性能のサーバーを使用することができますので、今回の問題が発生する可能性のあるインスタンスではなかったとしても、PV方式を使っている場合はHVM方式のインスタンスに移行する価値はあります。
そしてこの問題が発生する可能性があるのは、以下のカーネルIDの場合に発生する可能性があります。
aki-44992845(PV-GRUB release 1.03, 64-bit)
PV方式のインスタンスを使用していて、上記のカーネルIDの場合にはすぐに対処されることを強くお勧めいたします。そのまま放置すればそのサーバーで提供しているシステムが数日間に渡って復旧できなくなってしまうリスクを抱えることになります。
しかも2018年の年明け早々にこの問題が各地で勃発してしまいそうなイベントがあります・・・
1月4日夜間から1月5日早朝にかけてAWS計画的メンテナンスの予定
2018年の年明け早々にこの問題が各地で勃発するかもしれないと思う理由。それはずばりこのイベントが控えているからです。
1月4日の夜間から1月5日の早朝にかけてAWSの計画的メンテナンス!
この計画的メンテナンスによって、多数のインスタンスに対して強制的にインスタンスの再起動が行われる予定となっております。
もしもPV方式のインスタンスで対象のカーネルIDである場合に、計画的メンテナンスで強制的に再起動がされたら・・・。その場合には特に何もしていないにも関わらず、気づいたらシステムに一切アクセスできない状態に陥っていたという事態になるかもしれません。
そして自社にまともなエンジニアがいない場合には何日間にも渡ってそのサーバーで提供しているシステムが停止するかもしれない・・・。新年早々に中々楽しそうなイベントが控えております。
問題の解決方法
しかしながら問題の解決は普通にできますので恐れることはありません。今からきちんと対処しておけば大丈夫です。ただし素人が対処しようとするとサーバーをぶっ壊してしまいかねませんのできちんとしたエンジニアに対処をお願いしましょう。
- PV方式のインスタンスを停止する
- EBS(≒HDD)を取り外す(デタッチ)
- HVM方式のインスタンスを作成して起動する
- 2ででタッチしたEBSを3で作成したインスタンスのセカンダリディスクにアタッチする
- HVM方式で必要な情報(bootなど)をプライマリディスクからセカンダリディスクにコピーする
- HVMインスタンスを停止する
- プライマリディスクを取り外す
- セカンダリディスクをプライマリディスクにアタッチする
- HVM方式のインスタンスを起動する
これでPV方式のインスタンスにあるデータを全て引き継いだ状態でHVM方式のインスタンスで起動することができます。
AWSを使用してシステムを運用している場合は、自社で使用しているサーバーがこの問題の発生条件に該当しないかをまずチェックしてみてください。そして万が一条件に当てはまった場合には今年中に問題の対処をしておけば安心です。
これで気持ちよく新年を迎えることができますが、もし問題を放置したまま年越ししたら、とても過酷で素敵な新年のスタートを切ることになるかもしれません。w
ちなみにアクシアで保守契約を締結させていただいているクライアントの皆様におかれましては、すでに全サーバーを弊社にしてチェック済みですのでご安心ください。連絡のなかったクライアント様は特に問題ありませんでした。問題のあったクライアント様からは本件対処のためのご発注をしていただきました。w
そして弊社の保守顧客でなくてももしお困りの場合はぜひ弊社にご相談くださいませ。
アクシアは2017年は本日が最終営業日となります。皆様良いお年をお迎えください。