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
400
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
130
Other Decks in Technology
See All in Technology
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
3
1.1k
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
2
220
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
350
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
270
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
17
45k
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
3
6k
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
180
Snowflakeの開発・運用コストをApache Icebergで効率化しよう!~機能と活用例のご紹介~
sagara
1
440
AWS Well-Architected Frameworkで学ぶAmazon ECSのセキュリティ対策
umekou
2
140
急成長する企業で作った、エンジニアが輝ける制度/ 20250227 Rinto Ikenoue
shift_evolve
0
130
スキルだけでは満たせない、 “組織全体に”なじむオンボーディング/Onboarding that fits “throughout the organization” and cannot be satisfied by skills alone
bitkey
0
170
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
150
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Bash Introduction
62gerente
611
210k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Unsuck your backbone
ammeep
669
57k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
The Language of Interfaces
destraynor
156
24k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
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