【WordPress】Ansibleに入門してみた【Ubuntu】

  • 2023-08-31
  • 2023-08-31
  • 開発

仕事でAnsible周りを担当することになったので、チュートリアルを参考にしながらAnsibleを学びました。

成果物や悩んだこと、参考になったサイトをアウトプットしておきます。

成果物

Ansible を用いてLAMP環境を構築して、WordPress をインストール・設定する Playbook を書きました。

実務を想定してベストプラクティスのディレクトリ構成を採用しています。

構成としては

  • Nginx
  • PHP-FPM
  • MongoDB
  • WordPress

を Ubuntu Server 22.04.2 LTS にプロビジョニングした形になります。

リポジトリはこちらになります。

https://github.com/mopeneko/ansible-practice

悩んだこと

include が廃止されていた

参考にしたサイトでは include を用いてファイル分割が行われていましたが、現時点の最新バージョン(v2.15.3)では import_playbookimport_tasks を用いて行うようです。

参考: https://docs.ansible.com/ansible/2.9_ja/user_guide/playbooks_reuse_includes.html

unarchive モジュールはローカルのファイルをソースとする

WordPress パッケージを解凍する際に unarchive モジュールを用いたのですが、どうやらこれはローカル(=Ansible を実行するホスト)のファイルをコピーするようです。

これを無効化するためには copy=no を指定する必要があります。

参考になったサイト

公式ドキュメントが一番参考になりました。

モジュールの説明から使用例まで書かれていますし、ベストプラクティスの説明も細かいです。

業務でも世話になることが多いだろうと感じました。

https://docs.ansible.com/ansible/2.9_ja/index.html

まとめ

今回初めてベアボーンのプロビジョニングを自動化しました。

作業中とても楽しかったので、今後はAnsible ValutやAWXに触れてみたり、Terraformのような他のIaCツールも勉強したいです。

本来2日で完了させるはずが3日かかってしまったのが悔しいですが、貴重な経験になったと感じています。