ubuntu前書きこの6部構成のチュートリアルでは、マルチサーバーの実稼働アプリケーションのセットアップをゼロから構築する方法を示します。最終的なセットアップは、バックアップ、監視、および集中ログシステムによってサポートされます。これにより、問題を検出して回復できるようになります。このシリーズの最終目標は、スタンドアロンシステム管理の概念に基づいて構築し、運用サーバーのセットアップを作成する際の実際的な考慮事項を紹介することです。このシリーズで取り上げるいくつかの概念を確認したい場合は、次のチュートリアルをお読みください。[運用Webアプリケーションサーバーのセットアップを改善する5つの方法]リンクされた記事は、実稼働アプリケーションのセットアップの一般的なガイドラインを提供しますが、このシリーズでは、サンプルアプリケーションを最初から最後まで計画およびセットアップする方法を示します。完全に異なるテクノロジースタックで異なるアプリケーションを実行している場合でも、これが独自の運用サーバー環境の計画と実装に役立つことを願っています。このチュートリアルは多くの異なるシステム管理トピックを扱っているため、多くの場合、補足情報を提供する外部のサポート記事への詳細な説明を延期します。私たちの目標この一連のチュートリアルが終了するまでに、PHPアプリケーションの実稼働サーバーのセットアップ、デモ用のWordPressが用意され、https://www.example.com/からアクセスできます。本番アプリケーションサーバーをサポートするサーバーも含まれます。最終的なセットアップは次のようになります(プライベートDNSおよびリモートバックアップは図示されていません)。[生産セットアップ]この設定では、*アプリケーション*ボックス内のサーバーは、アプリケーションが正しく実行されるために不可欠であると見なされます。リカバリプランとリモートバックアップサーバーは別として、残りのコンポーネント(バックアップ、監視、ログ)が追加され、運用アプリケーションのセットアップがサポートされます。14.04サーバーにインストールされ、プライベートネットワークが有効になります。アプリケーションを構成するサーバーのセットは、次のホスト名と呼ばれます。MySQLデータベースサーバーこのタイプのセットアップは、アプリケーションのコンポーネントを複数のサーバー上に構築する方法を示すために選択されたことに注意することが重要です。独自のセットアップは、独自のニーズに基づいてカスタマイズする必要があります。[データベースサーバーレプリケーション]または以下で簡単に説明するアクティブまたはパッシブロードバランサーを指す静的IP。アプリケーションサーバーをサポートするコンポーネントは、次のホスト名と呼ばれます。Nagios監視サーバー*ロギング:*集中ロギング用のElasticsearch、Logstash、Kibana(ELK)スタックまた、次の3つのサポートコンポーネントは図に示されていません。\また、アプリケーションのさまざまなコンポーネントの障害に対する基本的な復旧計画を作成します。目標の設定に達すると、合計10台のサーバーが設置されます。一度にすべて作成します(これにより、DNSのセットアップなどが簡素化されます)が、必要に応じてそれぞれ自由に作成できます。Baculaに加えて、またはBaculaの代わりにDigitalOceanバックアップをバックアップソリューションとして使用することを計画している場合は、ドロップレットを作成するときに必ずそのオプションを選択してください。高可用性(オプション)単一障害点は、インフラストラクチャの一部がダウンすると、サイトまたはサービス全体が使用できなくなる場合です。このセットアップで単一障害点に対処する場合は、別のロードバランサーを追加して、可用性を高めることができます。高可用性サービスは、障害発生時に自動的にバックアップまたはパッシブシステムにフェールオーバーします。高可用性設定で2つのロードバランサーを使用すると、アクティブなロードバランサーが利用できない場合にトラフィックを受け入れるために1つのロードバランサーを常に受動的に利用できるようにすることで、ダウンタイムから保護します。高可用性セットアップを実装するには、いくつかの方法があります。ToのこのセクションフローティングIPを使用する]。仮想プライベートネットワーク(オプション)サーバー間のネットワーク通信を保護する場合は、VPNのセットアップを検討することをお勧めします。データがインターネット上を移動する場合、暗号化によるネットワーク伝送の保護は特に重要です。VPNを使用するもう1つの利点は、ホストのIDがキー認証プロセスによって検証されることです。これにより、許可されていないソースからサービスが保護されます。オープンソースのVPNソリューションを探している場合は、TincまたはOpenVPNを検討してください。この特定のケースでは、メッシュルーティングを使用するTincがより良いソリューションです。両方のVPNソリューションのチュートリアルは、次の場所にあります。14.04サーバーには、このチュートリアルに従って設定できる非ルートスーパーユーザーが必要です。14.04での初期サーバーセットアップ]。すべてのコマンドは、各サーバーでこのユーザーとして実行されます。基本的なLinuxセキュリティの概念についてある程度の知識があることを前提としますが、詳細については説明しません。[サーバーを保護する7つのセキュリティ対策]の記事をお読みください。ドメイン名アプリケーションは、「example.com」などのドメイン名を介して提供されると想定します。所有していない場合は、ドメイン名登録機関から購入してください。RegistrarsからDigitalOceanネームサーバーをポイントする方法]。(IPアドレスと比較して)サイトへのアクセスを容易にすることに加えて、SSL証明書を使用するドメインおよびID検証の利点を実現するには、ドメイン名が必要です。SSLは、アプリケーションとそのユーザー間の暗号化とドメイン検証を提供するため、セットアップでSSL証明書を使用します。[www.example.com]」のサイトにアクセスしてもらいたいため、これを証明書の共通名(CN)として指定します。*にインストールされるため、便宜上、そこで証明書キーとCSRを生成できます。Encryptを使用してSSL証明書を無料で取得するか、商用認証局から購入できます。[インストール方法商業認証局からのSSL証明書]。[Webサーバーへの証明書のインストール]セクションをスキップします。次のコマンドで生成できる自己署名SSL証明書を使用することもできます。実稼働アプリケーションのセットアップの概要ができたので、目標を達成するための一般的な計画を作成しましょう。アプリケーションを構成するコンポーネントが最も重要であるため、それらを早期に起動して実行する必要があります。プライベートネットワーク接続の名前ベースのアドレス解決の使用を計画しているため、最初にDNSをセットアップする必要があります。DNSの準備ができたら、物事を実行するために、アプリケーションを構成するサーバーをセットアップします。データベースはアプリケーションに必要であり、アプリケーションはロードバランサーに必要なので、次の順序でコンポーネントをセットアップします。データベースサーバーアプリケーションサーバーロードバランサーアプリケーションのセットアップ手順を完了すると、さまざまなシナリオの*回復計画*を考案できるようになります。この計画は、バックアップ戦略の決定に役立ちます。*を設定してサポートする必要があります。それに続いて、サーバーとサービスがOK状態にあることを確認するために*監視*をセットアップできます。最後に、ログの表示、問題のトラブルシューティング、傾向の特定を支援できるように、*集中ログ*を設定します。一般的な計画の準備ができたら、実稼働アプリケーションのセットアップを実装する準備ができました。このセットアップは完全に機能しますが、有用な情報を収集し、学んだことを使用してアプリケーションのセットアップを改善できる例であることを忘れないでください。[プロダクション用の構築:Webアプリケーション-展開]。