Engine Yard Developer Center

フリーズまたはクラッシュしたインスタンスの回復

このドキュメントは英語版のドキュメントを日本語に翻訳したものです。原文に修正があった場合は随時反映致しますが、翻訳作業が完了するまでは英語版が最新の可能性がございます。


インスタンスではフリーズやクラッシュが発生したり、反応しなくなったりすることがあります。そのような場合は、SSH 経由でインスタンスにアクセスできなくなります (接続がタイムアウトするか、または "no route to host (ホストへの経路がありません)" というメッセージが表示されることがあります)。

インスタンスでのクラッシュやフリーズは、通常、インスタンスのリソースでの問題が原因です。たとえば、システムでの読み込み増加に伴うメモリの過剰使用や、インスタンスに負荷をかけるアプリケーション バグなどがあります。また、インスタンスを実行するホスト サーバーの問題やカーネル バグが原因となる場合もあります。

ダッシュボードの表示中、インスタンスで問題が発生していてもステータス アイコンは緑のままであることがわかります。これは、アイコンでは最後の Chef が正常に実行されたかどうかを示すようになっているためです。つまり、システムの動作に関するステータスは認識していません。

エラーの後処理

問題の原因を特定できたかを確認するために、お客様からインスタンスのフリーズした回数をよく求められます。残念ながら、インスタンスが終了されるとログ ファイルも同時に削除されるため、通常はクラッシュの原因を追求できなくなります。ただし、インスタンスを実行しているホスト サーバーに問題がある場合は、Amazon からその原因を特定できることがあります。そのため、インスタンスを終了する前にダッシュボードのインスタンス ID をメモしておくと便利です。

このようにクラッシュの原因を特定できないことがよくあるため、ダッシュボードですべての環境に対して E メール アラートを有効にしておくことをお勧めします。これによって、実行中に発生したリソース問題 (RAM の不足や長い入出力待ち) やシステムのオーバーロードがインスタンス エラーを引き起こすようなあらゆる可能性に関して通知を受けるようにしておくことができます。このようなアラートを受信しておくと、問題の原因の特定に役立つことがあります。

フリーズしたインスタンスの回復

メモ: 以下の手順に従ってインスタンスまたは環境を再構築するときに、スナップショット処理が動作しなくても心配ありません。スナップショットは、インスタンスではなく EBS ディスクをホストするマシンによって処理されるため、クラッシュした場合でもインスタンスに対して実行することができます。

SSH 経由でのインスタンスへの接続を失った場合は、インスタンスを終了してスナップショットから再構築する方法が唯一の回復方法です。これを行う方法は、問題が発生したインスタンスのロールによって異なります。

  • アプリケーション マスターまたは単一インスタンス - クラスター環境のアプリケーション マスターでエラーが発生した場合は、Engine Yard が引き継ぎ処理を開始し、このインスタンスを終了します。これによって、別のアプリケーション インスタンスがマスターにプロモートされ、さらに別のアプリケーション インスタンスが構築されます。(詳細は、「Application master takeover (アプリケーション マスターの引き継ぎ)」を参照してください。)ただし、単一インスタンス環境を実行している場合は、このプロトコルが存在しないため、環境全体を終了して再構築する必要があります。
  • マスター データベース - マスター データベースでエラーが発生した場合は、マスター データベースを終了することはできないため、環境全体を再構築する必要があります。
  • アプリケーション インスタンス - ダッシュボードで、問題が発生した特定のインスタンスの Terminate icon アイコンを使用して終了した後、新しいインスタンスをクラスターに追加できます。
  • ユーティリティ インスタンス - ダッシュボードで、問題が発生した特定のインスタンスの Terminate icon アイコンを使用して終了した後、作成した最新のスナップショットを使って、新しいインスタンスをクラスターに追加できます。 

カスタム Chef レシピについて

インスタンスや環境は終了して再構築する必要が生じるため、環境のカスタマイズは手作業ではなくカスタム Chef レシピを使用して行うことが重要です。Chef レシピを使用すると再構築を簡単に行うことができ、手作業を行うことなく、すばやく作業を再開することができます。カスタム Chef ドキュメントの内容を理解し、カスタム設定にはレシピを使用してください。


このページに関してフィードバックやご質問がございましたら、以下にコメントを入力してください。サポートが必要な場合は、Engine Yard サポートにチケットを送信してください。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください

コメント

ログインしてコメントを残してください。

Powered by Zendesk