Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ホスティングにおける安定運用のためのアクセスコントロール手法
Search
Takuma Kume
October 07, 2017
Technology
3
2.5k
ホスティングにおける安定運用のためのアクセスコントロール手法
ペパボ・はてな技術大会〜インフラ技術基盤〜@福岡
「ホスティングにおける安定運用のためのアクセスコントロール手法」
https://pepabo.connpass.com/event/65932/
Takuma Kume
October 07, 2017
Tweet
Share
More Decks by Takuma Kume
See All by Takuma Kume
事業部CTOの現在地(パネルディスカッション)/Current-location-of-Division-CTO
takumakume
0
10
ロリポップ! for Gamersを支えるインフラ/lolipop for gamers infrastructure
takumakume
0
460
ロリポップ! for Gamersの立ち上げ/lolipop for gamers launch
takumakume
0
1.9k
ホモグラフドメインを検出してみた/detect homograph domain
takumakume
0
430
ソフトウェアの継続的アップデートをコンテナ化によって加速させる/Accelerate continuous software updates with containerization
takumakume
0
4.7k
KubernetesにおけるSBOMを利用した脆弱性管理/Vulnerability_Management_with_SBOM_in_Kubernetes
takumakume
1
2k
ホスティング事業におけるSREの取り組みとSREの面白さ/SRE Efforts in the Hosting Business and the Interest of SRE
takumakume
1
2.3k
GitOpsで実現するPull Request毎のプレビュー環境/Preview environment for each Pull Request by GitOps
takumakume
0
1.5k
Goでkubernetes operatorを実装してアプリのプレビュー環境を作る/go-kubernetes-operator
takumakume
0
160
Other Decks in Technology
See All in Technology
「品質とスピードはトレード・オンできる」に向き合い続けた2年半を振り返る / Quality and speed can be traded on.
mii3king
0
740
40歲的我會給20歲的自己,關於軟體開發的7個建議
line_developers_tw
PRO
0
2.6k
データパイプラインをなんとかした話 / Improving the Data Pipeline in IVRy
mirakui
0
140
WED Company Deck for Engineer
wed
2
3.7k
PostgreSQL Conference Japan 2024 A4 Comparison of column-oriented access methods
nori_shinoda
0
150
プロダクトの爆速開発を支える、 「作らない・削る・尖らせる」技術
applism118
10
8.9k
ソフトウェアエンジニアとしてキャリアの螺旋を駆け上がる方法 - 経験と出会いが人生を変える / Career-Anchor-Drive
soudai
13
2.9k
コーポレートデータマスター構築への道
kworkdev
PRO
0
130
Kubernetesを知る
logica0419
18
5.3k
開志専門職大学特別講義 2024 オープニング
1ftseabass
PRO
0
230
【全貌公開】 MIXI の Atlassian Cloud 移行の裏側 / Behind MIXI's Migration to Atlassian Cloud
mixi_engineers
PRO
0
110
つくってあそぼ! ユビキタス言語作文の紹介
ndadayo
1
150
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
33
1.5k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Writing Fast Ruby
sferik
627
61k
Practical Orchestrator
shlominoach
186
10k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Optimizing for Happiness
mojombo
376
70k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Facilitating Awesome Meetings
lara
50
6.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
38
It's Worth the Effort
3n
183
27k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Transcript
ٱถഅ(.01FQBCP *OD ϖύϘɾͯͳٕज़େձʙΠϯϑϥٕज़ج൫ʙ ϗεςΟϯάʹ͓͚Δ҆ఆӡ༻ͷͨΊͷ ΞΫηείϯτϩʔϧख๏
ࣗݾհ ٱถ അ (@takumakume) 20164݄͔ΒϖύϘʹೖࣾ ΠϯϑϥΤϯδχΞ
ϩϦϙοϓʂ ֹ݄ԁ͔Βར༻Ͱ͖Δʂ ສαΠτҎ্ӡ༻தʂ ඵؒສઍϦΫΤετΛॲཧʂ
ϗεςΟϯάʹ͓͚Δ҆ఆӡ༻ͷͨΊͷ ΞΫηείϯτϩʔϧख๏
࣍ wϗεςΟϯάαʔϏεͷ҆ఆӡ༻͕؆୯Ͱͳ͍ཧ༝ w͜Ε·ͰͷΞΫηείϯτϩʔϧख๏ͷհͱ՝ w՝Λղܾͨ͠৽͍͠ΞΫηείϯτϩʔϧख๏ͷհ w·ͱΊ
ຊͷεϥΠυͰɺߴෛՙͷαΠτʹରͯ͠ ΞΫηε੍ޚΛ࣮ࢪ͢Δख๏ʹ͍ͭͯͷհΛ ͠·͢ɻ ͯ͢ͷతɺαʔϏεͷ҆ఆӡ༻ͱɺΑΓ ଟ͘ͷ͓٬༷͕շదʹ͝ར༻͍͚ͨͩΔΑ͏ʹ ͢Δ͜ͱ͕೦಄ʹ͋Γ·͢ʂ
ϗεςΟϯάαʔϏεͷ҆ఆӡ༻͕ ؆୯Ͱͳ͍ཧ༝
ͦͷલʹɺͱ͋Δ8FCαʔϏεͷαʔόͷ $16༻ΛݟͯΈ·͢ɻ
$16༻ ͱ͋Δ8FCαʔϏεͷ$16༻ ࣌ ࣌ ࣌
࣌ ࣌ ࣌ ΰʔϧσϯλΠϜ னٳΈ όονॲཧ ͱ͋Δ8FCαʔϏεͷ$16༻
ΰʔϧσϯλΠϜ னٳΈ όονॲཧ $16༻ 8FCαʔϏεͷ߹λʔήοτ࣮Λ Ѳ͍ͯ͠ΔͨΊɺΛ૾͍͢͠
ͰɺϗεςΟϯάαʔόͷ $16༻ΛݟͯΈ·͢ɻ
࣌ ࣌ ࣌ ࣌ ϗεςΟϯάαʔόͷ$16༻
ϗεςΟϯάαʔόͷ$16༻ Կ͔͕ಈ͍͍ͯΔ
ϗεςΟϯάαʔόͷ߹ɺ ༷ʑͳϓϩάϥϜ͕࣮ߦ͞ΕΔͨΊෛՙͷ ݪҼ༷ʑͰରԠ͠ʹ͍͘
༷ʑͳෛՙͷݪҼ ੬ऑੑ ੬ऑੑͷ͋Δ$.4ͳͲΛܦ༝ͯ͠ෆਖ਼ͳॲཧ͕࣮ߦ͞ΕΔɻ ߈ܸ αʔόͨΓͷαΠτ͕ଟ͍ͨΊ߈ܸͷରʹͳΓ͍͢ɻ ϢʔβϓϩάϥϜ ϗεςΟϯάͰࣗ༝ʹϓϩάϥϜͷ࣮ߦ͕Մೳͳڥɻ େྔʹϦιʔεΛফඅ͢ΔϓϩάϥϜ͕࣮ߦ͞ΕΔ͜ͱ͕͋Δɻ ͳͲʜ
͜ΕΒʹରͯ͠Կͷରࡦ͠ͳ͍߹ αʔόߴෛՙͳঢ়ଶͱͳΓ αʔϏεͷఏڙ࣭͕Լͯ͠͠·͏
͜Ε·ͰͷΞΫηείϯτϩʔϧख๏
NPE@WIPTU@NBYDMJFOUT "QBDIFIUUQE 7JSUVBM)PTU # httpd.conf <VirtualHost *> DocumentRoot /path/to/web ServerName
www.example.jp VhostMaxClients 3 </VirtualHost> w"QBDIFͷϞδϡʔϧ w7JSUVBM)PTUຖͷ࠷େಉ࣌ଓΛ੍ݶ͢Δ͜ͱ͕Ͱ͖Δ 8FCΞΫηε
NPE@WIPTU@NBYDMJFOUT "QBDIFIUUQE 7JSUVBM)PTU ಛఆͷ7JSUVBM)PTUͷภΓΛࢭ ॏ͍εΫϦϓτͷଟॏ࣮ߦΛࢭ 8FCΞΫηε w"QBDIFͷϞδϡʔϧ w7JSUVBM)PTUຖͷ࠷େಉ࣌ଓΛ੍ݶ͢Δ͜ͱ͕Ͱ͖Δ
NPE@WIPTU@NBYDMJFOUTʹΑΔ੍ݶͷࣗಈԽγεςϜ 04 IUUQE MPH DPOpH (PMBOH ࣗಈ੍ޚγεςϜ ᶃࢹ ᶄղੳ
ᶅઃఆ ᶆө ࢹ ɾϩʔυΞϕϨʔδ ɾ)551Ϩεϙϯε ղੳ ઃఆ ݪҼαΠτʹಉ࣌ଓ੍ݶΛઃఆ ө IUUQEͷHSBDFGVMSFTUBSUΛ࣮ߦ ϩά͔ΒෛՙݪҼͷαΠτΛಛఆ ෛՙͷߴ͍αΠτʹࣗಈతʹ੍ݶΛߦ͏γεςϜΛ(PMBOHͰ։ൃ
͜Ε͚ͩͰߴෛՙରࡦ͕ ෆेͩͬͨ
՝
՝ ੍ޚ୯Ґ 7JSUVBM)PTUຖͷ੍ޚͷΈߦ͏ ⇛ෛՙύλʔϯʹΑͬͯɺΞΧϯτ୯ҐϑΝΠϧ୯Ґ ɹͳͲ੍ޚ୯ҐΛม͍͑ͨɻ өʹHSBDFGVMSFTUBSU͕ඞཁ ⇛HSBDFGVMSFTUBSUͷॲཧॏ͘ϨεϙϯεԆͷݪҼʹ ɹͳΔͨΊۃྗ࣮ߦͨ͘͠ͳ͍ɻ өॲཧ
ಉ࣌ଓ੍ݶͷΈߦ͏ ⇛୯ൃͰେྔͷϦιʔεΛফඅ͢ΔϓϩάϥϜʹରԠͰ͖ͳ͍ɻ ɹϦιʔεͷ੍ݶ࣮ࢪ͍ͨ͠ɻ ੍ݶखஈ
ཁٻ͕૿͑Δʹ࿈ΕͯطଘͷιϑτΣΞ ͷΈͰ՝Λղܾ͠ʹ͘͘ͳͬͨ
͜Ε·Ͱɺ՝͕͋Δͷͷ ίʔυʹམͱ͠ࠐΜͰ͍͘εϐʔυ͕ ͔ͬͨɻ
ӡ༻πʔϧʑਐԽ͕ඞཁͰ͋Δ
࠷ॳ͔ΒᘳͳιϑτΣΞΛ࡞Δ ͜ͱͰ͖ͳ͍ ਐԽ͍ͤ͢͞ج൫Λ࡞Γ͍ͨʂ
NPE@NSVCZ ✕
NPE@NSVCZͱʁ wฐࣾͷ!NBUTVNPUPSZ͕։ൃ͍ͯ͠ΔIUUQEͷϞδϡʔϧ wϓϩηεͷىಈϦΫΤετͷλΠϛϯάͳͲΛܖػʹ NSVCZͷεΫϦϓτΛ࣮ߦͰ͖Δɻ wϦΫΤετύϥϝʔλΛऔಘͨ͠Γҙͷεςʔλείʔ υΛฦͨ͠ΓͰ͖Δɻ
NPE@NSVCZΛબΜͩཧ༝
NPE@NSVCZΛબΜͩཧ༝ ߴͳॲཧ$ݴޠͷϥΠϒϥϦΛ͍͍ͨ߹NSCHFN ͱ͍͏֦ுػೳΛͬͯ$ݴޠͰͷ࣮ՄೳͱͳΔɻ ։ൃऀͷ!NBUTVNPUPSZ͕ࡏ੶͍ͯ͠Δɻ NPE@NSVCZΛ༻͍Δ͜ͱͰIUUQEͷৼΔ͍Λ ։ൃޮ͕Α͍3VCZߏจͰΧελϚΠζ͢Δ͜ͱ͕Ͱ͖Δɻ ʢैདྷ.PEVMFΛ$ݴޠͰ։ൃ͢Δඞཁ͕͋ͬͨɻʣ
NPE@NSVCZΛબΜͩཧ༝ NPE@NSVCZΛ༻͍Δ͜ͱͰIUUQEͷৼΔ͍Λ3VCZߏจͰ ΧελϚΠζ͢Δ͜ͱ͕Ͱ͖Δɻ3VCZ։ൃޮ͕ྑ͍ɻ ʢैདྷ.PEVMFΛ$ݴޠͰ։ൃ͢Δඞཁ͕͋ͬͨɻʣ ߴͳॲཧ$ݴޠͷϥΠϒϥϦΛ͍͍ͨ߹NSCHFN ͱ͍͏֦ுػೳΛͬͯ$ݴޠͰͷ࣮ՄೳͱͳΔɻ ։ൃऀͷ!NBUTVNPUPSZ͕ࡏ੶͍ͯ͠Δɻ ֦ுੑɺอकੑΛଛͳΘͣ ޮΑ͘։ൃՄೳ
NPE@NSVCZΛબΜͩཧ༝ NPE@NSVCZΛ༻͍Δ͜ͱͰIUUQEͷৼΔ͍Λ3VCZߏจͰ ΧελϚΠζ͢Δ͜ͱ͕Ͱ͖Δɻ3VCZ։ൃޮ͕ྑ͍ɻ ʢैདྷ.PEVMFΛ$ݴޠͰ։ൃ͢Δඞཁ͕͋ͬͨɻʣ ߴͳॲཧ$ݴޠͷϥΠϒϥϦΛ͍͍ͨ߹NSCHFN ͱ͍͏֦ுػೳΛͬͯ$ݴޠͰͷ࣮ՄೳͱͳΔɻ ։ൃऀͷ!NBUTVNPUPSZ͕ࡏ੶͍ͯ͠Δɻ ਐԽ͠ଓ͚Δ͜ͱ͕Ͱ͖Δ
NPE@NSVCZΛ࣠ͱͨ͠ ৽͍͠ΞΫηείϯτϩʔϧख๏
IUUQBDDFTTMJNJUFSͱ͍͏ ιϑτΣΞͷΞʔΩςΫνϟΛϕʔεʹ ৽͍͠ΞΫηείϯτϩʔϧج൫Λ։ൃ
IUUQBDDFTTMJNJUFS NSVCZΛͬͯϦΫΤετύϥϝʔλΛݩʹಉ࣌ଓΛΧϯτ͢Δ IUUQE NPE@NSVCZ ᶃlFYBNQMFDPNzʹΞΫηε 1)1$(*ͳͲ ,74 ,FZ FYBNQMFDPN
7BMVF ಉ࣌ଓ Χϯλʔ ᶄΠϯΫϦϝϯτ ᶅॲཧ ᶆσΫϦϝϯτ ͜ͷΑ͏ͳྲྀΕͰಉ࣌ଓΛΧϯτ͢Δ
IUUQBDDFTTMJNJUFSΛͬͯղܾͰ͖Δ͜ͱ
IUUQBDDFTTMJNJUFSΛͬͯղܾͰ͖Δ͜ͱ ੍ޚ୯Ґ NPE@NSVCZͰऔಘͰ͖ΔϦΫΤετύϥϝʔλΛ શͯར༻Ͱ͖Δɻ ઃఆө NSVCZΛͬͯ؆୯ʹɺHSBDFGVMSFTUBSUΛඞཁͱ ͠ͳ͍өํ๏Ͱ࣮͢Δ͜ͱ͕Ͱ͖Δɻ
IUUQBDDFTTMJNJUFSΛϕʔεʹ ՃػೳΛ࣮
੍ݶ༰ͷཧ
੍ݶ༰ͷཧ ੍ݶର͝ͱͷಉ࣌ଓΛཧ͍ͨ͠ʂ IUUQE IPHFDPN GVHBVTFSͷυϝΠϯ ϦΫΤετ IPHFDPNͷಉ࣌ଓ ·Ͱʹ͍ͨ͠ʜ GVHBVTFSͷಉ࣌ଓ
·Ͱʹ͍ͨ͠ʜ
੍ݶ༰ͷཧ IUUQBDDFTTMJNJUFSͷΞʔΩςΫνϟʹ੍ݶ༰Λཧ͢ΔػೳΛ࣮ IUUQE NPE@NSVCZ ,74 ϦΫΤετ ॲཧ ΠϯΫϦϝϯτ σΫϦϝϯτ
ಉ࣌ଓ Χϯλʔ ʴ 1)1 $(*
੍ݶ༰ͷཧ IUUQE NPE@NSVCZ ,74 ϦΫΤετ ॲཧ ΠϯΫϦϝϯτ σΫϦϝϯτ ಉ࣌ଓ
Χϯλʔ ,FZ7BMVF IPHFDPN GPPDPN ,74 1)1 $(* ੍ݶ༰Λอ͢ΔͨΊͷ,74Λ४උ ੍ݶ༰Λࢀর
੍ݶ༰ͷཧ IUUQE NPE@NSVCZ ,74 ϦΫΤετ ॲཧ ΠϯΫϦϝϯτ σΫϦϝϯτ ಉ࣌ଓ
Χϯλʔ ,FZ7BMVF IPHFDPN GPPDPN ,74 1)1 $(* ੍ݶ༰Λࢀর ,74 ,FZ7BMVF IPHFVTFS GPPVTFS ϗετ୯Ґ ΞΧϯτ୯Ґ ੍ݶ୯ҐΛ૿͍ͨ࣌͠,74Λ૿ͤྑ͍
ࣗಈ੍ޚγεςϜͱͷ࿈ܞ
ࣗಈ੍ޚγεςϜͱͷ࿈ܞ IUUQE NPE@NSVCZ ,FZ7BMVF IPHFDPN GPPDPN ,74 (PMBOH ࣗಈ੍ޚγεςϜ
IPHFDPN NBY@DMJFOUT GPPDPN NBY@DMJFOUT ᶃ੍ݶใͷ:".-ϑΝΠϧΛੜ ᶄ:".-ΛಡΈࠐΈ ᶅ,74ॻ͖ࠐΈ ෛՙͷݕ ϩάͷղੳ ݪҼͷಛఆ HSBDFGVMSFTUBSUͷΑ͏ʹॏ͍ॲཧෆཁ
,74ʹॻ͖ࠐΊྑ͍ͷͰʁ z:".-Λϩʔυ͢Δzͱ͍͏൚༻తͳΠϯλʔϑΣΠεʹ ͢Δ͜ͱͰɺผͷ੍ޚγεςϜ͕࡞ΒΕͯ؆୯ʹ࿈ܞͰ͖Δɻ ,74ͷഉଞ੍ޚNPE@NSVCZͰ࣮͍ͯ͠Δ ⇛֎෦͔Βॻ͖ࠐΈΛ͠Α͏ͱ͢ΔͱλΠϛϯάʹΑͬͯ ɹΤϥʔʹͳΔ
୯ൃͰେྔͷ$16ϦιʔεΛফඅ͢Δ ϓϩάϥϜͷରࡦ
DHSPVQ
DHSPVQͱ ϓϩηεΛάϧʔϓԽͯ͠$16ϝϞϦɺσΟεΫ*0ͷ ੍ޚΛߦ͏ɺ-JOVYΧʔωϧͷػೳ ৄ͘͢͠ͱ͕࣌ؒΓͳ͍ͷͰׂѪ͠·͢ʜ
ಛఆͷϦΫΤετͷΈΛରͱͯ͠ DHSPVQʹΑΔ$16ͷ੍ݶΛ͍ͨ͠ʂ
ಛఆͷϦΫΤετͷΈDHSPVQͰ੍ޚ͢Δ IUUQEXPSLFS IUUQEXPSLFS IUUQEXPSLFS ίϯςϯπॲཧ ίϯςϯπॲཧ ϦΫΤετ ϦΫΤετ $16ͷ੍ݶΛ͍ͨ͠
ϦΫΤετ ࣗʹDHSPVQͷ੍ݶΛ࣮ࢪ NSVCZ ίϯςϯπॲཧ ࣗΛݩͷDHSPVQʹ͢ NSVCZ $16੍ݶ
ಛఆͷϦΫΤετͷΈΛରͱͨ͠ DHSPVQʹΑΔ$16ͷ੍ݶΛ࣮ݱͨ͠ʂ
՝ʹ͍͓ͭͯ͞Β͍
՝ ੍ޚ୯Ґ 7JSUVBM)PTUຖͷ੍ޚͷΈߦ͏ ⇛ෛՙύλʔϯʹΑͬͯɺΞΧϯτ୯ҐϑΝΠϧ୯Ґ ɹͳͲ੍ޚ୯ҐΛม͍͑ͨɻ өʹHSBDFGVMSFTUBSU͕ඞཁ ⇛HSBDFGVMSFTUBSUͷॲཧॏ͘ϨεϙϯεԆͷݪҼʹ ɹͳΔͨΊۃྗ࣮ߦͨ͘͠ͳ͍ɻ өॲཧ
ಉ࣌ଓ੍ݶͷΈߦ͏ ⇛୯ൃͰେྔͷϦιʔεΛফඅ͢ΔϓϩάϥϜʹରԠͰ͖ͳ͍ɻ ɹϦιʔεͷ੍ݶ࣮ࢪ͍ͨ͠ɻ ੍ݶखஈ
՝ ੍ޚ୯Ґ 7JSUVBM)PTUຖͷ੍ޚͷΈߦ͏ ⇛ෛՙύλʔϯʹΑͬͯɺΞΧϯτ୯ҐϑΝΠϧ୯Ґ ɹͳͲ੍ޚ୯ҐΛม͍͑ͨɻ NPE@NSVCZ͔Βऔಘͨ͠ϦΫΤετύϥϝʔλΛ ݩʹ͋ΒΏΔ୯ҐͰ੍ޚΛߦ͏͜ͱ͕Ͱ͖ΔΑ͏ʹͳͬͨɻ
՝ ੍ޚ୯Ґ 7JSUVBM)PTUຖͷ੍ޚͷΈߦ͏ ⇛ෛՙύλʔϯʹΑͬͯɺΞΧϯτ୯ҐϑΝΠϧ୯Ґ ɹͳͲ੍ޚ୯ҐΛม͍͑ͨɻ NSVCZΛͬͯ,74ʹσʔλΛ࣋ͭ͜ͱͰ࠶ಡࠐΈॲཧ͕ ඞཁͳ͘ͳͬͨɻ өʹHSBDFGVMSFTUBSU͕ඞཁ ⇛HSBDFGVMSFTUBSUͷॲཧॏ͘ϨεϙϯεԆͷݪҼʹ
ɹͳΔͨΊۃྗ࣮ߦͨ͘͠ͳ͍ɻ өॲཧ
՝ ੍ޚ୯Ґ 7JSUVBM)PTUຖͷ੍ޚͷΈߦ͏ ⇛ෛՙύλʔϯʹΑͬͯɺΞΧϯτ୯ҐϑΝΠϧ୯Ґ ɹͳͲ੍ޚ୯ҐΛม͍͑ͨɻ DHSPVQʹΑΔ$16ͷίϯτϩʔϧΛߦ͏͜ͱͰղܾͨ͠ɻ ಉ࣌ଓ੍ݶͷΈߦ͏ ⇛୯ൃͰେྔͷϦιʔεΛফඅ͢ΔϓϩάϥϜʹରԠͰ͖ͳ͍ɻ ɹϦιʔεͷ੍ݶ࣮ࢪ͍ͨ͠ɻ
੍ݶखஈ
·ͱΊ
·ͱΊ ϗεςΟϯάαʔόͷ҆ఆӡ༻؆୯Ͱͳ͍ʂ ՝Λղܾ͢ΔͨΊʹNPE@NSVCZΛ༻͍ͨ $16Ϧιʔεͷ੍ޚख๏ͱͯ͠ɺϦΫΤετຖͷ DHSPVQʹΑΔ$16Ϧιʔε੍ޚΛ࣮ݱͨ͠ʂ ֦ுੑɾอकੑɾੜ࢈ੑͷߴ͍ΞΫηείϯτϩʔϧ ج൫Λ։ൃͨ͠ʂ
܅ϖύϘͰಇ͔ͳ͍͔ʁ ࠷৽ͷ࠾༻ใΛνΣοΫˠ !QC@SFDSVJU
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ