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
Takuma Kume
October 07, 2017
Technology
3
2.4k
ホスティングにおける安定運用のためのアクセスコントロール手法
ペパボ・はてな技術大会〜インフラ技術基盤〜@福岡
「ホスティングにおける安定運用のためのアクセスコントロール手法」
https://pepabo.connpass.com/event/65932/
Takuma Kume
October 07, 2017
Tweet
Share
More Decks by Takuma Kume
See All by Takuma Kume
ロリポップ! for Gamersの立ち上げ/lolipop for gamers launch
takumakume
0
960
ホモグラフドメインを検出してみた/detect homograph domain
takumakume
0
340
ソフトウェアの継続的アップデートをコンテナ化によって加速させる/Accelerate continuous software updates with containerization
takumakume
0
4.4k
KubernetesにおけるSBOMを利用した脆弱性管理/Vulnerability_Management_with_SBOM_in_Kubernetes
takumakume
0
1.6k
ホスティング事業におけるSREの取り組みとSREの面白さ/SRE Efforts in the Hosting Business and the Interest of SRE
takumakume
1
1.4k
GitOpsで実現するPull Request毎のプレビュー環境/Preview environment for each Pull Request by GitOps
takumakume
0
1.3k
Goでkubernetes operatorを実装してアプリのプレビュー環境を作る/go-kubernetes-operator
takumakume
0
140
クラウドネイティブな開発環境への移行/Move to the cloud native development environment
takumakume
1
540
200万ドメインを超えるレンタルサーバのコンテンツキャッシュ機能の裏側/2_million_more_than_the_domain_the_back_of_the_rental_server_content_cache
takumakume
10
2.7k
Other Decks in Technology
See All in Technology
Azure Pipelinesを使用したCICDベースラインアーキテクチャ実践
yuriemori
0
190
Azure OpenAI Service Dev Day / LLMでできる!使える!生成AIエージェント
masahiro_nishimi
3
750
ペパボのオブザーバビリティ研修2024 説明資料
kesompochy
0
1.1k
Git 研修 Basic【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
310
AutomatedLabを使って内部ペンテストを勉強しよう! -やられ社内ネットワークの自動構築-
n_etupirka
1
610
MySQLのロックの種類とその競合
yoku0825
6
1.6k
公共領域から学ぶ クラウド移行についてエンジニアが意識していること
kawakawa2222
0
140
運用改善、不都合な真実 / 20240722-ssmjp-kaizen
opelab
17
8k
楽しくGoを学び合う、LayerXの勉強会文化 / LayerX's study culture of having fun and learning Go together
ar_tama
2
350
シフトレフトで挑む セキュリティの生産性向上
sekido
PRO
0
270
What if...? 처음부터 다시 LLM 어플리케이션을 개발한다면
huffon
0
1k
DDDにおける認可の扱いとKotlinにおける実装パターン / authorization-for-ddd-and-kotlin-implement-pattern
urmot
4
390
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
17
1.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
Facilitating Awesome Meetings
lara
46
5.8k
A better future with KSS
kneath
231
17k
Six Lessons from altMBA
skipperchong
24
3.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
Optimizing for Happiness
mojombo
373
69k
How GitHub (no longer) Works
holman
305
140k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
26
1.6k
The Cult of Friendly URLs
andyhume
75
5.9k
The Brand Is Dead. Long Live the Brand.
mthomps
52
36k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ