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
MSPだってプロビジョンしたい!
Search
Kei Iwasaki
June 10, 2014
1
5.4k
MSPだってプロビジョンしたい!
Ansible 勉強会 #1 (
http://ansible-users.connpass.com/event/5968/
)
でLTさせてもらった際のスライドです。
Kei Iwasaki
June 10, 2014
Tweet
Share
More Decks by Kei Iwasaki
See All by Kei Iwasaki
ECS Scheduled Task 上の定期実行バッチを ecschedule で GitOps 化した話 / A story about a scheduled execution batch on the ECS Scheduled Task converted to GitOps with ecschedule
laughk
2
10k
Python と出会ったインフラエンジニアの話 / / The story of an infrastructure engineer who met Python
laughk
0
1.1k
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
laughk
0
2.6k
AnsibleでOrchestrationを体感しよう!
laughk
0
770
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
33
3k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Code Review Best Practice
trishagee
65
17k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
Bash Introduction
62gerente
608
210k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Transcript
MSP だってプロビジョンしたい! Ansible 勉強会 #1 (LT 資料 )
自己紹介 Name: Kei Iwasaki (@laugh_k) MSP( 監視運用代行 ) な インフラ屋をしています。
お話させていただく内容 お客さん環境の監視・運用代行を行っている インフラ屋が Ansible を少しずつ使い始めて 嬉しいなというところを紹介。
Ansible の嬉しいところ • クライアント側に特別なツールの導入の必要がない • sshconfig が使える • playbook が
yaml 形式のため、設定ファイルを書く 延長線上の感覚で記載ができる。 • playbook が作業の記録として残る。再現もできる。
クライアント側に 特別なツールの導入の必要がない
クライアント側に特別なツールの導入の必要がない Ansible 以外にもプロビジョン系のツールは多数存在します。 とはいえ、お客さんの環境の管理をする際は、 そもそも下手にクライアントをインストールできない手前、 基本的にクライアント側は SSH アクセスができれば OK というのは
非常にありがたいです。
クライアント側に特別なツールの導入の必要がない もちろん CentOS5 系では python-simplejson が必要 selinux が動いている場合は libselinux-python が必要
だったりと、 必ずしも SSH だけで OK かといえばそうでもないケースは あったりするので注意は必要です。
sshconfig が使える
つまり
踏み台を超えれる!
sshconfig が使える => 踏み台を超えられる 各お客さんのインフラ環境には 踏み台を超えないことにはそもそもアクセスができません。 オフィス DC 踏み台 Web
Web DB DB
sshconfig が使える => 踏み台を超えられる 残念ながら Ansible に直接踏み台サーバ指定のオプションなどは 実装されていません。 しかしながら、環境変数 'ANSIBLE_SSH_ARGS'
に SSH コマンドのオプションを渡すことができます。 ( ansible.cfg に ssh_args = … で指定しても OK )
sshconfig が使える => 踏み台を超えられる つまり、 こんな感じで sshconfig.project なんてファイルを用意して ... Host
gateway HostName 192.0.2.10 User loginuser IdentityFile ~/.ssh/hoge.pem Host 172.16.2.* User loginuser IdentityFile ~/.ssh/hoge.pem ProxyCommand ssh -F sshconfig.project gateway nc -w 120 %h %p
sshconfig が使える => 踏み台を超えられる こんな感じで host.project なんてファイルを用意して ... [web] web01
ansible_ssh_host=172.16.2.11 web02 ansible_ssh_host=172.16.2.12 [db] db01 ansible_ssh_host=172.16.2.21
sshconfig が使える => 踏み台を超えられる こんな感じで base-play.yml なんてファイルを用意して ... --- -
hosts : all user : loginuser sudo : True task : - name : install develop tools yum : name="{{ item }}" state=present with_lines : - "@Development Tools" - "@Compatibility libraries"
sshconfig が使える => 踏み台を超えられる 以下のようにすれば sshconfig.project に従って踏み台越えができる! % export ANSIBLE_SSH_ARGS='
-F sshconfig.project ' % ansible-playbook base-play.yml -i host.project オフィス DC 踏み台 Web Web DB DB ansble-playbook
playbook が 設定ファイルを書く延長線上の感覚で 記載ができる
playbook が 設定ファイルを書く延長線上の感覚で 記載ができる yaml 形式でサーバの設定や構成を記載していけるため これまでサーバ管理をやってきた方でも 設定ファイルを書いていくのに近い感覚で記載ができます。 もちろん、 ansible
特有の書き方の部分もありますが、 そもそもで公式ドキュメントが非常に充実しているので 簡単な構成管理であればそれほど苦労せずかけます。
playbook が作業の記録として残る。 再現もできる。
playbook が作業の記録として残る。 再現もできる。 一度 playbook に落としこんで構築してしまえば LVS DC ansible-playbook
playbook が作業の記録として残る。 再現もできる。 品質を保ちつつ、再現ができる! LVS LVS DC ansible-playbook
playbook が作業の記録として残る。 再現もできる。 HW 故障などで、急遽構築が必要になった場合なども ... ( ※ 実際に体験した話です )
LVS LVS DC2 _人人人人人人_ > 突然の死 <  ̄ Y^Y^Y^Y^Y  ̄
playbook が作業の記録として残る。 再現もできる。 機器の調達ができれば、突貫の手作業よりも安全に構築できます。 ( ※ 実際に体験した話です ) LVS LVS
だったもの DC2 新 LVS ansible-playbook
playbook が作業の記録として残る。 再現もできる。 本当に完璧にプロビジョニングをするにはやはり playbook をバージョン管理、 メンテナンス等をし続ける必要が出てくるかと思います。 それでも、まずは運用上頻繁に行う作業はもちろん、 忘れた頃にやってきそうな作業なども playbook
化しておくだけでも 作業負荷が減らせたりする部分は多いと思います。
最後に 本当にすこしで、まだ手探り段階ではあるけれども 運用屋が Ansible うれしいな っていう点を 紹介させてもらいました。 むしろ「俺のほうがうまい使い方知ってる!」 みたいな話があったらぜひ聞いてみたいなと思っています。 完全な構成管理を行っていくのは
今すぐにというわけには行かない部分も大きいですが、 定常的な作業や、すでに手順書化されている部分を自動化する という視点などでアプローチしていくと 少しでも幸せになれるのではないでしょうか。
ご清聴ありがとうございました。