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
190
テキスト化した「チケット駆動開発がまわりはじめるまでの取り組み」の紹介/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
人工衛星のファームウェアをRustで書く理由
koba789
15
7.7k
2025年になってもまだMySQLが好き
yoku0825
8
4.7k
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.8k
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.2k
Obsidian応用活用術
onikun94
2
490
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
280
Android Audio: Beyond Winning On It
atsushieno
0
110
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.4k
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
230
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
200
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1k
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
400
Featured
See All Featured
Fireside Chat
paigeccino
39
3.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Code Reviewing Like a Champion
maltzj
525
40k
Raft: Consensus for Rubyists
vanstee
140
7.1k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Designing for Performance
lara
610
69k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
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
自分達のサーバーインフラと向き合い構成管理が辛くない方向に持っていくことが必 須である。
おわり