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を共有・活用するコツ / Share Ansible with Team
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
issi176
July 12, 2018
Technology
1.9k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
チームでAnsibleを共有・活用するコツ / Share Ansible with Team
チームでAnsibleを共有・活用するコツをお伝えします。
*2018/7/12 Ansible Night in Osakaの資料
issi176
July 12, 2018
Other Decks in Technology
See All in Technology
Terraformモジュールは、なぜ「魔境」化するのか
hayama17
2
220
【Gen-AX】20260530開催_JJUG CCC 2026 Spring
genax
0
440
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
3
230
Dynamic Workersについて
yusukebe
2
630
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
8.9k
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
770
AIプラットフォームを運用し続けるための可観測性
tanimuyk
4
1.2k
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
50
57k
AI駆動開発が変える、大規模開発の前提 ーHuman in the Loop から Human on the Loop へ / AIE2026
visional_engineering_and_design
29
21k
関西に縁あるMicrosoft MVPsが語るCopilotの未来
kasada
0
1.2k
Agentic Defenseとともにセキュリティエンジニアが輝き続けるには / How Security Engineers Can Keep Excelling with Agentic Defense
yuj1osm
0
130
サイバーセキュリティ概論 / Introduction to Cybersecurity
ks91
PRO
0
170
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
It's Worth the Effort
3n
188
29k
Navigating Weather and Climate Data
rabernat
0
210
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
So, you think you're a good person
axbom
PRO
2
2.1k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
430
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
220
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
160
How to Ace a Technical Interview
jacobian
281
24k
Transcript
〜Linux/Zabbix/AWSへの適応例と合わせて〜 チームでAnsibleを共有・活用するコツ 2018/7/12 Ansible Night in Osaka Naoki Oishi
1 自己紹介
2 本日のアジェンダは次のとおり 1.はじめに 2.Ansibleをチームで活用するまでの3ステップ 3.demo アジェンダ
3 ちなみに、本日はこんなことを意図(期待)した内容です ◼これから自動化/Ansibleを初めるきっかけに ◼Ansibleの書き方にいまいち自信がないという方のお助けに ◼チームでのAnsible活用を初めてみよう!というきっかけに アジェンダ
4 ◼なぜITインフラの自動化が必要? ⚫ITインフラのコモディティ化 – 価値の転換、ローコスト・ハイクオリティが求められる ⚫働き方改革! ◼なぜAnsible? ⚫マルチプラットフォーム対応 ⚫オープンソース・オープンコミュニティ ◼なぜチームで活用?
⚫ノウハウの共有・継承 ⚫コラボレーションの推進 はじめに Cloud Server App NW Storage
5 Ansibleをチームで活用するまでの3ステップ 1st 2nd 3rd
6 Ansibleをチームで活用するまでの3ステップ 1st 2nd 3rd
7 「共有化」を見据えたplaybookを作成 ◼まずは… “動く” playbookを作成 ⚫とにかく動けばOK、Try First !! ◼次にplaybookをRole化 ⚫分割により見通し良く、再利用可能に
◼最後にRole内を変数化 ⚫汎用性を高める 1st step: Try First !! とにかく 動くもの 分割と汎用性 の向上
8 タスク、変数、ファイルなどplaybookを分割する仕組み ◼playbook 全体を見通し良く、再利用を容易に ◼分割単位は作成するplaybookの用途・規模による ⚫例えばシステムの用途ごとに作成する(web, ap, db)、 より小さい単位でサービスごとに作成する(ntp, ftp)など
◼ディレクトリ構造は「お決まりパターン」を覚える ⚫[ansible best practices] で検索 Roleとは?
9 まずは よく使うRoleのディレクトリ構造を覚える Roleのディレクトリ構造 playbook/ roles/ roleA/ # Roleの呼び出し名 tasks/main.yml
# 処理(タスク)を記述 handlers/main.yml # 特定の状況でのみ実行するタスクを記述 templates/ # jinja2 形式のテンプレートを配置 files/ # リモートへコピーするファイルを配置 defaults/main.yml # 変数の初期値を記述 Playbook内でrole 名を指定すると、 tasks/main.yml が実行される
10 すべてのタスク は Role へ記述する Role化の基本方針 $ ansible-playbook –i hosts
websystem.yml - hosts: webservers tasks: - name: Install Apache yum: name: httpd state: latest - name: Copy httpd.conf template: src: httpd.conf.j2 dest: /etc/httpd/http.conf - hosts: webservers roles: - role: httpd - name: Install Apache yum: name: httpd state: latest - name: Copy httpd.conf template: src: httpd.conf.j2 dest: /etc/httpd/http.conf websystem.yml websystem.yml roles/httpd/tasks/main.yml
11 Ansibleの変数は数が多く、優先度が複雑なので、変数を指 定する場所をあらかじめ決めておく Ansibleの変数はややこしい。。。 ※例えばこんな感じで絞り込み ・role defaults ↑優先度低 ・playbook group_vars/all
・playbook group_vars/* ・playbook host_vars/* ・extra vars ↓優先度高
12 実際のplaybookではこんな感じ 変数の指定場所 playbook/ hosts # インベントリ websystems.yml # メインのplaybook
host_vars/ web01.yml # web01 ホストへ適応 優先度2 group_vars/ webservers.yml # webservers グループへ適応 優先度3 all.yml # すべてのホストへ適応 優先度4 roles/ httpd/ tasks/ main.yml defaults/ main.yml # roleのデフォルト値 優先度5(低) $ ansible-playbook –i hosts websystem.yml –e “key=value” ココで指定した変数を他の 場所で上書きしていく 優先度1(高)
13 変数名の重複をさけるため、命名規則を決める ◼1.基本形:<Role名>_<わかりやすい名前> ⚫Role名が httpd の場合、例えば「httpd_ServerName 」 ◼2.playbook全体で使用する変数は先頭に global_ を付与
変数名の命名規則 global_hostname: web01.example.com host_vars/web01.yml postfix_myhostname : “{{ global_hostname }}” roles/postfix/defaults/main.yml httpd_ServerName : “{{ global_hostname }}” roles/httpd/defaults/main.yml
14 Ansibleをチームで活用するまでの3ステップ 1st 2nd 3rd
15 「コアな仲間」と「共有方法」を確立 ◼展開に向けたコアメンバーを開拓 ⚫メリット共有、効果のアピール ◼playbookの共有方法を確立 ⚫普段からgit, svnなど使用していればそちら ⚫クローズド環境なら GitLab がオススメ
◼変数の整理 ⚫playbook内での説明書きを充実させる ⚫変数入力の補助ツールを検討 2nd: Get Core Members !! push & pull
16 playbook = Code! SCMを普段使用しない方(インフラ屋?) もこれを機に使い方を覚える ◼クローズドな環境で管理したい場合は GitLab がオススメ ⚫GitLab
CE (Community Edition) はオンプレ設置が可能 ⚫Web UI & 日本語対応のためSCM初心者にも優しい playbookの共有にSCMは必須 *SCM (Source Code Management)
17 変数化された playbook の可読性と共有度を高めるために 説明文を充実させる、もしくは入力補助ツールを作成する 他人のplaybookは理解不能…にならないように README へ変数一覧を記載、凡例は roles/*/defaults/main.yml へ記載
マクラーに依頼して、パラメータシート から 変数YAMLを作成するツールを作成
18 Ansibleをチームで活用するまでの3ステップ 1st 2nd 3rd
19 チームへ展開・活用を開始 ◼チーム全体での取組みとして展開 ⚫メリット共有、効果のアピール ⚫Ansibleの適応範囲をルール化 ⚫上司説得の殺し文句 (?) – 「品質向上・工数削減・ノウハウ蓄積」 ◼未習熟者でもAnsibleを活用できる仕組み作り
⚫運用手順書の整備 ⚫管理ツール(Ansible Tower)の採用を検討 3rd: Share with Team !! push & pull
20 Ansibleを「チームで活用する」機能が満載のGUIツール ◼WebUI ◼テンプレート機能 ◼ユーザ管理、権限設定 ◼認証情報の安全な管理 ◼実行結果と履歴の確認 ◼SCMとの連携 Ansible Towerとは?
21 1. やさしいUIと日本語対応 2. 変数入力機能が充実 3. SCM連携が便利 4. Dynamic Inventory機能が充実
5. REST APIで外部から操作可能 Ansible Towerのお気に入りポイントを5つ 他のシステムから連携させて、 自動化エンジンとしても活用可能
22 Ansible Towerのお気に入り画面
23 本日のまとめ PBのRole化 PBの変数化 PBの共有 変数整理 手順作成 実行管理 Try First!!
Get Core Members!! Share with Team !! 効果のアピール メリット共有 技術展開 ルール化 上司の理解
24 demo
25 「アレクサ、Ansible で Linux を 2台起動してー。」 demo AWS Lambda Alexa
Skill (自作) Echo dot Ansible Tower RHEL7 Zabbix Server GitLab ここまでの話とスタッフの方々を考慮する と、この構成となるべきところですが…
26 「アレクサ、Ansible で Linux を 2台起動してー。」 demo AWS Lambda Alexa
Skill (自作) Echo dot AWX CentOS7 MIRACLE ZBX GitHub 本日はこの環境で動作しています
27 実際の playbook は GitHub からご確認ください demo https://github.com/issi176/ansible-demo/ ※本日お伝えしたコツ (step1,
2) を盛り込んだつもりでございます…
28 Enjoy Ansible! ご清聴ありがとうございました!