Python Ansible

Python学習【365日チャレンジ!】256日目のマスターU(@Udemy11)です。

アオリイカが釣れることがわかって、メルカリでエギング関連商品のチェックが日課になってしまいました。

エギングを始めた頃からほしいなと思っていたのが第一精工のギャフなのですが、結構いい値段がするので、なかなか手を出せないでいたんです。

最近になってアオリイカが釣れることがわかり、ギャフの長さも手頃なサイズの3mで大丈夫なことがわかったので、新品未使用品の3mのCS-300をメルカリで見つけて思わず購入しちゃいました。

第一精工 CS300

次の釣行が楽しみで夜も眠れなくなりそうです。

それでは今日もPython学習を始めましょう。

昨日の復習

昨日は、Fabricでサーバーにアプリケーションを自動でインストールする方法を学習しました。

fabric.pyで自動化の設定をして、Flaskで動かすhello.pyと、アプリの初期設定ファイルapp.confを作成して実行することでブラウザーでHello worldを表示させることができました。

詳細については、昨日の記事をごらんください。

今日は、Ansibleを使って自動でアプリケーションをサーバーにインストールする方法を学習しようと思いつつ、Ansibleのことを調べてみました。

Ansible

Ansibleでの自動化を学習する前に、そもそもAnsible自体を理解しておかないと意味不明な作業をしていることになりかねませんので、コードを書き始めるにあたって、まずは、Ansibleについて調べてみました。

Ansibleは、コマンドラインを使ってサーバー構築などを自動化できる「Ansible Engine」と、自動化プラットフォームの「Ansible Tower」で構成されています。

Playbookと呼ばれるYAMLフォーマットでに記述された設定ファイルを用意して、サーバーの構築からネットワークのセットアップなどを自動化することができま
す。

また、用意された設定ファイルを使って処理を自動化できるだけでなく、Ansibleのコマンドラインツールを使えば、コマンドラインの引数によって処理を実行することもできます。

つまり、設定ファイルを用意しなくても、複数のサーバーで処理を実行させることが可能だということですね。

また、通常のインフラ構築管理ツールは、管理対象のサーバーに「エージェント」と呼ばれるソフトウェアをインストールする必要がありますが、Ansibleは、SSHで操作をしますが、管理対象のマシンに必要なソフトウェアはPythonだけで「エージェントレス」のツールとなります。

エージェントレス

監視機器(被監視対象)へ監視の実行と収集を行うプログラムを常駐せずに監視を行う仕組みです。監視の実行におけるリソースの消費や監視対象に負荷をかけない、エージェント代が必要ない等のメリットがあります。なお、監視対象のOS設定により接続設定の変更やログ監視等では、常駐しないプログラムの設置が必要となります。

まとめ

Ansibleを調べていると、結構設定がややこしそうで、学習意欲が削がれてしまいます。

人って自分が理解できないものがあると思考停止におちいっちゃうんですよね。

とはいえ、前に進まないわけにいかないので、一つずつ理解していこうと思います。

それでは明日もGood Python!