
構成の普遍的な移行を処理するためのツールはありますか?たとえば、httpd、postfix、MySQL、ユーザー、およびグループデータがある場合、各サービスの構成データを抽出して他のシステムに適用できるツールはありますか?
一般に、すべてのサービスに対してこれを処理するツール(または戦略)はありますか?
答え1
この問題に対する一般的で広く受け入れられている解決策は、構成管理システムを使用することです。いくつかの例は次のとおりです。人形、シェフと塩の山。
これらのシステムを使用すると、サーバー(または場合によってはアプリケーションスタック)の外観を正確に定義できます。これらのツールを使用すると、構成を含むサーバーの状態を定義できます。
以下は、Puppetとモジュールを使用した非常に基本的なApache設定の例ですpuppetlabs/apache
。
class { 'apache': }
apache::vhost { 'first.example.com':
port => '80',
docroot => '/var/www/first',
}
このシンプルなパペットコードは、次のことを保証します。
- Apacheがサーバーにインストールされています。
- Web サーバーが稼働しており、ポート 80 でリッスンしています。
- ドキュメントルートを持つ仮想ホストを含みます。
/var/www/first
その後、このマニフェストをクラスタ内の複数のサーバーに適用できます。構成ファイルを手動でコピーするのではなく、このタイプの構成を使用するにはいくつかの理由があります。コードの処理とほぼ同じ方法でサーバー構成とインフラストラクチャを処理します。
- これらのシステムの構成は通常、バージョン管理に保存されます。これにより、変更、ロールバックなどを簡単に確認できます。
- サーバーの状態は、単体テストと承認テストの準備が整いました。
- 共有モジュールはコードベースのように動作するため、最初から再作成する必要はありません。
- あなたのサーバーは、繰り返し可能でより信頼性の高い方法で構成されています。
多くの人はこれらのシステムを使用するデブオプス移動する。