ブログ
Ansibleで環境構築の自動化・作業効率の改善を!
最近良く耳にするようになりました。Ansibleとは、多数の構築管理対象に対してアプリケーションとシステム導入を容易にした、シンプルなIT環境構築自動化プラットフォームです。
特徴としては、
・「使いやすい」
・「設定ファイルが簡潔」
・「管理対象サーバへのエージェントソフトウェアのインストールが不要」
など、最小限の手間で各種設定を自動化できる特徴がある、構成管理ツールになります。
インフラ構築の現状は以下のようだと思います。
・設計書に基づいて、パラメータシートや構築手順書を作成する。作成するツールはWordまたはExcelが主となる。
・構築手順書を参照しつつ、構築作業を実施する。
・運用開始後、設定変更が発生した場合は、パラメータシート(Excelなど)に変更履歴を記入する。
問題点は以下が考えられます。
・ドキュメント作成に時間がかかってしまう(表紙、改版履歴、誤字脱字、印刷設定、PDFでの見切れチェックなど体裁を整えるための作業に時間がかかる)。
・大量の構築時に、同じことの繰り返しがある場合は、時間がかかってしまう。
・構築時に手入力した場合、オペミス発生によるリスクが高くなってしまう。
・ドキュメントと実機の整合性を確保するのが難しく手間がかかる。
ともすると、サーバの操作をしている時間よりも、ExcelやWordと格闘している時間の方が圧倒的に長くなっています。
最大の目的は、インフラ構築の現状や問題点を踏まえ、効率化による時間短縮にあります。
導入する事によるメリットは以下が考えられます。
・構築時の、特にOS及びMWに係る作業時間が劇的に短縮される。
・構成管理ツールの設定ファイルにコメントを入れると、変更履歴が管理できる。
・構成管理ツールの設定ファイルを流用すると、一定の品質確保や属人化の排除が行われ、誰が作っても同じサーバを構築することができる。
企業システムの設定作業は、誰が何回やっても同じ結果になる事が理想です。属人化した自動スクリプトは、負の遺産になる可能性が高くなってしまいます。
優秀なエンジニアが作った自動化スクリプトは、あらゆる作業をスクリプトに実装してしまい、巨大化する傾向にあります。優秀なエンジニアが部署異動などをした場合に、自動化スクリプトの保守ができず、ブラックボックスになる可能性もあります。
また、各チームや個人が異なるスクリプト言語を使用してしまい、部署間での共有が出来なくなってしまいます。運用管理の手法が孤立し易く、部署間で同じ作業を別の手法で行ってしまう可能性もあります。
PlaybookというYAMLファイルにタスクを記述して、Ansibleに実行させることにより様々な処理が行えるようになります。
設定したい状態を記載するだけで、あとは自動的に設定が完了します。
YAML形式で記述されたパラメータと手順
Playbookには冪等性があるため、何回同じファイルを実行しても同じ結果になります。
(「冪等性」=操作を1回行っても複数回行っても結果が同じだという概念)
ChefやPuppetなどのツールは、管理対象のサーバに「エージェント」と呼ばれる専用のソフトウェアをインストールしておく必要があります。設定ツールのエージェントはセキュリティホールの温床となり、実作業に負担がかかる事があります。
一方、Ansibleはエージェントレスと呼ばれるタイプの設定ツールのため、設定側にエージェントをインストールする必要がありません。SSHでサーバから接続出来るものなら、基本的にAnsibleで設定する事が可能になります。
これまで自動ツールの対象になりにくかったネットワーク機器やベンダー特有のソフトウェアにも、Ansibleでの設定が可能となりました。
また、多くのクラウドサービスがAnsibleに対応しているので、オンプレ、仮想化、パブリッククラウド、プライベートクラウドに関係なく利用出来ます。
同じ会社内には似たような処理が多く存在する場合があります。サーバやネットワークの設定作業は全社で共有出来ることが沢山あります。AnsibleではPlaybookを多くの人で共有する仕組みが提供されており、それをAnsible Towerと言います。
これは、組織内の円滑なナレッジ共有を実現できるマネジメントツールになります。
機能紹介:https://www.redhat.com/ja/explore/ansible/ansible-tower
Ansibleを導入する事で、作業時間の短縮を行う事が期待出来ると思います。Ansibleは多くのエンジニアが理解し易く、効果が出るのが早いとも言われています。海外の事例では、Ansibleで数百ノードを自動化した後に、数年後何万ノードの自動化が行われたそうです。
作業ミスを減らし、残業時間を減らしていければと思いました。
関連記事
2024.09.30
2024.09.30
2024.04.08