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
組織的なインシデント対応を目指して〜成熟度評価と改善のステップ〜 / Towards an O...
Search
Narimichi Takamura
August 03, 2024
Technology
7
7.3k
組織的なインシデント対応を目指して〜成熟度評価と改善のステップ〜 / Towards an Organized Incident Response - Maturity Assessment and Improvement Steps -
SRE NEXT 2024の登壇資料です。
https://sre-next.dev/2024/schedule/#jp110
Narimichi Takamura
August 03, 2024
Tweet
Share
More Decks by Narimichi Takamura
See All by Narimichi Takamura
インシデントキーメトリクスによるインシデント対応の改善 / Improving Incident Response using Incident Key Metrics
nari_ex
0
6k
Waroomの開発モチベーションと今後のロードマップ / Waroom development motivation and roadmap
nari_ex
1
1.3k
Engineering with Business Impact
nari_ex
2
280
How We Foster Reliability in Diversity
nari_ex
14
13k
SRE Practices in Organizations
nari_ex
16
9k
Hardening におけるトラブルシューティング / Troubleshooting in Hardening
nari_ex
1
310
私が Engineering Manager になるまでに経験してきたこと、大切にしてきたこと / Lecture materials for Introduction to Venture Business at UEC
nari_ex
0
210
運用技術者組織の設計と運用 / Design and operation of operational engineer organization
nari_ex
11
9.4k
エンジニアリング組織の基礎知識 / Basic knowledge of engineering organization
nari_ex
10
4.5k
Other Decks in Technology
See All in Technology
Raycast Favorites × Script Command で実現するお手軽情報チェック
smasato
1
130
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
5
360
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
2
180
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
180
分解して理解する Aspire
nenonaninu
2
770
Potential EM 制度を始めた理由、そして2年後にやめた理由 - EMConf JP 2025
hoyo
2
1.8k
Windows の新しい管理者保護モード
murachiakira
0
200
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
200
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
530
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
5
180
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
360
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
18k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Music & Morning Musume
bryan
46
6.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Fireside Chat
paigeccino
34
3.2k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
How STYLIGHT went responsive
nonsquared
98
5.4k
Code Review Best Practice
trishagee
67
18k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Transcript
None
2
גࣜձࣾTopotalʢͱΆͨΔʣ • h#ps:/ /topotal.com • SREΛओ࣠ʹϏδωεΛల։͢Δελ ʔτΞοϓ • 2ࣄۀΛӡӦ •
SRE as a Service • SaaS for SREʢWaroomʣ 3
SRE as a Service • SREʹಛԽٕͨ͠ज़ࢧԉαʔϏε • ࢧԉͷྫ • SLI/SLOͷಋೖɾӡ༻վળ
• CI/CDͷߏஙɾվળ • ΠϯγσϯτϚωδϝϯτͷվળ 4
WaroomʢϫϧʔϜʣ • h#ps:/ /waroom.com • ৫తʹΠϯγσϯτରԠΛߦ͏ͨΊ ͷSaaS • Slack AppϕʔεͰ࡞ΒΕ͓ͯΓɺීஈ
௨ΓରԠ͢Δ͚ͩͰࣗಈԽɾলྗԽ͕ Ͱ͖Δ 5
6
ΠϯγσϯτϨεϙϯεͷվળʹऔΓΉ͜ͱ͕ଟ͍ • ۩ମతʹɺҎԼͷ2ͭͷۀΛ௨ͯؔ͠ΘΓ͕͋Δ • SREaaS SRE: ސ٬ͷΠϯγσϯτϨεϙϯεڥΛվળ͢Δ • Waroom PdM:
ΠϯγσϯτϨεϙϯεSaaSͷػೳΛߟ͑Δ • ͍ͣΕͷ߹ଐਓԽΛղফ͠ɺ৫తʹରԠͰ͖Δମ੍ͮ͘ Γ͕ٻΊΒΕΔ 7
ຊߨԋͷϞνϕʔγϣϯͱ֓ཁ • ৫తͳΠϯγσϯτରԠͷ࣮ʹؔ৺͕͋Δ • ΠϯγσϯτϨεϙϯεΛվળ͢ΔࡍʹཱͭಓඪͷΑ͏ͳͷ Λͭ͘Γ͍ͨ • ͞·͟·ͳاۀͷվળ͕গ͠ͰḿΔ͖͔͚ͬʹͳΕخ͍͠ • →
ख़ϞσϧΛϕʔεʹاۀͷΠϯγσϯτϨεϙϯεڥΛ ධՁ͠ɺஈ֊తʹվળ͢Δख๏Λ͓͠·͢ 8
ΞδΣϯμ 1. ΠϯγσϯτϚωδϝϯτͷվળͷ 2. ΠϯγσϯτରԠख़Ϟσϧͱվળͷεςοϓ 3. ϑΣʔζϚΠάϨʔγϣϯͷϙΠϯτ 9
ΠϯγσϯτϨεϙϯεͷվળ͕ Ή͔͍ͣ͠ 10
՝1: اۀ͝ͱʹղܾࡦ͕ҟͳΔͨΊɺෆ࣮֬ੑ͕ߴ ͍ • اۀ͝ͱʹڥ͕ΘΓͱେ͖͘ҟͳΔ • ex. πʔϧɺϑϩʔɺϙϦγʔ...... • ͞·͟·ͳاۀSREࢧԉΛ͢ΔͨΊɺޮԽ͍͕ͨ͠௫Έॴ͕ͳ͍
• ex. AࣾͰ͏·͍ͬͨ͘ϓϥΫςΟε͕ɺBࣾͰ͏·͍͘͘ͱݶΒͳ͍ • ݁Ռͱͯ͠ɺํײͳ͘ঢ়گΛஅ͠ͳ͕Βվળ͢Δ͜ͱʹ → اۀͷঢ়گͱղܾࡦͷύλʔϯ͕େͰ͋ΓɺΞυϗοΫͳରԠʹͳͬͯ͠·͏ 11
՝2: ϕετϓϥΫςΟεͷಋೖ͕͏·͍͔͘ͳ͍έʔε͕͋Δ • ސ٬ͷ՝ײ • ϫʔΫϑϩʔ͕ఆ·͍ͬͯͳ͍ͷͰɺඋΛͯ͠৫తʹରԠ͍ͨ͠ • վળࡦ • ϕετϓϥΫςΟεʹج͍ͮͨϫʔΫϑϩʔͷಋೖ
• ex. ίϚϯμʔϩʔϧͷಋೖɺSEVͷఆٛͳͲ • ݁Ռ • ϫʔΫϑϩʔ͕ཧղ͞Εͣɺఆண͢Δ·ͰʹఆΑΓଟ͘ͷ͕͔͔࣌ؒͬͨ 12
ϕετϓϥΫςΟεͷྫ1 • ΠϯγσϯτίϚϯμʔ(IC) ɺ্ڃ ཧ৬ͷϝϯόʔͰ͋Δඞཁͳ͘ɺత ͱํੑΛ࣋ͬͯΠϯγσϯτରԠΛਐ ΊΒΕΕ୭ͰΑ͍ • ׂ୲Λ͢Δ͜ͱͰɺ৫త͔ͭޮ తʹରԠ͕Ͱ͖Δ
→ ͞·͟·ͳલఏ͕ͬͯ͡ΊͯޮՌ Λൃش͢ΔɻاۀʹΑͬͯ୯ͳΔΦʔό ʔϔουʹͳΔՄೳੑ͋Δ 1 Incident Management for Opera3ons 13
՝3: ʮ৫తͳରԠʯͷظ͕اۀʹΑͬͯҟͳΔ • ʮ৫తͳΠϯγσϯτରԠʯͱҰݴͰ͍ͬͯɺاۀ͝ͱʹ ཧঢ়ଶ͕ҟͳΔ • ΑΓख़ͨ͠৫Ͱɺ୯ʹෳਓ͕࿈ಈͯ͠ରԠ͢Δ͜ͱͰ ͳ͘ɺਓγεςϜ͕ΑΓޮతʹ࿈ಈ͠ͳ͕ΒରԠͰ͖Δ ମ੍ΛٻΊΔ͕͋Δ •
→ ख़ͨ͠৫Ͱ͋ͬͯཁٻʹݟ߹ͬͨվળΛ͍͖͍ͯͨ͠ 14
3ͭͷʹ͖߹͏ • 1: اۀͷঢ়گͱղܾࡦͷύλʔϯ͕େͰ͋ΓɺΞυϗο ΫͳରԠʹͳͬͯ͠·͏ • 2: पғΛר͖ࠐΉγʔϯͰɺվળ͕ࢥ͏Α͏ʹਐ·ͳ͍͜ ͱ͕͋Δ •
3: ʮ৫తͳରԠʯͷظ͕اۀʹΑͬͯҟͳΔ 15
3ͭͷʹ͖߹͏ • 1: اۀͷঢ়گͱղܾࡦͷύλʔϯ͕େͰ͋ΓɺΞυϗοΫͳରԠʹͳͬͯ͠·͏ • → ؇͔ʹྨ্ͨ͠ͰɺதظతͳվળͷํੑΛࣔͤΔΑ͏ʹͳΓ͍ͨ • ex. ʮࣗͨͪࠓʓʓͱ͍͏ঢ়گͳͷͰɺ□□ͷঢ়ଶΛࢦͯ͠ɺ△△✗✗ʹऔΓΈ·͠ΐ͏ʂʯ
• 2: पғΛר͖ࠐΉγʔϯͰɺվળ͕ࢥ͏Α͏ʹਐ·ͳ͍͜ͱ͕͋Δ • → ৫Λר͖ࠐΈ͘͢͢ΔͨΊʹɺஈ֊తͳվળͷεςοϓΛͭ͘Γ͍ͨ • 3: ʮ৫తͳରԠʯͷظ͕اۀʹΑͬͯҟͳΔ • → ख़ͨ͠اۀ͕ࢦ͢ཧঢ়ଶؚΊͯݴޠԽ͢Δ ্هͷ՝Λղܾ͢ΔͨΊʹɺख़ϞσϧͷߏஙΛ͢Δ͜ͱʹ 16
ख़Ϟσϧͷߏங 17
ख़Ϟσϧͱ2 ৫͕ϓϩηεΛఆΊચ࿅͢ΔͨΊͷख ஈɻҎԼΛఏڙ͢Δɻ • Կ͔Βணख͖͔͢ • ڞ௨ͷݴޠͱɺϏδϣϯͷڞ༗ • ࣮ߦͷ༏ઌॱҐ͚ͮͷΈ •
ࣗͨͪͷ৫ʹͱͬͯվળ͕ҙຯ͢ Δ͜ͱΛ໌֬ʹ͢Δํ๏ 2 ΟΩϖσΟΞ: ೳྗख़Ϟσϧ౷߹ 18
SREͷίϯςΩετΛख़ϞσϧʹऔΓࠐΉ • ΠϯγσϯτϨεϙϯεɺϞχλϦϯάσϓϩΠͳͲͷप ลྖҬͷӨڹΛड͚͍͢ • ৫ʹ͓͚ΔSREͷঢ়گΛͱʹஈ֊తʹఆ͍ٛͨ͠ • → ৴པੑͷϚΠϯυηοτͷਫ४Λ༻͍ͯख़ϨϕϧΛఆٛ ͢Δ
19
ิ: ৴པੑͷϚΠϯυηοτ 3 • ৫ͷ৴པੑΛ5ͭͷجຊతஈ֊ʹ͚ͨͷ • Absent: ৫ʹͱͬͯ৴པੑೋ࣍తͳߟྀࣄ߲ • Reac.ve:
৴པੑͷ / ϦεΫͷରԠ͕࠷ۙͷαʔϏεఀࢭʹ݁ͼ͚ ΒΕɺࢄൃతͳϑΥϩʔ͕ߦΘΕΔɻγεςϜͷͷमਖ਼ʹظతͳ ࢿ͕ߦΘΕΔ͜ͱ΄ͱΜͲͳ͍ɻ • Proac.ve: ఆظతͳ৫ϓϩηεΛ௨ͯ͡જࡏతͳ৴པੑϦεΫ͕ಛఆ͞ Εରॲ͞ΕΔ • Strategic: ͜ͷϨϕϧʹ͋Δ৫ɺΞʔΩςΫνϟɺϓϩμΫτɺϓϩη εΛମܥతʹมߋ͢Δ͜ͱͰϦεΫͷΫϥεΛཧ͢Δ • Visionary: ৴པੑͷ࠷ߴҐʹ౸ୡ͓ͯ͠Γɺ৴པੑͷ෯͍औΓΈΛ ϕετϓϥΫςΟε͓Αͼܦݧʹج͍ͮͯࣾ֎ͰਪਐͰ͖Δʢͨͱ͑ ॻྨͷ࡞ࣝͷڞ༗ͳͲʣ 3 ৫ͷ৴པੑͷϚΠϯυηοτ:Google SRE ͷݟ 20
ิ: ৴པੑͷϚΠϯυηοτ ͱϓϩμΫτͷঢ়ଶ • Absent: ։ൃதͷϓϩμΫτʹͯ·ΔՄೳੑ͕͋ Δ • Reac-ve: ϦϦʔεલ·ͨ҆ఆతظҡ࣋ϑΣʔζ
ͷϓϩμΫτʹͯ·Δ • Proac-ve: ΄ͱΜͲͷϓϩμΫτ͕͜ͷϨϕϧʹ͋Δ ͖ • Strategic: ϏδωεΫϦςΟΧϧͳχʔζΛຬͨͨ͢ Ίʹߴ͍Մ༻ੑΛඞཁͱ͢ΔϓϩμΫτʹͯ·Δ • Visionary: ͜ͷϨϕϧʹ౸ୡ͍ͯ͠ΔϓϩμΫτ΄ ͱΜͲͳ͍ 21
ࢀߟ: ϓϩμΫτͷϑΣʔζͱٻΊΒΕΔ৴པੑͷมԽ 22
ख़Ϩϕϧͷఆٛ ҎԼͷ4ஈ֊ͷఆٛΛߦͬͨ(Visionary֘͢Δέʔε͕গͳ͍ͨΊׂѪ)ɻ • Absent • ΠϯγσϯτϨεϙϯεڥ͕΄΅ະඋͰ͋ΓɺଐਓతͳରԠ͕ৗଶԽ͍ͯ͠Δঢ়ଶ • Reac*ve • ॏେͳোͷରԠํఆ·͍ͬͯΔͷͷɺΠϯγσϯτϨεϙϯεͷڥվળ΄ͱΜͲߦΘΕ͍ͯͳ͍ঢ়ଶ
• Proac*ve • ৫શମͰରԠΛߦ͏ମ੍͕͓ͬͯΓɺPre-IncidentPost-IncidentͷϑΣʔζͷऔΓΈʹΑͬͯࣄલʹϦεΫΛݮ ͍ͯ͠Δঢ়ଶ • Strategic • ͦΕͧΕͷϓϩηε͕ମܥԽɾΈԽ͞Ε͓ͯΓɺϑΟʔυόοΫϧʔϓΛճ͠ͳ͕ΒΠϯγσϯτରԠͷෛ୲Λ࠷খԽ ͠ଓ͚͍ͯΔঢ়ଶ 23
ධՁࢦඪͷࡉԽ • ΠϯγσϯτϨεϙϯεͷϓϩηεଟذʹΘͨΔͨΊɺ֤Ϩϕϧͷఆٛͩ ͚Ͱ࣮༻ੑ͕͍͠ • → ΠϯγσϯτରԠલɺରԠதɺରԠޙͷ3ϑΣʔζ͝ͱʹɺͦΕͧΕ3ͭ ͷϓϩηεΛධՁ͢Δ • Pre-Incident
ϑΣʔζ: ݕɺରԠϑϩʔɺτϨʔχϯά • Response ϑΣʔζ: ݖݶҕৡɺΈԽɺίϥϘϨʔγϣϯ • Post-Incident ϑΣʔζ: ֶशɺੳɺࣄޙλεΫ 24
ΠϯγσϯτϨεϙϯεख़Ϟσϧ 25
26
27
ΠϯγσϯτϨεϙϯεվળͷεςοϓ 1. ख़ϞσϧΛͱʹɺ9ͭͷϓϩηεʹରͯ͠ϨϕϧΛఆ͢Δ 2. 1ΛͱʹɺAbsentʙStrategicͷͲͷ͋ͨΓʹ͕ࣗͨͪҐஔ͍ͯ͠Δ ͔Λ֬ೝ͢Δ 3. ؔऀͱͱʹɺΠϯγσϯτϨεϙϯεͷ͋Δ͖ঢ়ଶΛσΟεΧο γϣϯ͢Δ 4.
վળͷํੑ͕ఆ·ͬͨΒɺ֤ϓϩηε͝ͱʹ۩ମతͳվળͷΞΫγ ϣϯΛఆΊΔ 28
վળͷεςοϓͷ۩ମྫ 1. ख़ϞσϧΛͱʹ9ͭͷϓϩηεʹରͯ͠ධՁΛߦ͏ • ex. Training: AbsentɺDetec5on: Reac5ve...... 2. 1ΛͱʹɺAbsentʙStrategicͷͲͷ͋ͨΓʹ͕ࣗͨͪҐஔ͍ͯ͠Δ͔Λ֬ೝ͢Δ
• ex. 9ͭதେΛΊ͍ͯΔϨϕϧ͋Δ͔Λ֬ೝ͢Δ 3. ؔऀͱͱʹɺΠϯγσϯτϨεϙϯεͷ͋Δ͖ঢ়ଶΛσΟεΧογϣϯ͢Δ • ex. Pre-IncidentϑΣʔζ͕શମతʹ͍͚Ͳվળͨ͠΄͏͕Α͍ͩΖ͏͔ 4. վળͷํੑ͕ఆ·ͬͨΒɺ֤ϓϩηε͝ͱʹ۩ମతͳվળͷΞΫγϣϯΛఆΊΔ • ex. ఆܕλεΫͷࣗಈԽʹऔΓ͏ 29
֘ՕॴΛ৭͚͢Δͱશମײ͕͔ͭΈ͍͢ 30
ϑΣʔζϚΠάϨʔγϣϯͷϙΠϯτ 31
Absent → Reac,ve • վળ֓ཁ • ΫϦςΟΧϧͳোͷϑΥϩʔ͕ਝʹͰ͖ ΔΑ͏ʹͳΓɺ৴པੑ্͕͢Δ • ΩʔϙΠϯτ
• ॏେͳΠϯγσϯτͷΈʹείʔϓΛߜ্ͬͨ ͰɺPre-IncidentϑΣʔζͱPost-IncidentϑΣ ʔζͷ׆ಈΛ෦తʹ͡ΊΔ͜ͱʹྗ͢Δ • ҙ • ݕͷΈ͚ͩΛඋͯ͠ɺରԠϑϩʔ ͕ະఆٛͰࣦഊʹऴΘΔࣄ͕ଟ͍ 32
Reac%ve → Proac%ve • վળ༰ • ΠϯγσϯτϨεϙϯεࣗମͷվળ͕ߦΘΕɺτΠ ϧղফ࠶ൃࢭ͕ਐΉͨΊɺ৫શମͷΠϯγσ ϯτରԠෛՙ͕ܰݮ͞Ε͡ΊΔ •
ΩʔϙΠϯτ • ֤ϓϩηεͷମܥԽͱΈԽΛओ؟ʹ্͓͍ͯ ͰɺιϑτΣΞΤϯδχΞϦϯάΛϕʔεʹվળ ׆ಈΛߦ͏ • ҙ • ৫શମΛר͖ࠐΉࢪࡦ͕૿͑ΔͨΊɺ͖ʹج ͍ͮͯҰؾʹਐΊͨΓͤͣɺ֤ϓϥΫςΟε͝ͱ ʹஈ֊తʹਐΊΔͱΑ͍ 33
Proac&ve → Strategic • վળ༰ • গͳ͍ϦιʔεͰ࠷େݶͷՁ͕ಘΔͨΊʹɺ ͜Ε·Ͱߏஙͨ͠ΈΛ͞ΒʹϒϥογϡΞ οϓ͠ɺΠϯγσϯτͷෛ୲Λ࠷খԽ͢Δ •
ΩʔϙΠϯτ • σʔλυϦϒϯͳվળ͕ϕʔεʹͳΔͨΊɺଞ ͷΩʔϝτϦΫεͱ࿈ܞ͠ͳ͕ΒɺΠϯύΫτ ͷେ͖͍ࢪࡦʹྗ͢Δ • ҙ • ߴͳઐࣝΛඞཁͱ͢Δࢪࡦ͕ଟ͍ͨΊɺ վળ׆ಈࣗମ͕ଐਓԽ͠ͳ͍Α͏ʹҙ͢Δ 34
ख़ϞσϧΛΑΓޮՌతʹ׆༻͢ΔͨΊʹ • ࠓճͷϞσϧΛ͖ͨͨͱͯ͠ɺࣗ৫͚ʹվมͯ͠ར༻͢ Δ • ex. ߲ΛݮΒ͢/૿͢ɺҰஈ֊ͣͭϨϕϧΛͣΒ͢ • ۩ମతͳΞΫγϣϯϓϥϯ͕ఆͰ͖Δ߹ه͢Δ •
৫ͷϚΠϯυηοτΛϑΣʔζϚΠάϨʔγϣϯ͢ΔͨΊʹ ɺΠϯγσϯτϨεϙϯεҎ֎ͷྖҬͷվળॏཁ 35
ҙ: దͳशख़Ϩϕϧͷݕ౼ • ͯ͢ͷ৫͕ Strategic Λࢦ͢ඞཁͳ͍ • ৴པੑͷϚΠϯυηοτಉ༷ɺϓϩμΫτͷεςʔδ৫ͷ ΧϧνϟʔʹΑͬͯɺదͳϨϕϧҟͳΔ •
ex. ϦϦʔεલͷϓϩμΫτ => ৴པੑͷ༏ઌ͕ஶ͍͘͠ ͨΊ Absent Ͱͳ͠ 36
ख़ϞσϧʹΑͬͯಘΒΕͨͷ • ؇͔ʹྨ্ͨ͠ͰɺதظతͳվળͷํੑΛࣔͤΔΑ͏ʹͳΓ͍ͨ • → ख़ϨϕϧΛϕʔεʹඪΛఆΊΔ͜ͱͰɺํੑΛڞ༗͠ͳ͕Βվળ͕ਐΊ ΒΕΔΑ͏ʹͳͬͨ • ৫Λר͖ࠐΈ͘͢͢ΔͨΊʹɺஈ֊తͳվળͷεςοϓΛͭ͘Γ͍ͨ •
→ 9ͭͷϓϩηε͝ͱʹஈ֊తʹਐΊΔ͜ͱ͕Ͱ͖ΔΑ͏ʹͳͬͨ • ख़ͨ͠اۀ͕ࢦ͢ཧঢ়ଶؚΊͯݴޠԽ͢Δ • → StrategicͷఆٛʹΑͬͯɺ(ࠓ·ͰΑΓ)ΑΓൃలతͳվળఏҊͰ͖ͦ͏(ະݕূ) 37
·ͱΊ • ΠϯγσϯτϨεϙϯεͷख़ϞσϧΛఏҊ͠·ͨ͠ • ख़ϞσϧΛ׆༻͢Δ͜ͱͰɺϓϩηε୯ҐͰͷվળͪ ΖΜɺํੑΛࣔ͠ͳ͕Βվળ͢Δํ๏Λࣔ͠·ͨ͠ • ख़ϞσϧΛΑΓ࣮ફతʹ͢ΔͨΊʹɺΑΓৄࡉͳυΩϡϝ ϯτͷඞཁੑʹݴٴ͠·ͨ͠ 38
͋Γ͕ͱ͏͍͟͝·ͨ͠ 39