Ansible

「yum module install php:remi-8.0」をansibleで書く

CentOS8にphp:remi-8.0をインストールするコマンドは以下のとおりです。
# sudo rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-8.rpm
# sudo rpm --import http://rpms.remirepo.net/RPM-GPG-KEY-remi
# sudo yum config-manager --set-enabled remi
# sudo yum module install php:remi-8.0
これをansibleで書くと以下のようになります。
- name: phpのインストール
  dnf:
    name: "@php:remi-8.0"
    enablerepo: remi
    state: present
php:remi-8.0の前の@については、ansible.builtin.dnf – Manages packages with the dnf package managerのExamplesの「Install a modularity appstream with defined stream and profile」を参照。

Ansibleの書籍について(2020/04/21)

[結論]
設定を自動化したいサーバーがすでにあるなら
Ansible実践ガイド 第3版 (impress top gear)
横地 晃
インプレス
2019-10-18


設定を自動化したいサーバーがあるわけではなく、Ansibleを体験してみたい方は


かな…と思います。
どっちを買うか迷う場合は「Ansible実践ガイド 第3版」がいいです。

[前置き]
CentOS6からCentOS8へ更改にあたって、ErogameScapeのサーバーの設定をAnsibleですることにしました。

ErogameScapeはもともと自宅サーバーで運用していたのですが、CentOS8への更改を契機に専用サーバーを借用することにしました。
自宅サーバーで運用していたときは2台構成…apacheへのアクセスはkeepalivedで冗長化し、postgresqlの前段にpgpoolをおいて、PostgreSQLは同期レプリケーション構成、pgpoolも冗長構成をとっていました。
この構成は設定するのも運用するのも大変でした。
専用サーバーに移行するにあたって、冗長構成をとるのをやめたので、設定がとてもシンプルになり、Ansibleの本を読み始めてから、playbookの作成完了まで2週間でできました。

設定にあたって、2冊、本を買いました。
書いてある内容の半分くらいしか必要なかった(ネットワーク機器、Windows、クラウドの設定は必要なかった)ので、半分くらいしか読んでいません。

「Ansible実践ガイド 第3版」を一通り読んで、ErogameScapeのplaybookを書き、[Ansible構築・運用ガイドブック]を読みました。


[2つの本について]
Ansibleは実際に書いて動かしてみることがよいです。
どんなふうに書いたらいいか、が多く書いてあるのは、[Ansible実践ガイド 第3版]の方です。
実践の例として、[Ansible実践ガイド 第3版]は、HAproxy、Keepalived、Nginx、PHP-FPM、WordPress、Mariadb(galera-cluster)の設定をしています。
一方、[Ansible構築・運用ガイドブック]は、Nginx、Zabbix、Mariadb(おまけ程度)の設定をしています。
インベントリの書き方、変数の使い方、ロールの使い方、多くのケースで[Ansible実践ガイド 第3版]の方が詳しいです。
[Ansible実践ガイド 第3版]に書いていなくて[Ansible構築・運用ガイドブック]に書いてあって有用だと思ったのは、ansible-lintだけです。

自分は、Keepalived、Nginx、PHP-FPM、WordPressを使ったことがあって、HAproxy、Mariadbも設定を見ればまあわかる、な知識があったので、[Ansible実践ガイド 第3版]をすらすら読めましたが、Keepalived等の冗長化構成をとったことがない方の場合は、ちょっと厳しいかもしれません。
また[Ansible実践ガイド 第3版]は実践する環境を自分で用意しないといけないので、VirtualBOXを使ったことがないと厳しいと思いました。
一方、[Ansible構築・運用ガイドブック]は、著者が実践用のVagrantファイルを用意してくれているので、自分で環境を構築する必要がないです。

以上から、Ansibleを使う必要がある…という方は、多くの場合、すでにサーバーを構築していらっしゃる方だと思うので、[Ansible実践ガイド 第3版]がお勧めです。
サーバーの構築をしたことがないけど、Ansibleがどんなものかを知りたい場合は、[Ansible構築・運用ガイドブック]がいいかなと思います。ただ…[Ansible構築・運用ガイドブック]だと足りないので、[Ansible実践ガイド 第3版]を買うことになるか、Ansibleの公式ドキュメントを読むかになるかと思います。

Ansible実践ガイド 第3版 (impress top gear)
横地 晃
インプレス
2019-10-18

記事検索