【あんしぶるぷれいぶっく】

Ansibleプレイブック とは?

💡 サーバー設定を楽譜に書いておけば、何度でも同じ演奏ができる
📌 このページのポイント
Ansibleプレイブックの構成 playbook.yml hosts: webservers tasks: - name: install nginx apt: pkg=nginx - name: start nginx service: nginx 実行 Ansible エンジン SSH Web #1 nginx ✓ Web #2 nginx ✓ Web #3 nginx ✓ 冪等性: 何度実行しても結果は同じ。すでに完了済みのタスクはスキップ
Ansibleプレイブックによるサーバー設定の自動化イメージ
ひよこ ひよこ

Ansibleプレイブックって、Ansible本体と何が違うの?

ペンギン先生 ペンギン先生

AnsibleサーバーSSHで操作するツール本体で、プレイブックはその「何をするか」を書いたYAMLファイルだよ。楽譜とオーケストラの関係みたいなものだね

ひよこ ひよこ

YAMLで書くんだね!どんなことを書くの?

ペンギン先生 ペンギン先生

「hostsでどのサーバーを対象にするか」「tasksで何のモジュールを実行するか」を書くよ。たとえば「nginxをインストールして起動する」といった手順を並べていく感じだね

ひよこ ひよこ

何度実行しても大丈夫って聞いたけど、それが冪等性なの?

ペンギン先生 ペンギン先生

そうだよ!nginxがすでに入っていたら「インストール済み」とスキップしてくれる。だから本番環境に何度流しても、余計な変更が起きないのが安心なところだね

ひよこ ひよこ

ロールっていうのも聞いたことあるんだけど?

ペンギン先生 ペンギン先生

ロールはプレイブックモジュール化したもので、「webサーバー設定」「DBセットアップ」みたいな単位で再利用できる仕組みだよ。Ansible Galaxyで公開されているロールをそのまま使うこともできるんだ

ひよこ ひよこ

じゃあ、大きなシステムでも管理しやすそうだね!

ペンギン先生 ペンギン先生

その通り!インベントリファイルと組み合わせると「本番は10台、ステージングは2台」みたいに環境ごとに同じプレイブックを使い分けられるよ。Infrastructure as Codeの代表的な実践方法の一つだね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
Ansibleプレイブック」って出てきたら「サーバー設定の自動化手順書」と思えればだいたいOK!
📖 おまけ:英語の意味
「Ansible Playbook」 = アンシブルの台本
💬 「playbook」はスポーツや演劇で使う「作戦ノート・台本」という意味。Ansibleがその台本通りにサーバーを操作するイメージだよ
← 用語集にもどる