Amazon EC2 の特定のインスタンスに対するハードウェア障害通知メールが来た

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんなメールから始まった

昨日、突然のメールがAmazonから送られてきました。

タイトル「Notice: Degraded Amazon EC2 Instance」

Hello,

We have noticed that one or more of your instances are running on a host degraded due to hardware failure.

    i-XXXXXXXX

The host needs to undergo maintenance and will be taken down at 12:00 GMT on 2011-08-26. Your instances will be terminated at this point.

The risk of your instances failing is increased at this point. We cannot determine the health of any applications running on the instances. 
We recommend that you launch replacement instances and start migrating to them.

Feel free to terminate the instances with the ec2-terminate-instance API when you are done with them.

Sincerely,

The Amazon EC2 Team

Reference: XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX

意訳しますと、「とあるインスタンス(i-XXXXXXXX)が乗っかっているハードウェアの障害によりメンテナンスする必要があります。これに伴ってインスタンスを計画的に終了させますので、移動することをおすすめします。」だそうです。

Amazon EC2インスタンスは落ちる前提で設計をする

普段サーバーを管理していない方からすると、Amazon EC2って障害が多発しているの!?って思うかもしれませんが、私はそうは思っていません。今回の通知は、Amazon EC2自体のサービスが止まったのではなく、一部のハードウェアの障害を検知して計画的にインスタンスを止めるという通知です。ですから、インスタンスは何かしらの理由で落ちると思っておけば事前の対策もしやすくなります。Amazon EC2とその関連サービスは、こういった問題を検知したり、データを退避したり、環境を復旧したりすることができますので安心して使うことができます。

Amazon EC2インスタンス障害の予防策(データを消さないために)

まずはじめに、Amazon EC2インスタンス内には長期にデータを保存しません。Amazon RDSやAmazon S3を使います。インスタンスはあくまでも処理装置として使い、長期のデータ保存用には使いません。今回もAmazon RDSとS3を使っていましたので大きな問題にはなりませんでした。次に、EBS(Elastic Block Storage)を使うことです。これは、データをディスクに保存しますのでインスタンスが落ちてもデータ自体は消えません。次に、EBSのスナップショットを取ることです。これである状態のデータを復旧できます。さらに、インスタンスの構成を保存しておくには、AMI(Amazon Machine Image)を使います。これにより、テンプレートを基にOSを起動させることができますので早期の復旧が可能になります。

Amazon EC2インスタンス障害の予防策(サービスを止めないために)

まずは、CloudWatchを使います。これは、OS的な問題(CPU使用率が高いとか)等が発生した際にアラートを送ってくれます。次に、Auto Scalingを使います。これは、CloudWatchと連携して、インスタンス自体に何か問題(落ちた、反応が無い等)が発生した際に自動でインスタンスを落としたり、起動したり、増やしたり、減らしたりできます。次に、Elastic Load Balancingを使います。今回は、インスタンス単体の障害でしたが、万が一電源系統やネットワークの問題が発生した際にサービスを止めないためにロードバランサーで振り分けます。さらにさらに、リージョン単位で落ちたら困るという場合(聞いたことありませんが、、)には、Route53というDNSサービスを使って地域をまたいだリクエスト先の変更も可能です。

まとめ

Amazonのウェブサービスは、上記のような様々な障害に対して事前に準備することで安定的な運用を可能にするサービスです。もちろん、サービスを追加すると価格に跳ね返ってきますが、買うより安く、使った分だけ1時間単位やリクエスト単位で課金され、使っても安いという薄利多売の素晴らしいサービスです。用法を理解して正しく使いましょう!!

宣伝

クラスメソッドでは、Amazon Web Services認定ソリューションプロバイダーとして、クラウド環境を活用したシステムの設計/実装、ユーザインタフェースの設計、コンサルティングを行っています。サービスについてご興味のある方はお気軽にお問合せください。

クラスメソッド株式会社