Ansibleとは?

f:id:hira98:20190623171449p:plain

【結論】

  • Ansibleとは、サーバーのメンテナンス作業を自動化するためのツール。

  • 私の解釈は、インフラエンジニアの深夜作業撲滅ツールという認識。

【目次】

はじめに

インフラエンジニアになるかもしれないので、Ansibleというツールの概要を調べました。

Ansibleとは?

以下の特徴を持ったツールです。

  • 今まで人力で行っていたインフラ運用の自動化を実現するためのツール。
  • RedHatPythonを使って開発している。
  • 自動化するためのコードはYAML形式で分かりやすさ重視のため、複雑な処理は行えない。
  • 管理対象のサーバーとの通信はSSHで行うため、Puppetのようにエージェントツールのインストールは不要。
  • 管理対象のサーバーへの更新処理は、プル型(管理対象サーバが定期的に管理サーバーに問い合わせる方式)ではなくプッシュ型(管理者が管理サーバーに設定したトリガーをもとに管理対象サーバーへの更新処理を行う)

before:Ansibleを使う前(想像)

私はインフラエンジニアとしての実務経験がないため、「なれるSE」で得た知識を元に想像で作業手順をまとめてみました。

フェーズ1

サーバーメンテナンス時に実行するコマンドと、コマンドの実行結果をエクセルに手順書としてまとめる。

フェーズ2

サーバー利用者にメンテナス時間(大抵深夜)を通知する。

フェーズ3

メンテナンス時間(深夜)になったら、フェーズ1で作成した手順書に記載されたコマンドをコピペで実行し出力結果を確認しながら、メンテナンス作業を進めていく。

フェーズ4

メンテナンス作業が完了したので始発の電車で帰宅する。

after:Ansible導入後(想像)

フェーズ1

サーバーメンテナンス時に行う作業をYAML形式で記述する。

フェーズ2

サーバー利用者にメンテナス時間(大抵深夜)を通知する。

フェーズ3

メンテナンス時間になったらフェーズ1で作成したYAMLソースを実行するように、Ansilbeの設定を行い定時で帰宅する。

フェーズ4

メンテナンス時間(深夜)になるとAnsibleがYAMLの記述に従ってメンテナンス作業を行う。

参考情報

Ansible実践ガイド

『なれる!SE』公式サイト

さいごに

現状私が知っているインフラエンジニアの働き方に関する知識は全て『なれるSE』から得たものです🤪