はじめに
現在エンジニアバイトをしているところでansibleを触る機会がありましたので、思考の整理として記事にしようと思います。ただしこの記事はあくまで「ansibleって何?」程度のものなので実際の書き方とかはありません。
ansibleって何?
ansibleとはサーバーの構成管理ツールである。わかりにくいので簡単に言うとサーバー構築を自動化してくれるツールです。
ちょっと詳しく書いてく
従来手動でサーバーの設定をかき、環境を立ち上げてきました。しかしこれだと人為的なミスが発生したり、複数のサーバーを構築しようとすると時間がかかったり、サーバーが同一の設定になっていない、設定に変更が起きたとき全てのサーバーに対して変更を加えようとすると時間と手間がかかってしまう問題がありました。そこでサーバー構築の手順をYAML形式でコード化し、実行することで環境を自動で構築してくれるのがAnsibleです。
Ansibleで幸せになれること
・サーバーの環境がコードで表し、可視化できるためサーバーの環境がコードを見ればわかり、管理がしやすい。
・環境をコードで管理しているため本番環境、ステージング環境などが全て同じ状態の環境で用意することができる。
・手順書のコード(playbook)さえ作っておけば複数のサーバーに環境を簡単に構築することができる。
・変更に対して手順書のコードさえ書き換えれば容易に変更することができる。
・CIと連携することでデプロイまで自動化することができる。
・手動で環境を構築するわけではないので、ミスが減る。
Ansibleの特徴
・YAML形式で記述しているためシンプルに書くことができる。このYAML形式で書かれたコードのファイルをplaybookという
・べき等性という一度行ったことは操作は何度行っても同じ結果が得られること
・pythonコマンドが実行できるサーバーにssh接続できればすぐ使える。サーバー側にツールをインストールする必要がない
参考文献
結構読みやすいです!