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
日本のママをコンテナで支える
Search
tatsushim
January 25, 2018
Technology
1
3.1k
日本のママをコンテナで支える
X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く未来~ の登壇資料
https://xtechjaws.doorkeeper.jp/events/67869
tatsushim
January 25, 2018
Tweet
Share
More Decks by tatsushim
See All by tatsushim
DockerとAmazon SageMakerで実現した機械学習システムのプロダクション移行
tatsushim
0
27k
コミュニティサービスにおける機械学習のためのアノテーション
tatsushim
0
2.2k
コネヒトが考える技術選択の仕方について
tatsushim
0
22k
コネヒトが考えるサービスづくりに必要な技術とその考え方について
tatsushim
2
3.2k
word2vecで女性向けQ&Aサイトを解析してみた
tatsushim
0
6.3k
独身男性のためのデータドリブン講座
tatsushim
0
6.9k
Other Decks in Technology
See All in Technology
“それなりに”安全なWebアプリケーションの作り方
xryuseix
0
360
AIと自動化がもたらす業務効率化の実例: 反社チェック等の調査・業務プロセス自動化
enpipi
0
420
Quarkusで作るInteractive Stream Application
joker1007
0
130
What's the recommended Flutter architecture
aakira
3
1.5k
ある編集者のこれまでとこれから —— 開発者コミュニティと歩んだ四半世紀
inao
4
2.5k
Post-AIコーディング時代のエンジニア生存戦略
shinoyu
0
280
自己的售票系統自己做!
eddie
0
440
[mercari GEARS 2025] Keynote
mercari
PRO
0
210
プログラミング言語を書く前に日本語を書く── AI 時代に求められる「言葉で考える」力/登壇資料(井田 献一朗)
hacobu
PRO
0
160
AIと共に開発する時代の組織、プロセス設計 freeeでの実践から見えてきたこと
freee
3
670
マイクロリブート ~ACEマインドセットで実現するアジャイル~
sony
1
340
エンタープライズ企業における開発効率化のためのコンテキスト設計とその活用
sergicalsix
1
390
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
Context Engineering - Making Every Token Count
addyosmani
9
380
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Six Lessons from altMBA
skipperchong
29
4.1k
GraphQLとの向き合い方2022年版
quramy
49
14k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Making Projects Easy
brettharned
120
6.4k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Balancing Empowerment & Direction
lara
5
740
Statistics for Hackers
jakevdp
799
220k
Transcript
$POOFIJUP*OD$50!UBUTVTIJN ϚϚͷҰาΛࢧ͑Δ ຊͷϚϚΛίϯςφͰࢧ͑Δ
ࣗݾհ
w ίωώτגࣜձࣾ w ڞಉۀऀऔక$50 w ઐػցֶश w 4BOTBOגࣜձࣾʹ໊ͯΞϓϦ ʮ&JHIUʯͷ্ཱͪ͛
w ,%%*άϧʔϓʹ.ˍ"͞ΕάϧʔϓೖΓ ౡాୡ࿕ !UBUTVTIJN
None
ਓͷੜ׆ʹͳͯ͘ͳΒͳ͍ͷΛͭ͘Δ
ΠϯελάϥϜͰϚϚΑΓϚϚϦͷํ͕λά͚͕ଟ͍
ϚϚϦͷΛͰࢧ͖͑ͯ·ͨ͠
Amazon S3 ElastiCache CloudFront Amazon SES Amazon RDS Amazon CloudWatch
Amazon SNS Amazon Route 53 ECS ALB GitHub Docker Docker Build Notification push ECS Scheduled Task ACM WAF Services(API, Admin, Etc…) ECR TravisCI Slack Sentry pingdom papertrail BigQuery fluentd
ίϯςφʹḷΓ͍ͭͨಓͷΓͱ ࠓίϯςφͰͲͷΑ͏ʹຊͷϚϚΛ ࢧ͍͑ͯΔ͔ʹ͍͓ͭͯ͠·͢
w ϚϚϦͷΠϯϑϥͷྺ࢙ w &$ظ w ࣗલ"VUP4DBMJOHظ w &#ظ w &$4ظ
w ίϯςφಋೖͷಓͷΓ w ͷཧͱղܾͷͨΊͷπʔϧબఆ w ಋೖϑΣʔζ w &$4Խͯ͠ྑ͔ͬͨ͜ͱ w ͜Ε͔Β w 'BSHFUFͷظ w ΠϯϑϥΤϯδχΞͷࣄΛͳ͘͢
ϚϚϦͷΠϯϑϥͷྺ࢙
&$ظ ˠͷαʔϏε্ཱͪ͛
EC2 instance web app server
EC2 instance web app server ·͔͞ͷ&$ʘ ?P? ʗ
• ࠷খߏ • MySQLApacheશ෦ೖΓ • ͪΖΜσϓϩΠπʔϧͳΜ͔ͳ͍ͷͰ ʮσϓϩΠ͠·͢ʂ(ʆŋωŋ´)ʎʯ sshͰαʔόʔʹೖͬͯΛֻ͚߹͍ git
pull origin master ࠷ॳEC2 1ͷߏ͔Βελʔτ
EC2 instance web app server ϚϚϦ(WebϝσΟΞ)ͷΠϯϑϥ
EC2 instance web app server ϚϚϦ(ΞϓϦ)ͷΠϯϑϥ
࣌ͷϚϚϦͷΠϯϑϥʢ·ͱΊʣ EC2 instance web app server EC2 instance web
app server
• 2िؒͰΞϓϦΛͭͬͯ͘ϦϦʔε • ͱʹ͔͘εϐʔυʂ • ͦΕͧΕMySQLApacheશ෦ೖΓ • ͪΖΜσϓϩΠπʔϧͳΜ͔ͳ͍ͷͰ(ry •
खಈʹΑΔஆ͔Έͷ͋ΔσϓϩΠϑϩʔ ֤αʔϏε1ͣͭ
• ͜ͷͱ͖·ͩαʔϏεͷԾઆݕূத • ͦͦαʔϏε͕৳ͼͳ͍ͱ ҆ఆͨ͠Πϯϑϥඞཁͳ͍ • (*ᵕᴗᵕ).ŇoO ( Ͱࠓ͕ࣝ͋Δঢ়ଶͰͭ͘Δ
ͳΒ࠷ॳ͔ΒALBೖΕͨߏͰΓ·͢ʣ αʔϏεͷػೳՃ͕༏ઌʂʂ
• ςϨϏऔࡐʢͱ͘μωʂʣ๒ʹεέʔϧ ͰରԠ • ඵ͘Β͍ͷ࿐ग़ͰҰॠͰઍμϯϩʔυ ͞Εͯয͕ͬͨɺແࣄࡹ͚ͨ • ֶੜىۀͰ͓ۚͳ͔ͬͨͷͰैྔ՝ۚͰ ॿ͔ͬͨ
AWSͷԸܙΛॳظ͔Βड͚͍ͯͨ
• ͓͍͖ͬΓ୯Ұো • ͍ͬͯ͏͔ʮʯ • DBͷӡ༻େม • όοΫΞοϓεΫϦϓτࣗલͰߏங •
εέʔϧΞοϓ࣌ʹαʔϏεΛࢭΊΔ ඞཁ͕͋Δɺͦͷଞͨ͘͞Μʘ(^o^)ʗ EC2 1ߏͷͭΒΈ
ࣗલ"VUP4DBMJOHظ
EC2 instance web app server EC2 instance web app server
EC2ظ
EC2 instance web app server EC2 instance web app server
Amazon RDS Availability Zone #1 RDSಋೖ
Elastic Load Balancing Amazon RDS Amazon EC2 Amazon EC2 Availability
Zone #1 Amazon EC2 Amazon EC2 Availability Zone #1 Elastic Load Balancing Amazon EC2 Amazon EC2 Availability Zone #1 Amazon EC2 Amazon EC2 Availability Zone #1 Amazon S3 ElastiCache CloudFront Amazon SES ࣗલAutoScalingߏங
Elastic Load Balancing Amazon EC2 Elastic Load Balancing Amazon EC2
Amazon S3 ElastiCache CloudFront Amazon SES Amazon RDS Amazon CloudWatch Amazon SNS Amazon Route 53 GitHub Sentry BigQuery fluentd fluentd pingdom papertrail ֤छϚωʔδυαʔϏεΛಋೖ
• ͜ͷλΠϛϯάͰEC2ʹ͋ͬͨDBΛRDS Ҡߦ • ֤छϚωʔδυαʔϏεಋೖ • Ճ͑ͯAutoScalingΛߏஙͨ͜͠ͱͰ αʔϏεͷ֦େʹ͑ΕΔΑ͏ʹͳͬͨ ࣗલͰAutoScalingΛߏங
• AMIͱLaunch Configurationͷཧ͕͠ΜͲ͍ • AMIʹؔͯ͠ChefͷProvisioning ToolΛͬͯ ɺ݁ہͦΕͷཧ͕େมͰॻ͍ͯଐਓԽ͢Δ • ݁Ռͱͯ͠ΠϯϑϥΤϯδχΞ͕
ϛυϧΣΞߋ৽ͷϘτϧωοΫʹͳΔ • ಉ͡ίϚϯυ(yumͳͲ)ͰೖΔιϑτͷόʔδϣϯ ͕มΘͬͯͨΓɺͰ͖ͳ͘ͳͬͯͨΓ ࣗલAutoScalingͷͭΒΈ
&#ظ &MBTUJD#FBOTUBML
Elastic Load Balancing Amazon EC2 Amazon S3 ElastiCache CloudFront Amazon
SES Amazon RDS Amazon CloudWatch Amazon SNS Amazon Route 53 GitHub Sentry BigQuery fluentd fluentd pingdom papertrail Elastic Beanstalk
Elastic Load Balancing Amazon EC2 Amazon S3 ElastiCache CloudFront Amazon
SES Amazon RDS Amazon CloudWatch Amazon SNS Amazon Route 53 GitHub Sentry BigQuery fluentd fluentd pingdom papertrail Elastic Beanstalk /FX
• AMIͱAutoScale Configͷཧ͔Β։์ • ebίϚϯυʹΑͬͯdeploy toolͳͲ͕Ұ௨Γ ἧ͍ͬͯΔ • 1ߏங͢ΕΞϓϦέʔγϣϯʹඞཁͳཁ
ૉΛαΫͬͱͭͬͯ͘͘ΕΔ͠ɺͦͷηοτ ΛؙͬͱίϐʔͰ͖Δ Elastic BeanstalkҠߦ
• EBͷ͕ࣝඞཁ • EBಠಛͷ֓೦ • ApplicationͱEnvironmentͷؔ • deploy࣌ͷڍಈ •
.ebextensionsͷॻ͖ํ Elastic BeanstalkͷͭΒΈ
• ϩʔΧϧڥͰͷEBڥ࠶ݱ͕͍͠ • ্ཱ͕ͪΔΠϯελϯεEB༻ʹΧελϚ Πζ͞ΕͨAmazon Linux • ैͬͯ͜ΕΒΛݕূ͢ΔͨΊʹຖdeploy͠ ͳ͍ͱ͍͚ͳ͍
• ݁Ռɺݕূ͕ΧδϡΞϧʹͰ͖ͳ͍ͷͰ݁ہ EBʹ͍ͭͯଐਓԽ͕ͪ͠ Elastic BeanstalkͷͭΒΈ
• ϛυϧΣΞͷར༻͕ຯʹ੍ݶ͞ΕΔ • ࣌php7.1͍͔͕ͨͬͨ7.0·Ͱ͠ ͔ఏڙ͞Ε͍ͯͳ͔ͬͨ • PHP × nginxͳ͍
• ʢ´-`ʣ.ŇoOʢϚωʔδυαʔϏεͳͷͰ ͠ΐ͏͕ͳ͍෦Ͱ͋Δʣ Elastic BeanstalkͷͭΒΈ
Elastic BeanstalkͷPHPαϙʔτ SFGIUUQTEPDTBXTBNB[PODPNKB@KQFMBTUJDCFBOTUBMLMBUFTUEHDPODFQUTQMBUGPSNTIUNMDPODFQUTQMBUGPSNT1)1
࡞͞ΕΔϦιʔε܈ͷ໊લ͕ͻͲ͍ͷͰϚ ωδϝϯτίϯιʔϧ͕ԚΕΔ Elastic BeanstalkͷͭΒΈ
&$4ظ
• ͭͬͨ͘VM͕ಥવյΕΔ • VM࡞Γ͕͠ॏ͍ • ෳαʔϏε্ཱͪ͛ΔͱCPUΛѹഭͯ͠ ϩʔΧϧ։ൃڥ͕ॏ͍ • ຊ൪ͱඍົʹڥࠩҟ͕ൃੜ
ϩʔΧϧ։ൃڥ(Vagrant)ͷͭΒΈ
• ίϯςφͳΒڥͷͭ͘Γ͠ϥΫ • ෳαʔϏε্ཱͪ͛ͯVMͱൺͯCPU Λѹഭ͠ͳ͍ • ϩʔΧϧͷڥΛͦͷ··ຊ൪ʹ͍͚࣋ͬͯ ΔͷͰڥࠩҟ͕ͳ͍ DockerͷಋೖͰͭΒΈΛղফ
Amazon S3 ElastiCache CloudFront Amazon SES Amazon RDS Amazon CloudWatch
Amazon SNS Amazon Route 53 ECS ALB GitHub Docker Docker Build Notification push ECS Scheduled Task ACM WAF Services(API, Admin, Etc…) ECR TravisCI Slack Sentry pingdom papertrail BigQuery fluentd
՝ͨ͘͞Μ͋Γ·ͨ͠
ίϯςφಋೖͷಓͷΓ
ͷཧͱ ղܾͷͨΊͷπʔϧબఆ
• ͭͬͨ͘VM͕ಥવյΕΔ • VM࡞Γ͕͠ॏ͍ • ෳαʔϏε্ཱͪ͛ΔͱCPUΛѹഭͯ͠ ϩʔΧϧ։ൃڥ͕ॏ͍ • ຊ൪ͱඍົʹڥࠩҟ͕ൃੜ
ϩʔΧϧ։ൃڥͷͭΒΈ(࠶ܝ)
• Πϯϑϥͷಠ͕ࣗࣝಛఆͷϝϯόʔʹภΔ • ϛυϧΣΞͷΠϯετʔϧͳͲͰΠϯϑϥ ΤϯδχΞ͕࡞ۀϑϩʔ্ͷϘτϧωοΫʹ ͳΔ • ϚωʔδυαʔϏεͷ੍ݶʹΑΓར༻͍ͨ͠ ϛυϧΣΞɾπʔϧ͕͑ͳ͍͜ͱ͕͋
Δ ͜Ε·ͰͷΠϯϑϥͷ՝
• Πϯϑϥͷಠ͕ࣗࣝಛఆͷϝϯόʔʹภΔ • ϛυϧΣΞͷΠϯετʔϧͳͲͰΠϯϑϥ ΤϯδχΞ͕࡞ۀϑϩʔ্ͷϘτϧωοΫʹ ͳΔ • ϚωʔδυαʔϏεͷ੍ݶʹΑΓར༻͍ͨ͠ ϛυϧΣΞɾπʔϧ͕͑ͳ͍͜ͱ͕͋
Δ ͜Ε·ͰͷΠϯϑϥͷ՝ ͜ΕΒΛ౿·͑ͯ ཧͷΧλνΛߟ͑Δ
• ઃఆϑΝΠϧ͕gitཧ͞Ε͓ͯΓϒϥοΫ ϘοΫε͕ͳ͍ • ϛυϧΣΞ,OS,ϓϥάΠϯͷόʔδϣϯ ઃఆϑΝΠϧͰཧ • ͦΕΒΛΞϓϦέʔγϣϯΤϯδχΞ͕ਖ਼͠ ͘ཧղͰ͖͍ͯΔ
ཧͷΧλνᶃ
• ։ൃऀίϚϯυҰͭ͘Β͍ͷϨϕϧͰɺͬ͞ ͱϩʔΧϧڥΛ্ཱͪ͛Δࣄ͕ग़དྷΔ • ୭Ͱಉ͡ڥཱ͕ͯΒΕΔ • ։ൃऀ/σβΠφʔؔͳ͘ • ຊ൪ಉ͡ઃఆϑΝΠϧ͔Β࡞ΒΕͨΠϝʔ
δ͕σϓϩΠ͞Εɺ։ൃڥͱຊ൪ڥʹશ ࠩ͘ҟͷͳ͍ঢ়ଶ ཧͷΧλνᶄ
DockerʹനӋͷཱ͕ͬͨ
DockerʹനӋͷཱ͕ͬͨ அ࣠ӡ༻ؚΊͯ νʔϜͰҭͯΒΕΔ͔Λݕূ
ಋೖϑΣʔζ
ʮ৽͍͠πʔϧΛೖΕΔ࣌খ࢝͘͞ΊΔʯ ಋೖํ
• खݩͰಈ͘ڥΛ࡞Δ • ಛఆͷϝϯό(1,2໊)ʹςεττϥΠͯ͠ Β͏ • ͍͖ͳΓશମల։͢Δͱ։ൃ͕ࢭ·ͬͯ͠·͏ • χʔζΛͯ͢ચ͍ग़͢
• VMॏ͍ɺյΕΔɺڥࠩҟ…(ůŐ`)řŕ ᶃ۩ମతͳχʔζΛચ͍ग़͢
• ͷಛఆޙɺͦͷղܾࡦΛݕ౼ • 1ͭ1۪ͭʹ௵ͯ͠ɺղܾํ๏Λݕূ͍ͯ͠ ͘ • Ex. Docker for
Mac ͱ VM on Dockerͷݕূ • Dockerؔ࿈ͷ͕ग़͙ͨ࣌͢ʹΩϟον Ξοϓͯ͠௵͍ͯ͘͠ ᶄղܾํ๏Λݕূ
• શମద༻ͷલʹϋϯζΦϯͷ࣌ؒΛͭ͘Δ • جຊૢ࡞ͷυΩϡϝϯτFAQ༻ҙ • Ҿ͖ଓ͖ɺDockerؔ࿈ͷ͕ग़ͨ࣌͢ ͙ʹΩϟονΞοϓͯ͠௵͍ͯ͘͠ ᶅϝϯόʔʹڞ༗
• Pull RequestΛΞϓϦέʔγϣϯΤϯδχΞ ʹૹΔ • ใΛΠϯϑϥΤϯδχΞͷதͰด͡ͳ͍Α ͏ʹ͢Δ • ٯʹPull
RequestΛૹͬͯΒ͏ͷΛखॿ͚ ͢Δ ᶆਁಁͤ͞Δ
• DockerfileΠϯϑϥͷ࣋ͪͰͳ͘ɺΈΜ ͳͰҭ͍͖͍ͯͯͨͱ͍͏ؾ͕࣋ͪ։ൃऀʹ Θͬͨ • ࣗͰ৽αʔϏεDockerͰ࡞Γ࢝ΊΔϝϯ ό͕ग़͖ͯͨ • ϛε͕͋ͬͨࡍʹɺ͙͢ʹDockerfileͷमਖ਼
Λࢦఠͯ͘͠Εͨ ݁Ռ
×
Amazon S3 ElastiCache CloudFront Amazon SES Amazon RDS Amazon CloudWatch
Amazon SNS Amazon Route 53 ECS ALB GitHub Docker Docker Build Notification push ECS Scheduled Task ACM WAF Services(API, Admin, Etc…) ECR TravisCI Slack Sentry pingdom papertrail BigQuery fluentd
Amazon S3 ElastiCache CloudFront Amazon SES Amazon RDS Amazon CloudWatch
Amazon SNS Amazon Route 53 ECS ALB GitHub Docker Docker Build Notification push ECS Scheduled Task ACM WAF Services(API, Admin, Etc…) ECR TravisCI Slack Sentry pingdom papertrail BigQuery fluentd νʔϜͰίϯςφΛ ҭͯͨ݁Ռ
ECSԽͯ͠ྑ͔ͬͨ͜ͱ
• ίϯςφͳΒڥͷͭ͘Γ͠ϥΫ • ෳαʔϏε্ཱͪ͛ͯVMͱൺͯCPU Λѹഭ͠ͳ͍ • ϩʔΧϧͷڥΛͦͷ··ຊ൪ʹ͍͚࣋ͬͯ ΔͷͰڥࠩҟ͕ͳ͍ DockerͷಋೖͰͭΒΈΛղফ(࠶ܝ)
• ΠϯϑϥࣝͷϒϥοΫϘοΫεԽղফ • ϛυϧΣΞͷΠϯετʔϧΞϓϦέʔγϣ ϯΤϯδχΞ͕ࣗ༝ʹͰ͖ΔΑ͏ʹͳͬͨ • ϚωʔδυαʔϏεͷ੍ݶʹΑΓར༻Ͱ͖ͳ ͍ϛυϧΣΞɾπʔϧ͕ͳ͘ͳͬͨ ϘτϧωοΫͷղফ
• EC2ͷϝϯςφϯε͔Βͷ։์ • Ex. ઌͷCPU੬ऑੑʹΑΔڧ੍restart • Jobͷ࣮ߦ͝ͱʹίϯςφ্ཱ͕͕ͪΔͷͰɺ EC2 on
Cronͷͱ͖ؾʹ͍ͯͨ͠CPUϦιʔε ΛؑΈ࣮ͨߦλΠϛϯάͳͲߟ͑Δඞཁ͕ͳ ͘ͳͬͨ • ංେԽ͢Δcrontabͷཧෆཁʹ ECS Task Scheduledʹͯ͠ྑ͔ͬͨ͜ͱ
Route53Λར༻ͨ͠ՃॏϦιʔεϨίʔυηοτΛ ར༻ͨ͠τϥϑΟοΫࢄΧφϦΞϦϦʔεతʹ ͏ࡍʹศརͳͷͰΦεεϝ ECSҠߦ࣌ͷTips
͜Ε͔Β
• ECSΛ͍ͬͯͯ݁ہ֎ଆͷEC2Πϯε λϯεΛҙࣝ͠ͳ͍ͱ͍͚ͳ͍ • 1ͭͷEC2ΠϯελϯεͷதʹԿݸίϯςφ ΛཱͯΔ͔ɺϦιʔεͷׂͲͷఔ͔ … • FargateͦΕʹର͢ΔղʹͳΓͦ͏
AWS Fargateͷظ
• ຊޠͷFargateʹݴٴͨ͠ϒϩάΛݟͯ AWSͷUSνʔϜ͕ʮ͜ΕͳΜͯॻ͍ͯ͋Δ ͷʁʯͬͯJPνʔϜʹฉ͍ͯ͘ΔΒ͍͠ • “Fargate”άάΒϏϦςΟ͕ߴ͍ͷҰҼʹ ͋Γͦ͏ • ΈΜͳͰϒϩάॻ͍ͯFargateΛ
Tokyo Regionʹ͖࣋ͬͯ·͠ΐ͏:D FargateΑʂ
• ͳΜ͔ͩΜͩɺضৼΓͱͯ͠Πϯϑϥͷ ࣄΛϝΠϯͰߦ͏ਓඞཁͩͬͨΓ͢Δ • ͰɺࠓͷίωώτͷνʔϜͳΒίϯςφʹ ؔͯ͠ΞϓϦέʔγϣϯΤϯδχΞ͚ͩͰ ݁͢Δੈք͕ͭ͘ΕΔͱ৴͍ͯ͡Δ • ͦ͜·ͰίϯςφɾΠϯϑϥٕज़ΛʮνʔϜ
ͰҭͯΔʯͷʹͯ͠ɺࣗͨͪͷࣄΛͳ ͘͢ͱ͜Ζ·ͰΓ͍ͨ ΠϯϑϥΤϯδχΞͷࣄΛͳ͘͢
·ͱΊ
• ϚϚ͚No.1ΞϓϦͷϚϚϦͷAWS ʹࢧ͑ΒΕ͖ͯ·ͨ͠ • ࠓຊͷϚϚίϯςφʹࢧ͑ΒΕ͍ͯ·͢ • ίωώτͰɺ͜Ε͔ΒίϯςφɾΠϯϑ ϥٕज़ΛʮνʔϜͰҭͯΔʯΧϧνϟʔʹ͠ ͍͖ͯ·͢
·ͱΊ
͏ͪΐͬͱΛฉ͍ͯΈ͍ͨͱ ࢥͬͨํؾܰʹ͓͕͚͍ͩ͘͞ ͘͠!UBUTVTIJNʹ%.Ͱ
$POOFIJUP*OD$50!UBUTVTIJN ϚϚͷҰาΛࢧ͑Δ ͝ਗ਼ௌ༗͏͍͟͝·ͨ͠%