環境の構成を調べる
構成管理とは、アプリケーションとそれをサポートするために必要なすべての環境に関する、通常はバージョン管理スクリプトによる自動化された構成管理を指します。
構成管理は、構成と環境をコードとして保持できる、軽量で実行可能な構成を意味します。
たとえば、ファイアウォールへの新しいポートの追加は、環境にリモート接続してポートを手動で追加するのではなく、テキスト ファイルを編集してリリース パイプラインを実行することによって行うことができます。
Note
"コードとしての構成" という用語は、構成管理を意味するためにも使用できます。 ただし、これは広く使われているものではなく、場合によっては、マシンのプロビジョニングと構成の両方を説明するためにコードとしてのインフラストラクチャが使用されます。 "コードとしてのインフラストラクチャ" という用語は "コードとしての構成" を含めて使用されることもありますが、その逆はありません。
手動構成とコードとしての構成
手作業での構成の管理は、1 つのアプリケーションと環境でさえ困難な場合があります。
それが複数のサーバーにまたがる複数のアプリケーションと環境の管理となれば、困難さはますます大きくなります。
自動構成つまりコードとして構成を扱うと、手動での構成の難しさの一部に役立ちます。
次の表は、手動構成とコードとしての構成の大きな違いを示したものです。
手動で構成 | コードとしての構成 |
---|---|
構成のバグを特定するのが難しい。 | バグを簡単に再現できる。 |
エラーが発生しやすい。 | 一貫性のある構成。 |
より多くの検証手順と、より詳細な手動プロセス。 | 増分変更の量を減らすため、デプロイの頻度を増やす。 |
ドキュメントが増える。 | 環境と構成を実行可能なドキュメントとして扱う。 |
エラーからの復旧できるように週末のデプロイ。 | |
週末作業の必要性を最小限に抑えるため、リリースのペースが遅くなる。 |
構成管理の利点
構成管理の利点を次に示します。
- バグの再現が容易になり、監査に役立ち、追跡可能性が向上します。
- 開発、テスト、リリースなどの環境間で一貫性が提供されます。
- デプロイの頻度が増えます。
- すべての構成をスクリプトで使用できるので、保守する必要のあるドキュメントが減ります。
- スケールアップとスケールアウトを自動化できます。
- 構成をバージョン コントロールできます。
- 構成のドリフトを検出して修正するのに役立ちます。
- インフラストラクチャの変更を管理するためのコード レビューと単体テストの機能が提供されます。
- インフラストラクチャを柔軟なリソースとして扱います。
- 自動化が促進されます。