Python学習【365日チャレンジ!】262日目のマスターU(@Udemy11)です。
最近メルカリでエギング関連のアイテムを物色して散財しまくっています。
お金があるとついついハマっているものにつぎ込んでしまうくせがあるんですよね。
ほんと困りもので、ある程度お金が溜まってくると使わないといけないという強迫観念に襲われるんです。
それで魅力的なものを見つけるといてもたってもいられなくなっちゃうんですよね。
体を休めないといけないとだめだと思いつつ、釣れているときに釣りに行かないと釣れなくなっちゃうという強迫観念も持ち備えているので、ほんと困ったものです。
それではPython学習に入ります。
昨日の復習
昨日は、Ansibleの独自モジュールの作り方を学習しました。
最初から使えるモジュールのことですらしっかりと理解できていない状態で自作モジュールを理解するのは一苦労ですが、こんなことができるんだということを頭の片隅に入れておけば、いざ実践となったときに役立ってくれるかもしれません。
簡単な計算をして、その結果を返すsum
モジュールを作成したので、詳細については昨日の記事をごらんください。
今日は、これまでの学習で利用したAnsibleのモジュールについて確認します。
Ansibleモジュール
すでにこれまでの学習で、Ansibleモジュールを使っていますが、なんとなく理解したつもりだったものの、きちんと理解していなかったので、とりあえず、Ansibleモジュールのことを調べてみました。
Ansibleモジュールとは
Ansibleモジュールは、これまでに学習したansible-playbookコマンドで実行可能なスクリプトで、引数を受け取って、処理を実行し、デフォルトでJSON形式の実行結果を返してくれるので、どのプログラミング言語でも扱うことができます。
ちなみにAnsibleで使えるモジュールは公式ドキュメントをのぞいてみるとわかりますがたくさんあるので、全てを覚えることは難しいので、利用頻度の高いものを使いながら覚えていくのが現実的です。
たくさんありすぎるので、これまでの学習で使ったAnsibleモジュールをチェックしてみましょう。
apt
Linuxディストリビューションでapt-get
コマンドを実行するモジュールです。
サーバー構築ではPythonライブラリのインストールなどに使いました。
apt_repository
APT(Advanced Package Tool)のレポジトリを追加したり削除したりするモジュールです。
ubuntuにuniverse
レポジトリを使いする際に使用しました。
command
リモート先でコマンドを実行するモジュールです。
easy_install
でpip
のインストールがエラーになったので、command
モジュールを使って直接コマンドを実行してインストールしました。
copy
copy
モジュールは、cp
コマンドを実行するモジュールで、src(source)
とdest(destination)
を使ってファイルをリモート先にコピーします。
src
にはファイル名を記述して、dest
には別ファイルで定義した変数を使ってリモート先のディレクトリとファイル名を記述しました。
file
file
モジュールはその名のとおり、ファイル操作を行うモジュールで、ファイルやディレクトリの設定や削除をすることができるモジュールです。
アプリ(Pythonファイル)を保存するディレクトリを作り、パーミッションを755に指定しました。
pip
pip
コマンドを使ったパッケージのインストールができるモジュールです。
apt
モジュールを使ったflask
のインストールに失敗したので、すでにインストールしてあったpip
を使ってflask
をインストールしました。
service
service
モジュールは、service
コマンドを使ったサービスの起動や停止、再起動や削除などの管理ができるモジュールです。
リモート先のサーバーをsupervisor
でログインして使用する際に使いました。
template
template
モジュールは、テンプレートエンジンのjinja2
のテンプレートファイルを、src(source)
とdest(destination)
を指定し、ファイルをリモート先にコピーします。
gunicorn
の実行コマンドを記述したjinja2
のファイルを指定してリモート先にコピーしました。
まとめ
公式ドキュメントをごらんになればわかると思いますが、Ansibleモジュールはものすごいたくさんあります。
すべてを理解するのは無理なので、使ったものから使い方を覚えていくといいでしょう。
今回のサーバー構築の自動化で使ったモジュールは8つだけでしたが、使い方をあらためて確認すると、Ansibleモジュールをどのように使えばいいのかが何となくわかるようになります。
なにごとも1回やっただけでは理解することはできないので、何度も繰り返してコードを書いたり復習したりすることが大切です。
触れる回数が多ければ多いほど記憶に定着するので、理解したつもりでも復習するように心がけましょう。
それでは、明日もGood Python!