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

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がその台本通りにサーバーを操作するイメージだよ
← 用語集にもどる