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
KYT の話 / 20180524-ssmjp-kyt
Search
ArctanX
May 24, 2018
Technology
0
540
KYT の話 / 20180524-ssmjp-kyt
ssmjp 201805 での発表資料(の一部)です。
(公開用に多少手を入れています)
ArctanX
May 24, 2018
Tweet
Share
More Decks by ArctanX
See All by ArctanX
ログ分析の話 / 20181207-ssmjp-logana
arctanx93
0
160
Other Decks in Technology
See All in Technology
いまからでも遅くない!SSL/TLS証明書超入門(It's not too late to start! SSL/TLS Certificates: The Absolute Beginner's Guide)
norimuraz
0
240
データ戦略部門 紹介資料
sansan33
PRO
1
3.7k
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing Hiroshima 2025 Edition
tomzoh
0
140
新規事業におけるGORM+SQLx併用アーキテクチャ
hacomono
PRO
0
280
OCI Network Firewall 概要
oracle4engineer
PRO
2
7.9k
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
3
520
GoでもGUIアプリを作りたい!
kworkdev
PRO
0
140
Git in Team
kawaguti
PRO
3
370
[Codex Meetup Japan #1] Codex-Powered Mobile Apps Development
korodroid
2
790
ユーザーの声とAI検証で進める、プロダクトディスカバリー
sansantech
PRO
1
140
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
2
620
Wasmのエコシステムを使った ツール作成方法
askua
0
170
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
526
40k
Building an army of robots
kneath
306
46k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
GitHub's CSS Performance
jonrohan
1032
470k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
The Language of Interfaces
destraynor
162
25k
The Pragmatic Product Professional
lauravandoore
36
6.9k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Speed Design
sergeychernyshev
32
1.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Optimizing for Happiness
mojombo
379
70k
Transcript
KYT の話 May 24, 2018 #ssmjp Hideaki Tanabe (@arctanx93)
最初に • 本プレゼン内容は、私の生涯(の一部)で得た経験や知識 が元になっていますが、特定の企業や団体等の意見を代 表するものではありません • 参考文献/引用元等の文言は、プレゼン資料向けに要約 等、手直ししている場合もあります • ケーススタディは説明用ですので、「そもそも、この設
定はダメ」「そもそも、こんなコマンドは打たない」等 の御指摘は(その通りかも知れませんが)ご容赦ください • 撮影画像のツイート/公開はご遠慮ください 2
自己紹介 • 田辺 英昭 (Hideaki Tanabe) • 1960年代末期に生まれる • 学生時代はいろいろプログラミングとかやっていました
➢ gzip (作者へのバグレポートやローカライズ(日本語対応)) ➢ LHtouch (フリーソフト) 等 ➢ ベクターのサイトにもあります • 2011年に ssmjp 初参加(#22) 3
今日のアジェンダ • KYT とは • 運用の観点で KYT をやってみる • ケーススタディ
• まとめ 4
KYT とは • 危険予知訓練 (きけんよちくんれん) は、工事や製造な どの作業に従事する作業者が、事故や災害を未然に防 ぐことを目的に、その作業に潜む危険を予想し、指摘 しあう訓練である。 •
ローマ字による表記 Kiken Yochi Training の頭文字を とって KYT (ケーワイティー)、あるいは KY 訓練/KY 活動(KYK)とも呼ぶ。 Wikipedia より (https://ja.wikipedia.org/wiki/危険予知訓練) 5 労働安全衛生法で職長・作業指揮・監督者は職長教育の受講が 義務付けられており、その中に危険予知訓練も含まれている
KYT とは 1. イラストシートを提示し、どんな危 険が潜んでいるか、意見を出し合う 2. 問題のある重要な危険性を絞り込む 3. 「あなたならどうする」を考えて意 見を出し合う
4. 「私たちはこうする」を絞り込む 5. 実際に現場で確認する指差し呼称項 目を唱和する 厚生労働省サイトより (http://anzeninfo.mhlw.go.jp/yougo/yougo40_1.html) 6
KYT とは ◆危険の例: • 踏み台が手すりに近く、腰の位置が 高いので、降りようとしてよろけた とき、手すりを超えて落ちる • 顔を近づけてペーパーがけしている ので、風で粉が飛び散り、目に入る
◆対策の例: • 踏み台を壁側に寄せる • 風上で作業をする 7 厚生労働省サイトより (http://anzeninfo.mhlw.go.jp/yougo/yougo40_1.html)
KYT とは • 他にも JAF Mate 誌の「危険予知」のコーナーでは、 自動車の運転席から見た視界の写真を題材に、数秒後に どのような事故に繋がりかねない危険を予知できるか、 訓練できる
(http://jafmate.jp/jmp/prediction_of_risks/) 8
運用の観点で KYT をやってみる IT の現場でも • オペミスや人為トラブルの防止 • 手順書のレビュー精度の向上 •
自動化の際のチェック処理 等の観点で、運用やオペレーションにも KYT が役立つ かも知れない!! というか、普通にやっているかも? 9
運用の観点で KYT をやってみる • ケーススタディを使って、オペミス等の危険を予知でき るか考えてみます • オペミスシナリオや対策についてはいろいろな考え方が あるので、正解を示しているわけではなく、あくまで一 例です
• 今時の(?)オペレーションの現場では、現実感の無い ケースばかりかも知れませんが、ご容赦ください 10
ケーススタディ 1 • Web サーバの設定にあたり、BASIC 認証の設定を別 のディレクトリにもコピーしようとして、以下の操作 を行いました # cd
△ /www2/dir2 # cp △ /www1/.htaccess △ /www1/.htpasswd △ . 11
ケーススタディ 1:危険予知 • Web サーバの設定にあたり、BASIC 認証の設定を別 のディレクトリにもコピーしようとして、以下の操作 を行いました # cd
△ /www2/dir2 # cp △ /www1/.htaccess △ /www1/.htpasswd △ . 12 どこが危険工程で、 何が起こりうるのか?
ケーススタディ 1:オペミスシナリオ例 # cd △ /www2/dir2 # cp △ /www1/.htaccess
△ /www1/.htpasswd△ . ここのドットを打ちそこなうと、 /www1/.htpasswd が /www1/.htaccess で 上書きされて、内容が消失してしまう 13 あなたならどうする/他に何が起こり得たか
ケーススタディ 1:対策例(諸説あります) • Enter 押す前に確認する • コピー先はドットではなく、フルパスで記述する • ファイルのバックアップを事前に取る •
cp に –i をつける ➢もし .htaccess と .htpasswd が逆なら、.htaccess の内容が消失して、設定次第では Web サイトが表示 されなくなってしまったかも知れない 14
ケーススタディ 2 • 多数のサーバの cron 設定を、一人で一晩で変更するこ とになりました # crontab △
–e で crontab を編集 15
ケーススタディ 2:危険予知 • 多数のサーバの cron 設定を、一人で一晩で変更するこ とになりました # crontab △
–e で crontab を編集 16 どこが危険工程で、 何が起こりうるのか?
ケーススタディ 2:オペミスシナリオ例 # crontab △ –e で crontab を編集 17
(夜間の繰り返し作業で集中力が途切れて) “e” の隣の “r” をタイプしてしまうと、 cron の設定が削除されてしまう あなたならどうする/他に何が起こり得たか
ケーススタディ 2:対策例(諸説あります) • Enter 押す前に確認する • crontab △ –l でバックアップを事前に取る
• 一人で一晩でやろうと思わずに、作業スケジュールや 作業体制を見直す • 作業対象サーバ台数が多いなら、スクリプト化や自動 化をする 18 ケーススタディ 1 と比べた場合、タイプミスである点は 同じだが、それに至った経緯が異なるため、対策案も変 わりうるということに注目したい
ケーススタディ 3 • 普段あまりサーバに直接ログインしない Web サイトの 担当者が、コンテンツのバックアップを取るために、 シェルからコマンドを打つことになりました # tar
△ cvzf △ html.tar.gz △ *.html 19
ケーススタディ 3:危険予知 • 普段あまりサーバに直接ログインしない Web サイトの 担当者が、コンテンツのバックアップを取るために、 シェルからコマンドを打つことになりました # tar
△ cvzf △ html.tar.gz △ *.html 20 どこが危険工程で、 何が起こりうるのか?
ケーススタディ 3:オペミスシナリオ例 # tar △ cvzf △ *.html 21 html.tar.gz
を指定し忘れると 何が起こるでしょう?
ケーススタディ 3:オペミスシナリオ例 # tar △ cvzf △ *.html 22 html.tar.gz
を指定し忘れると、”*.html” に マッチする最初の HTML ファイルがアーカイ ブファイルと見なされて、破壊されてしまう あなたならどうする/他に何が起こり得たか
ケーススタディ 3:対策例(諸説あります) • Enter 押す前に確認する • 作業用ディレクトリにコピーしてから固める • 別の慣れた人にやってもらった方がよかったかも? •
慣れない人がやるなら手順書化した方がよかったかも? 23
ケーススタディ 4:危険予知 • hostname コマンドでホストの FQDN を確認 24
ケーススタディ 4:オペミスシナリオ例 • hostname コマンドでホストの FQDN を確認 ➢hostname △ –f
の “-” が抜けて、ホスト名が “f” に設 定されてしまう 25
ケーススタディ 4:対策例 • hostname コマンドでホストの FQDN を確認 ➢hostname △ –f
の “-” が抜けて、ホスト名が “f” に設 定されてしまう ✓uname △ –n 等で代替する 26
ケーススタディ 5:危険予知 • kill △ -9 でプロセスを kill 27
ケーススタディ 5:オペミスシナリオ例 • kill △ -9 でプロセスを kill ➢“-” が抜けて、PID
9 のプロセスを kill 28
ケーススタディ 5:対策例 • kill △ -9 でプロセスを kill ➢“-” が抜けて、PID
9 のプロセスを kill ✓kill △ -KILL あるいは pkill 等で代替する 29
ケーススタディ 6:危険予知 • tar △ xvzf △ html.tar.gz 30
ケーススタディ 6:オペミスシナリオ例 • tar △ xvzf △ html.tar.gz ➢サイズを確認せずに展開して filesystem
full ◆これをオペミスと呼ぶかどうかは定義次第かも知れま せんが、避けなければならない状況には違いないで しょう 31
ケーススタディ:考察 • 今回はサーバ系のしかもコマンドミスばかり題材にし ましたが、他にも危険工程は(きっと)あります • 例えば、データセンタでのサーバ機器の設置/配線の ような物理的工事であれば、通信断やサービス断に繋 がるような危険もありうるでしょう • ある意味、経験者の持つ「あるある」に由来する危険
予知能力を未経験者に水平展開する営み(属人化防止) とも言えるでしょう 32
まとめ • KYT を通じて、いわゆる「危険工程」に対する「嗅覚」 を磨くことで、オペミスやトラブルを少しでも未然に防 げるようになれる(といいな) • 実際に失敗したり、ヒヤリハットを起こすことで個人の 経験値は増すとしても、暗黙知⇒形式知⇒共有知にしな いと、運用チームとしてはモッタイナイ
• KYT を通じて立案した対策は、手順書/自動化品質の向 上にも役立つ可能性がある • 手順書/ドキュメント重要 33
ありがとうございました 34