テクニカルな目線からみた
Ansible Fest
Hiroki Uchida
@nikuyoshi
はじめに
本スライドは、2018-12-06に実施されたAnsible Night in Tokyo 2018.12 で公開された資料です。
本資料のライセンスは、クリエイティブ・コモンズ・ライセンスのCC-BYです。
https://creativecommons.jp/licenses/
発表者について
内田 大樹(うちだ ひろき)
通信会社のSE。技術書典という技術者向けのイベントで2018年に2冊本を頒布。さまざまな技術者コミュニ
ティに顔を出して、新しい技術を学び、技術に関する会話をするのが楽しい。趣味は写真撮影。
AnsibleFest 2018
世界最大のAnsibleカンファレンス。参加者1000人超え。1年に1〜2回開催。世界中からコミッター、開発者、
利用者が数多く参加。
開催日: 2018-10-02 ~ 2018-10-04
開催場所: アメリカ合衆国 テキサス州オースティン
メキシコ寄り
音楽が盛ん。SXSW
の開催地!
AnsibleFest 2018
背景、参加目的
● 背景
○ 社内にAnsibleを展開するために、ベストプラクティスをまとめる業務に携わっていた。ベスト
プラクティスをまとめる過程で、検索しても答えにたどれない質問がでてきたためAnsibleユー
ザーに直接相談したいと思っていたところ、AnsibleFestを見つけた。
● 目的
○ 世界レベルの事例を聴き、今後の開発のアイディアをもらうこと
○ コミッターの生の声を聞き、モチベーションを向上させること
国内のAnsible熱
はまだ高い
Ansible Night in Tokyo 2018.09
Ansibleとは?
Ansibleとは、構成管理ツールのこと。YAML形式の設定ファイルに実行したいタスクを宣言し、
Inventoryという接続先情報を設定して実行すれば、各接続先に対してミドルウェアのインスト
ールやネットワーク設定を自動で行える。
Ansibleサーバー
ホストA
ホストB
ホストCYAMLYAMLYAML
1. Apacheをインストール
2. Apache用のユーザー登録
3. ネットワーク設定変更
4. Apacheを起動
Inventory
参加セッション一覧(1/2)
# 分類 タイトル 登壇者 所属企業 - ポジション
1 General
Session
State of Automation & Ansible
Updates
登壇者が多いため
省略
-
2 Best Practices Tool Overload! Where Does Ansible
Fit?
Taylor Owen Kovarus
3 Best Practices Make your Ansible Playbooks Flexible,
Maintainable, and Stable
Jeff Geerling Acquia - Developer
4 Ansible
Integrations
Self-healing applications with Ansible Jurgen Etzlstorfer Dynatrace - Technology
Stragist
5 Special
Interests
Database Automation with
Thousands of database, monitoring
and backup
Sae Woong Lee LINE - Senior
Database Engineer
6 General
Session
Building Automation Teams in Today’s
Organizations
登壇者が多いため
省略
-
特に印象に残ったセッションを青字で記載
12セッション/全67セッションに参加
参加セッション一覧(2/2)
# 分類 タイトル 登壇者 所属企業 - ポジション
7 General
Session
Automation Stories 登壇者が多いため
省略
-
8 Best
Practices
Ansible Best Practices: Roles &
Modules
Tim Appnel Red Hat - Ansible
Senior Product Manager
9 Best Practices Simplifying playbooks Jon Hawkesworth M*Modal Ltd - Software
Engineer
10 Tech Deep
Dives
Developing Ansible Automation with
the Galaxy Ecosystem Toolchain
Chris
Houseknecht
Red Hat - Galaxy
Engineering Manager
11 Best Practices Ansible + VSCode: Accelerate Ansible
Playbooks
Catherine Zhu
Alfred Sin
Microsoft
12 Best Practices Managing RHEL with Ansible Roles Trey Prinz Red Hat - Account
Solutions Architect
特に印象に残ったセッションを青字で記載
State of Automation & Ansible Updates(1/3)
基調講演。Ansibleがサーバー、アプリケーション、クラウドの自動化だけでなく、ネットワー
クやデータベースの自動化ができるようになるなど、2012年当時と比較するとできることが増
えてきている。
State of Automation & Ansible Updates(2/3)
Ansibleの機能追加の歴史とともに、セキュリティに関してAnsibleの機能強化が行われること
が発表された。ネットワークに関しても引き続き強化していく。
State of Automation & Ansible Updates(3/3)
世界各国のコミュニティの紹介とともに、登壇者のOSSコミュニティに対する熱い想いを感じ
た。
Red HatのAnsible Senior Product Managerの講演。Ansible RoleとModuleに関するベストプラ
クティスを話してくれた。Ansible Playbookをシンプルにする、といった原則から講演が始ま
り、実際にその原則をどのようにPlaybookにあてはめていくのか具体例を交えてくれた。非常
にまとまっているセッションで、2日間で一番良い講演だった。
Ansible Best Practices: Roles & Modules(1/4)
Ansible Roleのテストには、「molecule」を利用して自動テストを行うと良いとのこと。元々
はコミュニティが管理していたが、Red Hatが公式にサポートすることとなり品質の保証がよ
り一層される。また、「ansible-lint」も同様に公式サポートされ、YAMLの自動チェックで使
えそう。
Ansible Best Practices: Roles & Modules(2/4)
commandモジュールの多用をするのであれば、独自モジュールを実装した方が実装が綺麗にな
るので推奨している、とのこと。今の現場ではモジュールを実装していなかったが、実装を検
討したほうが良さそうだと感じた。
Ansible Best Practices: Roles & Modules(3/4)
実際に独自モジュールを実装する際、左下図のようなAnsible公式モジュールを参考に実装すれ
ば良いとのこと。複雑で参考にしちゃいけなモジュールについても言及があった。
Ansible Best Practices: Roles & Modules(4/4)
LINEのAnsible大規模利用事例。社内のDBの82%はMySQLで、データベースのインスタンス数
は1万を超えている。それをどのように自動構築しているのか、歴史的な話も交えて話をして
くれていた。
Database Automation with Thousands of database, monitoring and backup(1/3)
MySQLをインストールするのに、Chefなどの別のツールも使っていたが、簡単にデプロイできると
いうことからAnsibleを採用した。Ansibleを利用する前は、インスタンス数に比例して線形でイン
ストール時間がかかっていたが、Ansible化によって10倍、20倍早くなったとのこと。
Database Automation with Thousands of database, monitoring and backup(2/3)
複数のデータベースを一元的に管理するために「DBONE」という内製の監視ソフトウェアを
作成した。Ansibleで使いたいモジュールがなければ自分たちでそのモジュールを作成した。
Database Automation with Thousands of database, monitoring and backup(3/3)
Ansible GalaxyのEngineering Managerの講演。Ansible Galaxy 2.0 から3.0に向けてmazerが新しく
使われるようになることを宣伝していた。Ansible Collectionというロールとあわせてモジュールを
配信できる機構ができるらしい。
The Galaxy Ecosystem Toolchain
Google Cloud用Ansible Moduleを自動生成しているMagic Modulesの紹介。Mad Libsという単語を
あてはめるカードゲームと同様に、GCPで動的に変わるリソースをWord Bankとして準備しておき、
テンプレートにあてはめてAnsible Moduleを自動生成しているとのこと。
Auto-Generating Google Cloud Ansible Modules

テクニカルな目線からみたAnsibleFest 2018