利用者視点でみる 10分でansible - scsk › lib › product › oss › pdf ›...
TRANSCRIPT
![Page 1: 利用者視点でみる 10分でAnsible - SCSK › lib › product › oss › pdf › Ansible_LT.pdfAnsibleとは(2) Ansibleは、ITオートメーションを実現する優秀な](https://reader030.vdocuments.net/reader030/viewer/2022041110/5f0fb7337e708231d44587c8/html5/thumbnails/1.jpg)
利用者視点でみる 10分でAnsible
2017.2.23 Hideki Saito
![Page 2: 利用者視点でみる 10分でAnsible - SCSK › lib › product › oss › pdf › Ansible_LT.pdfAnsibleとは(2) Ansibleは、ITオートメーションを実現する優秀な](https://reader030.vdocuments.net/reader030/viewer/2022041110/5f0fb7337e708231d44587c8/html5/thumbnails/2.jpg)
whom氏名: 齊藤 秀喜 (さいとう ひでき) TwitterID: @saito_hideki
• 所属: • 日本OpenStackユーザ会
• OSSとの関わり • OpenStack Active Technical Contributor • Ansibleコミュニティモジュールメンテナ
• 趣味: OpenStack, Ansible, IT Automation
2
10分でAnsible
![Page 3: 利用者視点でみる 10分でAnsible - SCSK › lib › product › oss › pdf › Ansible_LT.pdfAnsibleとは(2) Ansibleは、ITオートメーションを実現する優秀な](https://reader030.vdocuments.net/reader030/viewer/2022041110/5f0fb7337e708231d44587c8/html5/thumbnails/3.jpg)
Ansibleは、手作業のコード化と自動実行を実現するためのITオートメーションツールです。
構築手順構築手順Server
Ansibleとは(1)10分でAnsible
Apache
MySQL
PHP
Linux
Linux
Apache
MySQL
PHP
Server
Linux
Apache
MySQL
PHP
構築手順書作業実施
Playbookコード実行
オペレータ3
![Page 4: 利用者視点でみる 10分でAnsible - SCSK › lib › product › oss › pdf › Ansible_LT.pdfAnsibleとは(2) Ansibleは、ITオートメーションを実現する優秀な](https://reader030.vdocuments.net/reader030/viewer/2022041110/5f0fb7337e708231d44587c8/html5/thumbnails/4.jpg)
Ansibleとは(2)Ansibleは、ITオートメーションを実現する優秀なツールですが、他の選択肢も存在しています。 他の代表的なプロダクトとして、ChefやPuppetがあげれられます。
10分でAnsible
4
![Page 5: 利用者視点でみる 10分でAnsible - SCSK › lib › product › oss › pdf › Ansible_LT.pdfAnsibleとは(2) Ansibleは、ITオートメーションを実現する優秀な](https://reader030.vdocuments.net/reader030/viewer/2022041110/5f0fb7337e708231d44587c8/html5/thumbnails/5.jpg)
Ansibleの特徴ChefとPuppetはAnsibleに比べて歴史も長く、多くの利用実績があります。また、自動化を実現するためのコンセプトも似通っています。
これらのプロダクトに対して、Ansibleは以下のような特徴を持っています。
◎ 運用しやすいコマンドラインベースのシンプルなアーキテクチャ ◎ エージェントレスなうえに、CMDBもなしで身軽 ○ 標準提供される数多くのモジュール群をもっている ☓ 外部から制御可能なAPIをもっていない(CLIベースなので) ☓ ユーザの細かな権限管理をしにくい ☓ Ansibleの設定やログなどを中央で管理する方法は提供されない
10分でAnsible
5
![Page 6: 利用者視点でみる 10分でAnsible - SCSK › lib › product › oss › pdf › Ansible_LT.pdfAnsibleとは(2) Ansibleは、ITオートメーションを実現する優秀な](https://reader030.vdocuments.net/reader030/viewer/2022041110/5f0fb7337e708231d44587c8/html5/thumbnails/6.jpg)
ITオートメーションツールと、他の役割のツール群を連携させることで、更に大きな導入効果を得られます。
Server
Infrastructure as Codeを実現
10分でAnsible
Linux
Apache
MySQL
PHP
Playbook例: テスト環境の⾃動構築
fetch/push review
check/fetch/review
fetch/pushdeploy
operation
operation
exec
6
![Page 7: 利用者視点でみる 10分でAnsible - SCSK › lib › product › oss › pdf › Ansible_LT.pdfAnsibleとは(2) Ansibleは、ITオートメーションを実現する優秀な](https://reader030.vdocuments.net/reader030/viewer/2022041110/5f0fb7337e708231d44587c8/html5/thumbnails/7.jpg)
Ansibleの構成要素Ansibleはコマンドラインベースのツールで、主に以下の要素から構成されています。
10分でAnsible
# 構成要素 概要
1 Configuration Ansibleの振る舞いを決める設定ファイル
2 Inventory 管理対象ホストの一覧が記述されたファイル
3 Module タスクとしてAnsibleが実行するプログラム
4 Command タスクやPlaybookを実行するためのコマンド群
5 Playbook 複数のタスクから構成されるワークフロー定義ファイル
6 Plugin コア機能を拡張するためのプラグイン
7
![Page 8: 利用者視点でみる 10分でAnsible - SCSK › lib › product › oss › pdf › Ansible_LT.pdfAnsibleとは(2) Ansibleは、ITオートメーションを実現する優秀な](https://reader030.vdocuments.net/reader030/viewer/2022041110/5f0fb7337e708231d44587c8/html5/thumbnails/8.jpg)
Ansibleによる自動化の仕組み
10分でAnsible
(a) UNIXホストに対する操作
(b)Windowsホストに対する操作
(c)ネットワーク機器に対する操作
8
![Page 9: 利用者視点でみる 10分でAnsible - SCSK › lib › product › oss › pdf › Ansible_LT.pdfAnsibleとは(2) Ansibleは、ITオートメーションを実現する優秀な](https://reader030.vdocuments.net/reader030/viewer/2022041110/5f0fb7337e708231d44587c8/html5/thumbnails/9.jpg)
ansibleによるタスク実行10分でAnsible
9
![Page 10: 利用者視点でみる 10分でAnsible - SCSK › lib › product › oss › pdf › Ansible_LT.pdfAnsibleとは(2) Ansibleは、ITオートメーションを実現する優秀な](https://reader030.vdocuments.net/reader030/viewer/2022041110/5f0fb7337e708231d44587c8/html5/thumbnails/10.jpg)
ansible-playbookによるシナリオ実行
10分でAnsible
AnsibleはPlaybookにより、オペレーションのコード化を実現しています。 Playbookは、実施する一連のタスクを、順序立ててYAML形式で記述したものです。
10
![Page 11: 利用者視点でみる 10分でAnsible - SCSK › lib › product › oss › pdf › Ansible_LT.pdfAnsibleとは(2) Ansibleは、ITオートメーションを実現する優秀な](https://reader030.vdocuments.net/reader030/viewer/2022041110/5f0fb7337e708231d44587c8/html5/thumbnails/11.jpg)
最後に...
10分でAnsible
![Page 12: 利用者視点でみる 10分でAnsible - SCSK › lib › product › oss › pdf › Ansible_LT.pdfAnsibleとは(2) Ansibleは、ITオートメーションを実現する優秀な](https://reader030.vdocuments.net/reader030/viewer/2022041110/5f0fb7337e708231d44587c8/html5/thumbnails/12.jpg)
Playbookを書く際の心得(1)ちゃんとしたYAMLの書式で書こう
(2)できるだけBest Practiceに従った構造にしよう
(3)タスクの先頭にはname:セクションをちゃんと書こう
(4)タスク内で即値を書かずにvarsファイルに外出ししよう
(5)名前重要。Playbookの変数の名前空間はフラットです
(6) debugモジュールをつかう場合はverbosityも設定しよう
(7) jinja2テンプレートはできるだけシンプルに書こう
(8)巨大な1つのファイルに書かずに分割してincludeしよう
(9) Playbookをコードレビューできる仕組みを導入しよう
10分でAnsible
![Page 13: 利用者視点でみる 10分でAnsible - SCSK › lib › product › oss › pdf › Ansible_LT.pdfAnsibleとは(2) Ansibleは、ITオートメーションを実現する優秀な](https://reader030.vdocuments.net/reader030/viewer/2022041110/5f0fb7337e708231d44587c8/html5/thumbnails/13.jpg)
Inventoryを書く際の心得(1) IPアドレスやFQDNよりも、わかりやすい名前をつけよう
(2)環境毎に分けて誤爆を防ごう
(3)適切なパーミッションを設定しよう
(4) --limitを多用するくらいなら、専用にグループを作ろう
(5) Dynamic Inventoryは単一の情報ソースから生成しよう
10分でAnsible
![Page 14: 利用者視点でみる 10分でAnsible - SCSK › lib › product › oss › pdf › Ansible_LT.pdfAnsibleとは(2) Ansibleは、ITオートメーションを実現する優秀な](https://reader030.vdocuments.net/reader030/viewer/2022041110/5f0fb7337e708231d44587c8/html5/thumbnails/14.jpg)
ご静聴ありがとうございました