Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ansible 使うとき何考えてるの/ansible-role-reuse
Search
zinrai
February 08, 2021
Technology
0
470
Ansible 使うとき何考えてるの/ansible-role-reuse
Ansible Night in Tokyo 2019.07
https://ansible-users.connpass.com/event/135965/
zinrai
February 08, 2021
Tweet
Share
More Decks by zinrai
See All by zinrai
OKRとチケット駆動開発を組み合わせたチームでの取り組み/okr-tidd-knowledge
zinrai
0
200
テキスト化した「チケット駆動開発がまわりはじめるまでの取り組み」の紹介/okr-tidd-case-intro
zinrai
1
1.7k
チケット駆動開発がまわりはじめるまでの取り組み/okr-tidd-case
zinrai
10
5.4k
mail_service_unittest
zinrai
1
200
vyos_mtg3_vxlan_lt
zinrai
0
230
freebsd_shellscript_install
zinrai
1
190
debian_shellscript_install
zinrai
0
280
Other Decks in Technology
See All in Technology
roppongirb_20250911
igaiga
1
250
【NoMapsTECH 2025】AI Edge Computing Workshop
akit37
0
230
組織を巻き込む大規模プラットフォーム移行戦略 〜50+サービスのマルチリージョン・マルチプロダクト化で学んだステークホルダー協働の実践〜 / Platform migration strategy engaging all stakeholders
toshi0607
2
190
「その開発、認知負荷高すぎませんか?」Platform Engineeringで始める開発者体験カイゼン術
sansantech
PRO
2
860
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
160
メルカリIBISの紹介
0gm
0
370
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.8k
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
540
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
400
「Linux」という言葉が指すもの
sat
PRO
4
140
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
1.2k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Designing Experiences People Love
moore
142
24k
It's Worth the Effort
3n
187
28k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Transcript
Ansible 使うとき何考えてるの
自己紹介 @zinrai やってること コンテナによるアプリケーション実行基盤の整備 メトリクス管理・監視基盤の整備 ログ管理・監視基盤の整備
Ansible 歴 2014/07 〜
お話しすること
私が、どのように考え、 Ansible でサーバーを構成管理しているかをお話する。
サーバー構築
サーバー構築とは何だろうか。
私は、様々なソフトウェアのインストールと設定を組み合わせ、サービスが提供可能 なサーバーを作り上げる行為だと考えている。
サーバー構築手順書
Apache インストール Apache 設定 NTP インストール NTP 設定 etc.
ソフトウェアのインストールと設定が手順書の中に書かれているのではないだろう か。
Ansible でのサーバー構成管理
apache2 ( Apache インストール ) apache2_conf ( Apache 設定 )
ntp ( NTP インストール ) ntp_conf ( NTP 設定 ) etc.
様々なソフトウェアのインストールと設定を組み合わせ、 サービスが提供可能なサーバーを作り上げるを Ansible の Role で表現するものであ ると考えている。
「インストールしてから設定する」を Ansible では Role Dependencies で表現でき る。 cat << EOF
> apache2_conf/meta/main.yml --- dependencies: - role: apache2 EOF https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html# role-dependencies
Role を分割することで見えてくるもの
ソフトウェアをインストールする Role は、サーバー固有ではないので、再利用でき る。
Role を再利用可能な状態にしておくことで、そのサーバー固有の設定だけに注力すれ ばよくなる。
Role の再利用性の実例
Ansible の記事や本などで、「Role の再利用性」というものをよく目にするが、 Role が再利用されると実際どのようなことが起きるのかを例で示す。
サーバー固有の Role は 2 つ ( 水色は再利用している Ansible Role )
サーバー固有の Role は無し 再利用できる状態にしていた Role のみでサーバーが構成できている。
まとめ
サーバー構築は、様々なソフトウェアのインストールと設定を組み合わせ、サービス が提供可能なサーバーを作り上げるという行為である。
Ansible で、ソフトウェアのインストール、設定をそれぞれ Role に分割し、これらを 組み合わせることでサーバーを構成する。
Role を再利用可能な状態にしておくことで、そのサーバー固有の設定だけに注力すれ ばよくなる。
Role の再利用性を高めておくと、最終的には Role を組み合わせるだけの状態にな る。
サーバーの構成管理について非常に秀逸なコメントをしているものがあるので、最後 に紹介する。 実際のコメント https://twitter.com/inoryo/status/1115248088963145728 自分の考え https://twitter.com/zinrai/status/1115768141529747456
自分達のサーバーインフラと向き合い構成管理が辛くない方向に持っていくことが必 須である。
おわり