Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Webサービスの品質とは何か?アラート地獄と監視の失敗、サービスレベル目標設計 から学んだ3つの答え
Search
takuya542
September 07, 2018
Technology
8.2k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Webサービスの品質とは何か?アラート地獄と監視の失敗、サービスレベル目標設計 から学んだ3つの答え
Webサービスの品質とは何か?アラート地獄と監視の失敗、サービスレベル目標設計 から学んだ3つの答え
takuya542
September 07, 2018
More Decks by takuya542
See All by takuya542
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
3
25k
爆速成長を続けるタイミーを支える システム基板とAWSの関係
takuya542
0
480
タイミーを支えるプラットフォームエンジニアリング・成果指標設計から考える組織作り事例の紹介
takuya542
1
5.4k
Security / AuditabilityをSREチームの成果指標に加えた話
takuya542
0
2.2k
セキュリティパッチを支える サーバ家畜化技術の紹介
takuya542
1
1.7k
継続的な脆弱性検知とパッチマネジメント手法の紹介
takuya542
0
3.2k
継続的な脆弱性検知とパッチマネジメント手法の紹介
takuya542
0
910
技術エントロピー増大との戦い。エウレカSREチームの事例
takuya542
0
250
投稿監視マイクロサービスの継続的なデプロイと構成変更の実現手段の紹介
takuya542
0
700
Other Decks in Technology
See All in Technology
2026-09-18 gotanda.sre Terraformで複数環境作ったり、複数Stateに分割したりそれとTerragrunt / Terraform multi envs and multi states
masasuzu
4
740
今話題のAI「Jev」って何? 宇宙最速で学ぶ会
minorun365
PRO
34
22k
AI Agent入門〜今更聞けないAgentの話〜
hiromimaganuma
0
120
Kiro Meetup #8 Kiro アップデート (2026/3/21〜2026/9/24)
katzueno
1
230
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
140
ADKで始める業務改善 - AIエージェント開発時の考えと設計
harappa80
2
290
あけおめLINE 傾向とその対策
nasa9084
0
330
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
sanghyuk
0
150
What the customer really needed
kawaguti
PRO
3
230
Hermes Agentで、AIが調べて記事を書くブログを作った話
blueb
0
110
PQC移行の今 -- IETF からみた現在地
satokan
3
300
地方移住と都心キャリアの両立は「金・時間・人」のリソースをフル活用すれば実現できる!〜Snowflake女子会 vol.8
snowwmn0824
0
120
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
14
39k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Into the Great Unknown - MozCon
thekraken
41
2.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
300
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Designing Powerful Visuals for Engaging Learning
tmiket
1
580
Are puppies a ranking factor?
jonoalderson
2
3.9k
ラッコキーワード サービス紹介資料
rakko
1
5M
Producing Creativity
orderedlist
PRO
348
41k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Transcript
Copyright © 2009-2018 eureka, inc. All rights reserved. Takuya Onda
/ eureka, Inc. 2018-09-07 Builderscon Tokyo WebαʔϏεͷ࣭ͱԿ͔ʁ ΞϥʔτࠈͱࢹͷࣦഊɺαʔϏεϨϕϧඪઃܭ ͔ΒֶΜͩ3ͭͷ͑
Introduction ▪ Takuya Onda – eureka, Inc. – SRE team
Head
None
About Us - IAC/Match Group
Agenda ▪ WebΞϓϦέʔγϣϯࢹʹ·ͭΘΔٕज़τϨϯυ ▪ ࢹͷతͱɺݱͷ՝ͱ ▪ ΤϨΧͰͷࣦഊ / ཱͯ͠ࣄྫͷհ ▪
ࢹͷஈ֊త৽ɾ࣮ྫհ
8FCΞϓϦέʔγϣϯࢹʹ ·ͭΘΔٕज़τϨϯυ
ύϒϦοΫΫϥυͷ಄ ▪ ΑΓૣ͘ɺڧྗͳϚγϯϦιʔεͷௐୡ͕༰қʹ ▪ αʔόΛ͍ࣺͯΔલఏͷΞʔΩςΫνϟ
ࢹπʔϧͷॆ࣮ ▪ SaaSܕαʔόʔࢹαʔϏε ▪ ΠϯςάϨʔγϣϯͷॆ࣮
DevOpsɾSRE ▪ ߴ͍։ൃੜ࢈ੑͱ҆ఆӡ༻ͷཁٻ ▪ Culture, Automation, Lean, Measurement, Sharing
γεςϜͷෳࡶԽ ▪ ϚΠΫϩαʔϏεɾSPAɾσόΠεͷଟ༷Խ ▪ ඇػೳཁ݅ͷࢹͷχʔζ
͜Μͳܦݧ͋Γ·ͤΜ͔ʁ
▪ ʮ4UBUVT͕૿͑ͯ·͢ʯ – ຖ͜ͷ࣌ؒͰͯΔΑͳɺɺ – ͑Β͍ਓʮ͜ͷΞϥʔτେৎͳͷʁʯ ▪ ʮ%#ͷίωΫγϣϯ͕YYYΛ͑·ͨ͠ʯ – ͑ɺͲ͏͢Ε͍͍ͷʁࠓϐʔΫλΠϜͩΑʁ
– εύΠΫʁϝϯςೖΕΔʁͱΓ͋͑ͣ؍ɺɺʁ ▪ ʮ999ͷΤϥʔ͕ൃੜ͠·ͨ͠ʯ – ੲ͔Β͍Δਓʮ͜Εແࢹͯ͠0,ʯ – ࠷ۙೖͬͨਓʮʜʂʁʂʁʯ Ξϥʔτ͋Δ͋Δ
Ξϥʔτ͋Δ͋Δ ▪ ຊʹҟৗͳͷ͔Θ͔Βͳ͍ ▪ Ξϥʔτ͕ߦಈʹ݁ͼ͔ͭͳ͍ ▪ ਖ਼͍͠ํʹ͔͍ͬͯΔ͔Θ͔Βͳ͍ (࣭ͱ?)
γεςϜΛࢹ͢Δతͱ ▪ Ϣʔβʔͷຬ͢ΔੑೳཁٻʹԠ͍͑ͨ ▪ ͦͷͨΊʹɺଈ࣌ʹγεςϜҟৗΛݕ͍ͨ͠ ▪ ҟৗʹଈ࠲ʹରԠ͠ɺҟৗൃੜظؒΛ࠷খԽ͍ͨ͠
γεςϜΛࢹ͢Δతͱ ▪ Ϣʔβʔͷຬ͢ΔੑೳཁٻʹԠ͍͑ͨ ▪ ͦͷͨΊʹɺଈ࣌ʹγεςϜҟৗΛݕ͍ͨ͠ ▪ ҟৗʹଈ࠲ʹରԠ͠ɺҟৗൃੜظؒΛ࠷খԽ͍ͨ͠ ϢʔβͷٻΊΔ࣭ʹԠ͑Δͷ͕Ձ ࢹతͷͨΊͷखஈ
ΞΫγσϯτฏৗͨΕ By SRE Workbook ▪ ࣦഊͷίετΛ͑ΔͨΊʹૣΊʹಈ͘ͷ͕େࣄ ▪ MTTRʢฏۉ෮چ࣌ؒ)͕͍΄Ͳ։ൃऀෛ୲খ͍͞ ▪ ൃݟޙʹͳΔ΄Ͳम෮͕͍͠
ΤϨΧͰͷࢹͷࣦഊྫ
ΤϨΧͰͷࢹͷࣦഊ ▪ Ξϥʔτ͕ߦಈʹ݁ͼ͔ͭͳ͍ ▪ ࠓରԠ͖͢ͳͷ͔அͰ͖ͳ͍
Ξϥʔτ͕ߦಈʹ݁ͼ͔ͭͳ͍ ▪ 1ɿͱΓ͋͑ͣಈ͍ͯΔ ▪ 2ɿৗʹҟৗ ▪ 3ɿԿͰ͖ͳ͍
Ξϥʔτ͕ߦಈʹ݁ͼ͔ͭͳ͍ ▪ 1ɿͱΓ͋͑ͣಈ͍ͯΔ ▪ 2ɿৗʹҟৗ ▪ 3ɿԿͰ͖ͳ͍ • ϐʔΫλΠϜʹϩʔΞϕ͕ۤ͘͠ͳΔDB •
DynamoͷΩϟύγςΟ͕ΓΘ͔ͣ • ຖ࣌CPU͕ுΓ͘ϝʔϧ৴αʔό
Ξϥʔτ͕ߦಈʹ݁ͼ͔ͭͳ͍ ▪ 1ɿͱΓ͋͑ͣಈ͍ͯΔ ▪ 2ɿৗʹҟৗ ▪ 3ɿԿͰ͖ͳ͍ • ຖ٧·ΔδϣϒΩϡʔ •
ৗʹྲྀΕͯΔΞϓϦέʔγϣϯΤϥʔϩά • σϓϩΠͷͨͼൃੜ͢ΔΤϥʔ
Ξϥʔτ͕ߦಈʹ݁ͼ͔ͭͳ͍ ▪ 1ɿͱΓ͋͑ͣಈ͍ͯΔ ▪ 2ɿৗʹҟৗ ▪ 3ɿԿͰ͖ͳ͍ • 5xxΤϥʔ૿͑ͯΔ͚ͲԿ͜Εʁ(༷ࢠݟ) •
ετϨʔδܥͷανϡϨʔγϣϯ • ߏ࠶ݱੑ͕ͳ͍SPOFͳαʔό
ࠓରԠ͖͔͢அͰ͖ͳ͍ ▪ ݁ہ͜ΕϢʔβӨڹ͋Μͷʁ ▪ ͲΕ͘Β͍Өڹ͋Μͷʁ ▪ ͦͦఆྔԽͰ͖Μͷʁ ▪ ͜Ε߃ٱରԠ͠ͳ͍ͱϚζΠͷʁ ▪
ࣄۀࢪࡦΑΓ༏ઌ͢Μͷʁ
ࣾͷงғؾʹӨڹ ΞϥʔτݟΖͬͯݴ͏͚Ͳҙຯͳ͘Ͷʁ ͏ͪͷγεςϜɺຊʹେৎͳͷʁʁ Ͳ͏ͤΈΜͳؾʹͯ͠ͳ͍͍͍͠ ࠶ൃࢭɺ͍ͭԿมΘΒͳ͍͡ΌΜ
Ͳ͏ཱ͔͔ͬͯͪͬͨ
ํ ▪ 1ɿఆྔඪΛઃఆ͢Δ ▪ 2ɿΞϥʔτ = ଈ࠲ΞΫγϣϯͱ͢Δ ▪ 3ɿશମΛγϯϓϧʹཧ͢Δ ▪
4ɿࢹ͕ϥΫͳΞʔΩςΫνϟʹ͢Δ ▪ 5ɿҟৗݕͱύϑΥʔϚϯεඪΛ۠ผ͢Δ
1ɿఆྔඪΛઃఆ͢Δ ▪ αʔϏεϨϕϧࢦඪ (SLI) Λఆٛ ▪ αʔϏεϨϕϧඪ (SLO)Λઃఆ ▪ SLOΛΞϥʔτᮢͱλεΫ༏ઌͷج४ʹ
1ɿఆྔඪΛઃఆ͢Δ ▪ αʔϏεϨϕϧࢦඪ (SLI) Λఆٛ ▪ αʔϏεϨϕϧඪ (SLO)Λઃఆ ▪ SLOΛΞϥʔτᮢͱλεΫ༏ઌͷج४ʹ
• SLI = ޭϦΫΤετ / ૯ϦΫΤετ • SLO = SLI > 99.95 (ظؒɿ1िؒ)
2ɿΞϥʔτ = ଈ࠲ΞΫγϣϯͱ͢Δ ▪ ຊʹΞΫγϣϯ͕ඞཁͳͷ͚ͩΞϥʔτ໐Β͢ ▪ ଈ࠲ʹରԠ͕ՄೳͳΞʔΩςΫνϟʹม͍͑ͯ͘ • SLOະୡͷཁҼͱͳΔͷ •
ରԠʹ͔͔࣌ؒΔܥ (ετϨʔδܥͱ͔)
2ɿΞϥʔτ = ଈ࠲ʹΞΫγϣϯ͕ඞཁͳࣄͱ͢Δ ▪ ຊʹΞΫγϣϯ͕ඞཁͳͷ͚ͩΞϥʔτ໐Β͢ ▪ ଈ࠲ʹରԠ͕ՄೳͳΞʔΩςΫνϟʹม͍͑ͯ͘ • ଈ࠲ʹαʔόϦιʔεΛ૿ڧ /
ަͰ͖Δ • LB / API / Batch / DB / Cache / etc,,
3ɿશମΛγϯϓϧʹཧ͢Δ ▪ πʔϧͷ౷Ұ ▪ ࣭ͷఆٛᮢΛҰݩԽ • ࢹʹར༻͢ΔπʔϧΛ͠΅Δ • ࢹઃఆΛίʔυԽ͢Δ
3ɿશମΛγϯϓϧʹཧ͢Δ ▪ πʔϧͷ౷Ұ ▪ ࣭ͷఆٛᮢΛҰݩԽ • SLI / SLOΛ౷Ұ •
Threshold / Rate / Change / Anomaly
4ɿࢹ͕ϥΫͳΞʔΩςΫνϟʹ͢Δ ▪ αʔόͷަ͕Χϯλϯ ▪ ࣗલओٛΛΊΔ ▪ ࣄۀͱӡ༻(ࢹίετ)Λൺྫͤ͞ͳ͍
4-1ɿࢹ͕ϥΫ ~ αʔόަ͕Χϯλϯ ▪ ҟৗͷ͋Δαʔό͙ࣺͯ͢Δ – ίʔυ͔ΒϏϧυ͞ΕͨΠϝʔδ͕͙͢ೖՄೳͳঢ়ଶ Scheduling Rotate API
Worker
4-2ɿࢹ͕ϥΫ ~ ࣗલओٛΛΊΔ ▪ ڊਓ(AWS)ͷݞʹΔɻࢹରΛݮΒ͢ – εέʔϧΞτ/ Ξοϓ͕ϥΫ & ϑΣΠϧΦʔόཧෆཁ
S3 Aurora Dynamo ElastiCache SQS
4-3ɿࢹ͕ϥΫ ~ ࣄۀͱࢹίετΛൺྫͤ͞ͳ͍ ▪ ಉ͡ϓϩϏδϣχϯάϓϩηεͱٕज़ελοΫ – ٕज़ߏͷΏΒ͗Λ࡞Βͳ͍ Pairs JP Pairs
GL Capacity = LL Capacity = M
5ɿҟৗݕͱύϑΥʔϚϯεඪΛ۠ผ͢Δ ▪ ҟৗݕͱඪୡͷ؍ଌDurationΛ͚Δ ▪ αʔϏεΛ͑ͳ͍ͱ͍ͮΒ͍Λ۠ผ͢Δ • ҟৗɿΞϥʔτʹΑΔݕ(within 1min) • ඪɿఆظతͳݕࠪ(within
1week)
5ɿҟৗݕͱύϑΥʔϚϯεඪΛ۠ผ͢Δ ▪ ҟৗݕͱඪୡͷ؍ଌDurationΛ͚Δ ▪ αʔϏεΛ͑ͳ͍ͱ͍ͮΒ͍Λ۠ผ͢Δ • ͑ͳ͍ɿϩάΠϯ/ ݕࡧͰ͖ͳ͍ͳͲ • ͍ͮΒ͍ɿαʔϏεମײ͕͍
/ ॏ͍
ํ(࠶ܝ) ▪ 1ɿఆྔඪΛઃఆ͢Δ ▪ 2ɿΞϥʔτ = ଈ࠲ΞΫγϣϯͱ͢Δ ▪ 3ɿશମΛγϯϓϧʹཧ͢Δ ▪
4ɿࢹ͕ϥΫͳΞʔΩςΫνϟʹ͢Δ ▪ 5ɿҟৗݕͱύϑΥʔϚϯεඪΛ۠ผ͢Δ
ࢹͱΞʔΩςΫνϟΛ৽͠·ͨ͠
ࢹΛ৽
ࢹɾରԠΛஈ֊తʹਐԽ ▪ ҟৗΛΕΔ(ݟΕΔ) ▪ ҟৗΛݕͰ͖Δ ▪ ҟৗʹରԠͰ͖Δ ▪ ҟৗ͕ࣗಈͰम෮͢Δ
ҟৗΛΕΔ(ݟΕΔ) ▪ Datadog ▪ StackDriver Loggin
Metrics Aggregate AWS Integration DatadogʹΑΔϗετϕʔεࢹ &Integration
StackDriver LoggingʹΑΔϩάՄࢹԽͱϨϙʔτੜ Metrics / Log Monitoring Alert Slack call you
Log Aggregation Sync to DWH Generate Performance Report Hosting Report Dev & SRE
StackDriver LoggingʹΑΔϩάՄࢹԽͱϨϙʔτੜ Metrics / Log Monitoring Alert Slack call you
Log Aggregation Sync to DWH Generate Performance Report Hosting Report Dev & SRE • Ξϥʔτ & ଈ࣌ରԠ • Windowɿ1
StackDriver LoggingʹΑΔϩάՄࢹԽͱϨϙʔτੜ Metrics / Log Monitoring Alert Slack call you
Log Aggregation Sync to DWH Generate Performance Report Hosting Report Dev & SRE • ύϑΥʔϚϯεৼฦ • Windowɿ1िؒ
StackDriver LoggingʹΑΔϩάՄࢹԽͱϨϙʔτੜ Metrics / Log Monitoring Alert Slack call you
Log Aggregation Sync to DWH Generate Performance Report Hosting Report Dev & SRE • ύϑΥʔϚϯεৼฦ • Windowɿ1िؒ Ϩϙʔτൈਮ(Ұ෦)ɾϨΠςϯγώετάϥϜ
StackDriver LoggingʹΑΔϩάՄࢹԽͱϨϙʔτੜ Metrics / Log Monitoring Alert Slack call you
Log Aggregation Sync to DWH Generate Performance Report Hosting Report Dev & SRE • ύϑΥʔϚϯεৼฦ • Windowɿ1िؒ Ϩϙʔτൈਮ(Ұ෦)ɾRest EndpointผϦΫΤετϘϦϡʔϜਪҠ
ҟৗΛݕͰ͖Δ ▪ ֎ܗࢹ (αʔϏεࢹ)ʹΑΔΞϥʔτ ▪ ϦιʔεࢹʹΑΔΞϥʔτ ▪ ύϑΥʔϚϯεʹΑΔΞϥʔτ ▪ ϩάࢹʹΑΔΞϥʔτ
ҟৗΛݕͰ͖Δ ▪ ֎ܗࢹ (αʔϏεࢹ)ʹΑΔΞϥʔτ ▪ ϦιʔεࢹʹΑΔΞϥʔτ ▪ ύϑΥʔϚϯεʹΑΔΞϥʔτ ▪ ϩάࢹʹΑΔΞϥʔτ
• ଈରԠඞཁ • SSLηοτͰ(͔͔࣌ؒΔ)
ҟৗΛݕͰ͖Δ ▪ ֎ܗࢹ (αʔϏεࢹ)ʹΑΔΞϥʔτ ▪ ϦιʔεࢹʹΑΔΞϥʔτ ▪ ύϑΥʔϚϯεʹΑΔΞϥʔτ ▪ ϩάࢹʹΑΔΞϥʔτ
• εςʔτϨεϨΠϠݟͳ͍(ࣺͯΔ) • ετϨʔδܥݟΔ(ରԠʹ͔͔࣌ؒΔ)
ҟৗΛݕͰ͖Δ ▪ ֎ܗࢹ (αʔϏεࢹ)ʹΑΔΞϥʔτ ▪ ϦιʔεࢹʹΑΔΞϥʔτ ▪ ύϑΥʔϚϯεʹΑΔΞϥʔτ ▪ ϩάࢹʹΑΔΞϥʔτ
• Latencyલिൺ or લ࣌ؒൺͰͷมԽ • RequestࣦഊSLO x Status CodeͰݟΔ
ҟৗΛݕͰ͖Δ ▪ ֎ܗࢹ (αʔϏεࢹ)ʹΑΔΞϥʔτ ▪ ϦιʔεࢹʹΑΔΞϥʔτ ▪ ύϑΥʔϚϯεʹΑΔΞϥʔτ ▪ ϩάࢹʹΑΔΞϥʔτ
• લिൺ or લ࣌ؒൺͰͷมԽ • ৗ࣌ྲྀΕΔܥͳΒAnomaly detection͕٢
ҟৗʹରԠͰ͖Δ ▪ Ϧιʔεͷ૿ڧɺަɺϩʔϧόοΫΛ༰қʹ ▪ োൃੜ࣌ͷௐࠪίετΛԼ͛Δ
Ϧιʔεͷ૿ڧɺަɺϩʔϧόοΫΛ༰қʹ͢Δ Scale Out / Discard Scale Up Add Shard Scale
Out Scale Up Vertical Split
Ϧιʔεͷ૿ڧɺަɺϩʔϧόοΫΛ༰қʹ͢Δ Scale Out / Discard Scale Up Add Shard Scale
Out Scale Up Vertical Split • ؆୯ & ϦʔυλΠϜແ͘Ϧιʔε૿ͤΔ • ҟৗܥΛ؆୯ʹΓͤΔΑ͏ʹ • ετϨʔδܥ͕ΩϞ.ࣄલʹ༧ߦ࿅शΛ
ҟৗ͕ࣗಈͰम෮͢Δ ▪ ΦʔτώʔϦϯά ▪ ࠞಱ(ΧΦε)ͷೖ
ҟৗ͕ࣗಈͰम෮͢Δ ▪ ΦʔτώʔϦϯά ▪ ࠞಱ(ΧΦε)ͷೖ • ҟৗϗετͷΓ͠ϑΣΠϧΦʔό • ετϨʔδܥ͕ΩϞ •
ఆظతͳආ܇࿅
ҟৗ͕ࣗಈͰम෮͢Δ ▪ ΦʔτώʔϦϯά ▪ ࠞಱ(ΧΦε)ͷೖ • ҙਤతͳোͷೖ • ΦʔτώʔϦϯάͷڧ੍ࢼݧ &
ৗԽ • ઓ͍͜Ε͔Βͩͥɺɺʂ
·ͱΊ
ࠓͷͳ͠ ▪ WebΞϓϦέʔγϣϯࢹʹ·ͭΘΔٕज़τϨϯυ ▪ ࢹͷతͱɺݱͷ՝ͱ ▪ ΤϨΧͰͷࣦഊ / ཱͯ͠ࣄྫͷհ ▪
ϞχλϦϯάͷஈ֊తਐԽɾ࣮ྫհ
·ͱΊ ▪ ࢹͷతMTTRΛ࠷খԽ࣭͠ཁٻΛຬͨ͢ࣄ ▪ ΞϥʔτରԠͰ͖ͳ͚Εҙຯ͕ͳ͍ ▪ αʔϏε࣭ͷඪΛఆΊΔ͠ ▪ ࢹϨεͳΞʔΩςΫνϟΛࢦ͢͠ ▪
Ξϥʔτ + ఆظతͳ࣭νΣοΫΛDev / OpsͰ
·ͱΊ ▪ γεςϜʑ & ෳࡶԽ͍ͯ͘͠ ▪ Γ͍ͨ͜ͱͨ͘͞Μ͋Δʂ ▪ ΤϨΧSREνʔϜͷϝϯόʔΛืूதͰ͢ʂ
CONFIDENTIAL Thank you :) Thank you :)
Any Questions??