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
3k
日本のママをコンテナで支える
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
26k
コミュニティサービスにおける機械学習のためのアノテーション
tatsushim
0
2k
コネヒトが考える技術選択の仕方について
tatsushim
0
21k
コネヒトが考えるサービスづくりに必要な技術とその考え方について
tatsushim
2
3k
word2vecで女性向けQ&Aサイトを解析してみた
tatsushim
0
6.1k
独身男性のためのデータドリブン講座
tatsushim
0
6.7k
Other Decks in Technology
See All in Technology
効果的なオンコール対応と障害対応
ryuichi1208
6
3.1k
株式会社EventHub・エンジニア採用資料
eventhub
0
3k
実務における脅威モデリングを考えよう
nikinusu
1
710
Passkey Autofill に賭けるマネーフォワード ID - Money Forward Tech Day 2024
nov
0
200
PdMはどのように全てのスピードを上げられるか ~ 非連続進化のための具体的な取り組み ~
sansantech
PRO
4
1.4k
フロントエンド開発事例③ Yahoo! JAPAN トップページ
lycorptech_jp
PRO
0
110
事前準備が肝!AI活用のための業務改革
layerx
PRO
1
400
Next.js のページ遷移を全力で止める
ypresto
9
3.6k
エムスリーエビデンス創出プロダクトチーム紹介資料 / Introduction of M3 Create Evidence Team
m3_engineering
0
100
ロリポップ! for Gamersを支えるインフラ/lolipop for gamers infrastructure
takumakume
0
140
再考 アクターモデル/ reconsider actor model
ytake
0
380
たった1人からはじめる【Agile Community of Practice】~ソース原理とFearless Changeを添えて~
ktc_corporate_it
1
510
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
53
8.9k
Clear Off the Table
cherdarchuk
91
320k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
0
130
Writing Fast Ruby
sferik
623
60k
Unsuck your backbone
ammeep
667
57k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.4k
The Cost Of JavaScript in 2023
addyosmani
42
5.7k
Facilitating Awesome Meetings
lara
49
6k
Git: the NoSQL Database
bkeepers
PRO
425
64k
In The Pink: A Labor of Love
frogandcode
139
22k
Building Applications with DynamoDB
mza
90
6k
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 ϚϚͷҰาΛࢧ͑Δ ͝ਗ਼ௌ༗͏͍͟͝·ͨ͠%