前書き
サンプルアプリケーションのセットアップが完了したので、復旧計画を立てる必要があります。 回復計画は、サーバーのセットアップ内で発生する可能性のある障害または管理エラーから回復するための文書化された一連の手順です。 復旧計画を作成すると、アプリケーションサーバーのセットアップに不可欠なコンポーネントとデータを特定するのにも役立ちます。
サーバー障害の非常に基本的な回復計画は、最初のサーバー展開を実行するために実行した手順のリストと、バックアップからアプリケーションデータを復元するための追加手順で構成できます。 優れたドキュメントに加えて、より良い復旧計画では、Ansible、Chef、Puppetなどの展開スクリプトと構成管理ツールを活用して、復旧プロセスを自動化および迅速化することができます。
image:https://assets.digitalocean.com/articles/architecture/production/recovery_plans.png [回復計画図]
チュートリアルのこの部分では、設定したサンプルWordPressアプリケーションの基本的な復旧計画を作成する方法を示します。 あなたのニーズはおそらく異なるでしょうが、これはあなたがあなた自身の回復計画を考案することから始めるのを助けるでしょう。
復旧計画の要件
基本的な要件は、セットアップ中のサーバーの損失から回復し、アプリケーションの機能とデータを(合理的な時点まで)復元できることです。 この目標を達成するために、各サーバーのインベントリを作成し、どのデータをバックアップする必要があるかを判断し、利用可能な資産に基づいて復旧計画を作成します。 もちろん、これらのリカバリプランのいずれかが実行された場合、アプリケーションをテストして、正しく復元されたことを確認する必要があります。
アプリケーションを構成するサーバーの種類ごとに回復計画を立てます。
-
データベースサーバー
-
アプリケーションサーバー
-
ロードバランサーサーバー
データベースサーバーの使用を始めましょう。
データベースサーバー
手順をたどり(前のチュートリアルを参照)、次の手順に従ってデータベースサーバーが作成されたことがわかります。
-
MySQLをインストールする
-
MySQLを構成する
-
MySQLを再起動します
-
データベースとユーザーを作成する
データベースサーバーの復旧計画
データベースサーバーの作成方法を見ると、データベース自体の内容(手順4で作成)を別にして、ゼロから再作成できることがわかります。 WordPressの例では、ほとんどのアプリケーションデータ(つまり、 ブログの投稿)はデータベースに保存されます。 つまり、データベースサーバーを回復できるようにするには、データベースのバックアップを維持する必要があります。 MySQL構成ファイルもわずかに変更されたため、バックアップします。
データベースサーバーのインベントリに基づいて、データベースサーバーの復旧計画の概要を以下に示します。
_ _ 必要なバックアップ:
-
MySQLデータベース
-
MySQLの構成
回復手順:
-
MySQLをインストールする
-
MySQL構成ファイルを復元し、(変更する場合)リスニングIPアドレスを更新します
-
データベースを復元する
-
MySQLを再起動します _ _
データベースサーバーの復旧計画の概要ができたので、復旧手順の詳細を検討し、必要なバックアップを維持する必要があります。 実際のセットアップによって異なるため、リカバリ手順の詳細を説明する演習として読者に任せます。 この例では、回復手順の基礎となるドキュメントとしてアプリケーション展開チュートリアルを使用できます。
アプリケーションサーバー
手順をたどり(前のチュートリアルを見る)、次の手順に従ってアプリケーションサーバーが作成されたことがわかります。
-
ApacheとPHPをインストールして構成する
-
アプリケーションのダウンロードと構成(WordPress)
-
アプリケーションファイルをDocumentRootにコピーする
-
すべてのアプリケーションサーバーにアプリケーションファイルを複製する
アプリケーションサーバーの復旧計画
設定手順を見ると、アプリケーションサーバーはアプリケーションファイルとは別にゼロから再作成できることがわかります。 WordPressの例では、アプリケーションファイルには、WordPress構成ファイル(データベース接続情報を含む)、インストールされているWordPressプラグイン、およびファイルのアップロードが含まれます。 つまり、アプリケーションサーバーを回復できるようにするには、アプリケーションファイルのバックアップを維持する必要があります。
アプリケーションファイルは複数のアプリケーションサーバーに複製されるように設定されているため、すべてのアプリケーションサーバーに障害が発生した場合、またはデータが何らかの理由で破損した場合にのみバックアップからデータを復元する必要があります。 少なくとも1つのアプリケーションサーバーが適切なアプリケーションファイルで正常に動作している場合、ファイルレプリケーションを再度セットアップすると、適切なファイルが新しいアプリケーションサーバーに復元されます。
アプリケーションサーバーのインベントリに基づいて、アプリケーションサーバーの復旧計画の概要を作成しましょう。
_ _ 必要なバックアップ:
-
アプリケーションファイル(この例では、
+ / var / www / html / +
)
回復手順:
-
ApacheとPHPをインストールして構成する
-
動作中のアプリケーションサーバーからアプリケーションファイルを複製する
-
アプリケーションファイルを複製できない場合(すべてのアプリケーションサーバーが停止している場合)、バックアップから復元する _ _
アプリケーションサーバーの復旧計画の概要ができたので、復旧手順の詳細を検討し、必要なバックアップを維持する必要があります。 実際のセットアップによって異なるため、リカバリ手順の詳細を説明する演習として読者に任せます。 この例では、回復手順の基礎となるドキュメントとしてアプリケーション展開チュートリアルを使用できます。
ロードバランサーサーバー
手順をたどり(前のチュートリアルを参照)、次の手順に従ってロードバランサーサーバーが作成されたことがわかります。
-
取得したSSL証明書と関連ファイル
-
インストールされたHAProxy
-
構成されたHAProxy
-
HAProxyを再起動しました
ロードバランサーサーバーの回復計画
このインベントリを見ると、SSL証明書に関連するファイルとは別に、ロードバランサーサーバーを最初から再作成できることがわかります。 つまり、ロードバランサーサーバーを回復できるようにするには、SSL証明書ファイルのバックアップを維持する必要があります。 また、バックアップにHAProxy構成ファイルを含めます。
ロードバランサーサーバーのインベントリに基づいて、ロードバランサーサーバーの復旧計画の概要を説明しましょう。
_ _ 必要なバックアップ:
-
SSL証明書(PEM)および関連ファイル
-
HAProxy構成ファイル
回復手順:
-
SSL証明書ファイルを復元する
-
HAProxyをインストールする
-
HAProxy構成ファイルを復元する
-
HAProxyを再起動します _ _
ロードバランサーサーバーの復旧計画の概要ができたので、復旧手順の詳細を検討し、必要なバックアップを維持する必要があります。 実際のセットアップによって異なるため、リカバリ手順の詳細を説明する演習として読者に任せます。 この例では、回復手順の基礎となるドキュメントとしてアプリケーション展開チュートリアルを使用できます。
その他の考慮事項
コンポーネントの1つを回復するために、他のコンポーネントを再構成する必要がある場合(例: データベースサーバーのIPアドレスが変更された場合は、リカバリプランに適切な手順を含めるようにしてください。
また、DNSなど、セットアップに存在する他のすべてのコンポーネント、およびバックアップサーバー、監視、ログなど、今後追加するすべてのコンポーネントの回復計画を作成することもできます。 サーバーのセットアップが進化するにつれて、既存の復旧計画を繰り返す必要があります。
また、バックアップの作成方法と復元方法についてはまだ説明していません。そのため、これらの詳細を後で入力する必要があります。 バックアップについては、このチュートリアルの次の部分で説明します。
結論
さまざまなサーバーの復旧計画を準備した後、サーバーのセットアップとは完全に分離して、復旧を実行する必要がある人がアクセスできる場所にこの情報を保管する必要があります。
次のチュートリアルに進んで、新しいリカバリプランをサポートするために必要なバックアップのセットアップを開始してください。 :Webアプリケーション-バックアップ]。