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
開発環境でのDocker活用事例と本番運用に向けて考えたこと
Search
sutetotanuki
July 03, 2017
5
5.3k
開発環境でのDocker活用事例と本番運用に向けて考えたこと
Developers.IO 2017 発表資料
sutetotanuki
July 03, 2017
Tweet
Share
More Decks by sutetotanuki
See All by sutetotanuki
Vercel AI SDK を使って Next.js で AIアプリケーションを 作成する方法のご紹介
sutetotanuki
0
280
WEBエンジニア向けAI活用入門
sutetotanuki
0
420
ブラウザ上で実行され、 AIアシスタント付きデータベース postgres.new を触ってみた
sutetotanuki
0
180
今時のCookie事情
sutetotanuki
0
410
高速案件立ち上げで使われるマッハテンプレートのフロントエンド技術選定
sutetotanuki
2
1.3k
Core Web Vitals を改善する Next.js の機能群
sutetotanuki
1
1.9k
サーバーレスRDBの選択肢
sutetotanuki
0
1.2k
今日から始めるAmplify DataStore
sutetotanuki
0
1.2k
Kotlin Coroutine 基本的な使い方
sutetotanuki
0
680
Featured
See All Featured
RailsConf 2023
tenderlove
29
940
Site-Speed That Sticks
csswizardry
2
190
Designing for Performance
lara
604
68k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Visualization
eitanlees
146
15k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Agile that works and the tools we love
rasmusluckow
328
21k
Transcript
։ൃڥͰͷ%PDLFS׆༻ࣄྫͱ ຊ൪ӡ༻ʹ͚ͯߟ͑ͨ͜ͱ
"HFOEB w"CPVUNF w࠷ॳʹ w%PDLFSͱʁ w։ൃڥͰͷ%PDLFSͷ׆༻ࣄྫ wຊ൪ڥͷ"84্Ͱ%PDLFSΛಋೖ͢ΔͨΊʹݕ౼ͨ͜͠ͱ w·ͱΊ
"CPVUNF
"CPVUNF /JTIJEB.BTBZVLJ ॴଐϞόΠϧΞϓϦαʔϏε෦ େࡕ ׂαʔόʔαΠυΤϯδχΞ εΩϧ3VCZ/PEF(P *OUFSFTUTฒߦॲཧ ωοτϫʔΫ
γεςϜϓϩάϥϜ 4/4!TVUFUPUBOVLJ
"CPVUNF ݩͷษڧձͱ͔Ͱൃදͯ͠·͢
࠷ॳʹ
%PDLFSར༻ঢ়گ ϞόΠϧΞϓϦαʔϏε෦Ͱͷ%PDLFSར༻ঢ়گ ΄΅શͯͷνʔϜͰ։ൃڥͷϛυϧΣΞͷߏஙɺ ΞϓϦέʔγϣϯͷϞοΫαʔόʔʹར༻͞Ε͓ͯΓɺ ։ൃޮΛ্͍ͯ͠Δ ϓϩδΣΫτʹΑͬͯஈ֊తʹϓϩμΫγϣϯڥͷ ಋೖ͕ਐΜͰ͍ΔɻݱࡏϦϦʔε͞Εӡ༻͞Ε͍ͯΔͷ (P &$4Ͱߏ͞Ε͍ͯΔ
%PDLFSͱʁ
7.ͱ$POUBJOFS 7JSUVBM.BDIJOF 04ͷػೳΛΤϛϡϨʔγϣϯ͠ԾڥΛ࣮ݱ͍ͯ͠Δ $POUBJOFS -9$ -JOVY$POUBJOFS ͱ͍͏-JOVYΧʔωϧͷػೳΛͬͯ ϓϩηεͷϦιʔεΛִ͠ԾڥΛ࣮ݱ͍ͯ͠Δ
ϋʔυΣΞ ϗετ04 ϋΠύʔόΠβʔ ήετ04 ήετ04 ήετ04 ϥΠϒϥϦ " ϥΠϒϥϦ #
ϥΠϒϥϦ # ΞϓϦ " ΞϓϦ # ΞϓϦ # ϋʔυΣΞ ϗετ04 ίϯςφΤϯδϯ ϥΠϒϥϦ " ϥΠϒϥϦ # ΞϓϦ " ΞϓϦ # ΞϓϦ # 7.ͱ$POUBJOFS w%PDLFSʢσʔϞϯʣ͕ϗετ04ͷ,FSOFMͱΓͱΓ w$POUBJOFSͷத࠷খݶʢγΣϧͱ͔ϓϩηεͷىಈʹඞཁͳͷͱ͔ʣ VM Container
։ൃڥͰͷ%PDLFSͷ׆༻ࣄྫ
ղܾ͍ͨ͠՝
։ൃڥʹ͋Γ͕ͪͳ՝ खॱॻ௨Γߏஙͯ͠ಈ͔ͳ͍ ௐࠪʹ͕͔͔࣌ؒΔ ຊ൪ʹσϓϩΠ͢ΔͱΤϥʔ͕ग़ΔΑ͏ͳͬͨ ϛυϧΣΞͷόʔδϣϯ͕ຊ൪ڥͱҧ͏ͱى͜Δ σϓϩΠ͢Δ·Ͱؾ͚ͮͳ͍ Ҋ݅ຖʹϛυϧΣΞͷόʔδϣϯ͕ҧ͏ ෳόʔδϣϯͷϛυϧΣΞΛ։ൃڥʹΠϯετʔϧ͢Δ ඞཁ͕͋Γཧෆೳʹ
͜Ε·Ͱʜ ͜ͷΑ͏ͳ՝ʹରͯ͠ɺ͜Ε·Ͱ 7BHSBOU $IFG"OTJCMFͳͲͷϓϩϏδϣχϯάπʔϧͰ ΠϯϑϥͷߏใΛίʔυԽ͠࠶ݱՄೳʹ͍ͯͨ͠ ࣍ͷΑ͏ͳ͕ 7.ͷىಈ͕͍ 7.ϚγϯͷϦιʔεΛଟ͘ফඅ͢Δ ϓϩϏδϣχϯάπʔϧͷֶशίετ͕ߴ͍
։ൃڥͰ%PDLFSͷ͏͜ͱͷϝϦοτ ϚγϯͷϦιʔεফඅ͕গͳ͍ ෳίϯςφΛཱͯΕΔͷͰɺΫϥελΈ͍͢ ࠶࡞͕༰қ ࢼ͠ͳ͕Β࡞Γ͍͢ ϙʔλϏϦςΟ͕ߴ͍ ୭ͷϚγϯͰಉ͡ڥΛ࡞Δ͜ͱ͕Ͱ͖Δ ΤίγεςϜΛར༻Ͱ͖Δ ੈքதͷਓ͕࡞ͬͨ%PDLFSΠϝʔδΛ͑Δ
Dockerͷ׆༻ྫ
հ͢Δྫ %PDLFS)VCͷΠϝʔδΛ͏ ࣗͰ%PDLFSpMFΛ࡞ͯ͢͠Δ ΠϝʔδΛΈ߹Θͤͯ͏ ΞϓϦέʔγϣϯͷ։ൃڥ%PDLFSʹ͢Δ
1. Docker HubͷΠϝʔδΛ͏
%PDLFS)VCͷΠϝʔδΛ͏ ༻్ σʔλϕʔεͳͲͷϛυϧΣΞ֤छπʔϧͳͲΛɺϩʔ ΧϧڥΛมߋͨ͠Γґଘͨ͠Γ͢Δ͜ͱͳ͘ར༻͍ͨ͠ ྫʣ.Z42-ͷͱΛڞଘ͍ͤͨ͞ ํ๏ %PDLFS)VCʹެ։͞Ε͍ͯΔΠϝʔδΛ%-ͯ͠ىಈ͢Δ
%PDLFS)VCͷΠϝʔδΛ͏ run
%PDLFS)VC ࢀߟ%PDLFS)VC %PDLFS͕ࣾఏڙ͍ͯ͠Δ %PDLFSΠϝʔδͷ ϨδετϦαʔϏε ଞʹɺ2VBZJPɺ&$3ͳͲ P⒏DJBMQVCMJD
%PDLFS)VC P⒏DJBMͱQVCMJD P⒏DJBM%PDLFS͕ࣾ࡞ɾཧɾఏڙ͢ΔΠϝʔδ QVCMJDୈࡾऀ͕࡞ɾཧɾఏڙ͢ΔΠϝʔδ தʹEBUBEPHEPDLFSEEBHFOUͷΑ͏ʹ0SHBOJ[BUJPO͕ QVCMJDͱͯ͠ΠϝʔδΛఏڙ͢Δ߹͋Δɻ ηΩϡϦςΟϗʔϧͱ͔੬ऑੑ͕͋Δ߹͋ΔͷͰɺ%PDLFSpMF ͷ༰Α֬͘ೝ͠·͠ΐ͏ɻ
2. ࣗͰDockerfileΛ࡞ͯ͢͠Δ
ࣗͰ%PDLFSpMFΛ࡞ͯ͢͠Δ ༻్ ϞοΫαʔόࣗ࡞πʔϧͳͲΛ͍ͨ͠ ํ๏ ࣗͰ%PDLFSpMFΛ࡞ͯ͢͠Δ
ࣗͰ%PDLFSpMFΛ࡞ͯ͢͠Δ ϞοΫαʔόͷΞϓϦέʔγϣϯ ͱ%PDLFSpMFΛ࡞ HJUϦϙδτϦʹՃͯ͠ app.rb Dockerfile
ࣗͰ%PDLFSpMFΛ࡞ͯ͢͠Δ ֤͕ࣗ%PDLFSpMFΛCVJME͠ ͯΠϝʔδΛ࡞͢Δɻ ϕʔεΠϝʔδ%PDLFS )VC͔Βऔಘ͢Δɻ ϩʔΧϧͷσΟϨΫτϦΛ 7PMVNFͱͯ͠ίϯςφʹ Ϛϯτ͢ΕɺϨεϙϯ εσʔλͷॻ͖͕͑Մೳɻ
3. ΠϝʔδΛΈ߹Θͤͯ͏
ΠϝʔδΛΈ߹Θͤͯ͏ ༻్ ෳͷίϯςφΛ·ͱΊͯཧ͍ͨ͠ ෳͷίϯςφΛಉҰωοτϫʔΫ্Ͱ࿈ܞ͍ͨ͠ ํ๏ EPDLFSDPNQPTFΛͬͯɺͦͷதͰEFQFOET@POΛ͍ɺ ෳͷίϯςφΛ࿈ܞͤ͞Δ
ΠϝʔδΛΈ߹Θͤͯ͏ ෳͷίϯςφͷىಈઃఆΛ ·ͱΊͯఆٛ͢Δɻ ىಈEPDLFSDPNQPTFVQE docker-compose.yaml depends_on
4. ΞϓϦέʔγϣϯͷ։ൃڥDockerʹ͢Δ
ΞϓϦέʔγϣϯͷ։ൃڥ%PDLFSʹ͢Δ ༻్ ΞϓϦέʔγϣϯͷ։ൃʹඞཁͳϩʔΧϧڥͷґଘΛͳ͘ ͍ͨ͠ εςʔδϯάڥຊ൪ڥͱಉ͡ڥͰ։ൃ͍ͨ͠ ํ๏ ΞϓϦέʔγϣϯͷ։ൃڥʢ࣮ߦڥʣͱͳΔ%PDLFSΠ ϝʔδΛ࡞Δ
ΞϓϦέʔγϣϯͷ։ൃڥ%PDLFSʹ͢Δ ৄࡉͪ͜Β %PDLFSͰ3BJMTͷ։ൃڥΛߏங͢Δ IUUQEFWDMBTTNFUIPEKQTFSWFSTJEFSVCZPOSBJMTPOEPDLFS ͬͯΈͨײ ϗετڥͷґଘશ͘ͳ͘ͳΔ ϞόΠϧͷ։ൃऀ͕ϞοΫαʔόʔͱཱ͓͖͍ͯͯͯͨ͠߹ͳͲʹ༗ޮ ຊ൪ڥ%PDLFSΛ͏ͷͳΒɺ։ൃڥ%PDLFSʹ͓ͯ͘͠ϝϦοτ͋
Δ ͔͠͠։ൃऀʹ%PDLFSͷ͕ࣝٻΊΒΕΔ
ຊ൪ڥͷ"84্Ͱ%PDLFSΛಋೖ͢ΔͨΊʹݕ౼ͨ͜͠ͱ
ղܾ͍ͨ͠՝
ຊ൪ڥʹ͋Γ͕ͪͳ՝ ຊ൪ڥͷߏஙʢࣗಈԽؚΉʣʹि͔͔ؒΔ ΠϯϑϥΤϯδχΞͱΞϓϦΤϯδχΞͷ୲͕ᐆດ ϏϧυىಈΛૣ͍ͨ͘͠ σϓϩΠΛ҆ఆ͍ͤͨ͞
ຊ൪ڥͰ%PDLFSΛ͏͜ͱͷϝϦοτ αʔόͷઃఆ%PDLFSpMFʹू͞ΕΔ ׂ͕໌֬ ΞϓϦΤϯδχΞ%PDLFSpMFΛ࡞Δ ΠϯϑϥΤϯδχΞ%PDLFSΛӡ༻Ͱ͖ΔΑ͏ʹ͢Δ ϏϧυσϓϩΠ͕͍ ҆৺ͯ͠σϓϩΠͰ͖Δ
։ൃڥͱͷҧ͍ ຊ൪ڥͰ%PDLFSΛ͏߹ɺΫϥελίϯςφͷ ཧʢΦʔέετϨʔγϣϯʣ͕ඞཁʹͳΔɻ ։ൃڥҎ্ʹߟ͑Δ͜ͱ͕ͨ͘͞Μ͋Δ ΫϥελʔͷཧͲ͏͢Δʁ σϓϩΠઓུͲ͏͢Δʁ ϞχλϦϯάͲ͏͢Δʁ ϩΪϯάͲ͏͢Δʁ
Ϋϥελͷཧ "84্Ͱ%PDLFSΫϥελΛར༻͢Δ߹ɺҎԼͷબ ࢶ͕͋Δ %PDLFS4XBSNΛར༻͢Δ LVCFSOFUFTΛར༻͢Δ &$4Λར༻͢Δ
Ϋϥελͷཧ %PDLFS4XBSNΛ༻͢Δ߹ ओཁͳํ๏ "84GPS%PDLFSʢ%PDLFS4XBSN "84ͷ֤छαʔϏεͷΈ߹Θͤʣ %PDLFS$MPVEɺ3BODIFSͳͲͷ1BB4αʔϏεΛར༻͢Δ 1SPT ΦʔόϨΠωοτϫʔΫͳͲͷ࠷৽ػೳΛ͑Δ $POT
%PDLFS4XBSNͷߏஙཧࣗͰߦ͏ඞཁ͕͋Δ
Ϋϥελͷཧ LVCFSOFUFTΛར༻͢Δ߹ ओཁͳํ๏ LVCFBXTʢ&$ͰLVCFSOFUFTΛߏங͢Δ$MPVE'PSNBUJPO5FNQMBUFʣ 1SPT ੈͷதͷར༻࣮͕๛ʢ(,&Ͱར༻͞Ε͍ͯΔʣ $POT LVCFSOFUFTͷߏஙཧࣗͰߦ͏ඞཁ͕͋Δ
Ϋϥελͷཧ &$4Λར༻͢Δ߹ ओཁͳํ๏ &$4 1SPT "84ͱͷੑ͕ߴ͍ʢ*".ʹΑΔݖݶཧɺ"-#ʹΑΔ%ZOBNJD1PSUɺͳͲʣ ϚωʔδϝϯταʔϏε $POT ػೳͦ͜·Ͱ๛Ͱͳ͍
ECSͷӡ༻ઃܭ
&$4ͷӡ༻ઃܭ Ϋϥελͷઃܭ σϓϩΠ ϩΪϯά ϞχλϦϯά ׆༻ࣄྫ
1. Ϋϥελͷઃܭ
Ϋϥελͷઃܭ &$4ΫϥελͷઃܭϙΠϯτ Ϧϛοτ εέʔϦϯάͱΠϯελϯελΠϓ ίϯςφͷஔઓུʢ5BTL1MBDFNFOU1PMJDZʣ
Ϋϥελͷઃܭ $16Ϣχοτ ༧͢Δ$16ׂΓͯͷ࠷গ $16͕ΘΕΔ·Ͱҙຯ͕ͳ͍ɻ͍ΓίϯςφؒͰ ڝ߹͢Δ߹ͷׂΓͯΒΕΔൺ Λࢦఆ͢ΔͱͰׂΓͯΒΕΔ ࢦఆ͠ͳͯ͘ྑ͍ ίΞʹ͖ͭ
Ϋϥελ্Ͱ༻Ͱ͖Δ$16ϢχοτΛ͑ͯίϯςφΛىಈ͠Α͏ ͱ͢Δͱࣦഊ͢Δ
Ϋϥελͷઃܭ ϋʔυϝϞϦ੍ݶ NFNPSZ ࢦఆ͢Δ͜ͱ͕ඞਢ ࢦఆ͞Εͨ͘͠Ϋϥελͷͯ͢ͷϝϞϦΛ͑ͯ֬อ͠Α͏ͱ͢Δͱίϯς͕ڧ੍ऴ ྃ͞ΕΔ શͯͷίϯςφͷ߹ܭ͕ΫϥελͷϝϞϦΛ͑ͯྑ͍ ιϑτϝϞϦ੍ݶ
SFTFSWFENFNPSZ ࢦఆ͠ͳͯ͘ྑ͍ ϝϞϦͷ༧ ϋʔυϝϞϦ੍ݶ·Ͱόʔετ͕Մೳ ΫϥελͷϝϞϦΛ͑ͯίϯςφΛىಈͰ͖ͳ͍
Ϋϥελͷઃܭ εέʔϦϯάͱΠϯελϯελΠϓ Ϋϥελͷ"VUP4DBMJOH(SPVQʹઃఆͰ͖ΔΠϯελϯελΠϓ̍ͭ ͦͷଞʹɺҙͷΠϯελϯεΛΫϥελʹՃ͢Δ͜ͱͰ͖Δ ΞϓϦέʔγϣϯͷಛੑ ΞϓϦέʔγϣϯʹಛੑʢ$16ফඅܕɺϝϞϦফඅܕʣ͕͋Δ ͋ΔಛੑͷΞϓϦέʔγϣϯ͕૿͑ΔͱΫϥελͷϦιʔεόϥϯε่͕ΕΔ Ͳ͏͢Δʁ ΞϓϦέʔγϣϯͷಛੑ͝ͱʹΫϥελΛׂ͢Δ
खಈͰඞཁͳΠϯελϯελΠϓͷΠϯελϯεΛΫϥελʹՃ͢Δ
Ϋϥελͷઃܭ ίϯςφͷஔઓུʢ5BTL1MBDFNFOU1PMJDZʣ ίϯςφΛஔ͢ΔΠϯελϯεͷ݅Λઃఆ͢Δ ྫʣ ಛఆͷΠϯελϯελΠϓͷΠϯελϯεʹஔ͢Δ શͯͷΠϯελϯεʹۉʹஔ͢Δ .VMUJ";ʹஔ͢Δ ͳͲ
2. σϓϩΠ
σϓϩΠ &$4ͷσϓϩΠʹ͍ͭͯߟ͑Δ͜ͱ σϓϩΠϑϩʔ σϓϩΠઓུ
σϓϩΠϑϩʔ ࢀߟϦϑΝϨϯεΞʔΩςΫνϟ https://aws.amazon.com/jp/blogs/news/continuous-deployment-to-amazon-ecs-using-aws-codepipeline-aws-codebuild-amazon-ecr-and-aws-cloudformation/
σϓϩΠઓུ σϓϩΠ࣌ͷڍಈΛઃఆ͢Δύϥϝʔλ EFTJSFE$PVOU αʔϏεʹରͯ͠ىಈ͓͖͍ͯͨ͠ίϯςφͷ NBYJNVN1FSDFOU EFTJSFE$PVOUʹରͯ͠Կ·ͰίϯςφΛىಈͤ͞Δ͔ ʹઃఆ͢ΕɺEFTJSFE$PVOU ͳΒ
·ͰىಈͰ͖Δ NJOJNVN)FBMUIZ1FSDFOU EFTJSFE$PVOUʹରͯ͠Կ·ͰίϯςφΛఀࢭͤ͞Δ͔ ʹઃఆ͢ΕɺEFTJSFE$PVOU ̎ͳΒ ·ͰॖୀͰ͖Δ
σϓϩΠઓུ ϩʔϦϯάΞοϓσʔτ EFTJSFE$PVOUΛ NBYJNVN1FSDFOUΛ σϓϩΠ࣌ʹ৽͍͠ίϯςφΛ ༨ʹىಈ্ཱ͕͔ͯͪͬͯ͠ Βݹ͍ίϯςφΛετοϓ͍ͯ͠ ͚μϯλΠϜͰσϓϩΠͰ͖ Δ
V1 V1 V1 V1 V2 V2 V2 V2
3. ϩΪϯά
ϩΪϯά ΫϥελΠϯελϯεʢFDTBHFOUʣͷϩά $MPVE8BUDI-PHTʹग़ྗ͢Δ ඪ४Ͱग़ྗ͞Εͳ͍͕ઃఆͰग़ྗͰ͖·͢ ίϯςφͷϩά ΞϓϦέʔγϣϯϩάඪ४ग़ྗʹग़ྗ͢Δ ϩΪϯάυϥΠόʔʹΑΓҙͷϩάαʔϏεʹग़ྗ͢Δ
ϩΪϯά ྫʣBXTMPHTMPHHJOHESJWFS ྫʣqVFOUEMPHHJOHESJWFS ECS Cluster APP Container CloudWatchLogs awslogs
STDOUTʹग़ྗ͞Εͨ༰ ECS Cluster APP Container flunetd Fluentd Container APP Container flunetd S3 Logentries STDOUTʹग़ྗ͞Εͨ༰
4. ϞχλϦϯά
ϞχλϦϯά ϞχλϦϯάͷ؍ΦϯϓϨͰ&$Ͱ&$4Ͱಉ͡ɻ ΞϓϦέʔγϣϯ ϩάࢹ ύϑΥʔϚϯεࢹ ίϯςφ Ϧιʔεࢹ Ϋϥελ Ϧιʔεࢹ
Container Application Cluster Container Application Container Application ClusterͷϦιʔεࢹ͕ՃΘΔ
ϞχλϦϯά ΫϥελͷϦιʔεࢹ Ϧιʔεࢹʢ$16ɾϝϞϦʣ σΟεΫࢹ ϩάΛϩʔΧϧʹग़ྗ͍ͯ͠ͳͯ͘ɺϩάग़ྗઌͷোͳͲͰϩ άυϥΠό͕ϩʔΧϧʹ5FNQϑΝΠϧΛ࡞Γଓ͚ɺ%JTL'VMMʹͳ Δ͜ͱ͕͋ΔɻʢίϯςφʹݶΒͣͷ͋Δ͋Δʣ
ϞχλϦϯά ࢀߟ&$4ͷϑΝΠϧγεςϜ 0QUJNJ[FE".*ͷ߹ɺϗετ༻ ͷͱίϯςφ༻ͷ͕ઃఆ ͞ΕΔɻ ίϯςφ༻ͷɺ-7.γϯϓ ϩϏδϣχϯά͕ΘΕ͍ͯΔɻ ͷσΟεΫ͕'VMMʹͳΔͱɺશ ͯͷίϯςφॻ͖ࠐΈෆՄʹͳ
Δɻ Container LVM 10GB EBS 20GB Container Container LVM 10GB LVM 10GB ࣮ࡍͷϘϦϡʔϜαΠζΑΓଟ͘ͷ ϘϦϡʔϜαΠζ͕ઃఆ͞ΕΔ
̑. ຊ൪Ͱͷ׆༻ࣄྫ
ຊ൪Ͱͷ׆༻ࣄྫ ֎෦γεςϜͱͷ࿈ܞ෦ʹ༻ ECR (Go) Task Definition (Command: fetch) Task
Definition (Command: api) ECS Cluster Service (api) Run Task (fetch) ಛఆͷ࣌ؒʹىಈ͠ ॲཧ͕ऴΘΕফ໓ ॲཧྃ ผ෦γεςϜ FTPͰϑΝΠϧΛऔಘ
׆༻ࣄྫ ಋೖͨ͠ײ Ҏલ-BNCEBͰ͜ͷΑ͏ͳॲཧΛ͍ͯͨ͠ ͱͯศརͳ-BNCEB͕ͩɺ࣮ߦ࣌ؒʹ੍ݶ͕͋ΔͨΊ͔͔࣌ؒΔ Α͏ͳॲཧ͕͔ͬͨ͠ &$43VO5BTLඞཁͳ͚ͩىಈͰ͖ΔͨΊ࣌ؒͷॲཧ͕Մೳ σϓϩΠ͕؆୯ʹͳΓɺຊ൪Ͱ͔͠ى͖ͳ͍Α͏ͳ͜ͱ͕ى͖ʹ͘͘ ͳͬͨ ࠓޙঃʑʹ૿ͯ͠ߦ͘༧ఆ
·ͱΊ
$PODMVTJPO w։ൃڥͰͷ%PDLFSར༻ɺࠓ͙͢ҰਓͰͰ͖Δɻ·ͣ %PDLFS)VCʹެ։͞Ε͍ͯΔΠϝʔδΛͬͯΈΔͱ͜ Ζ͔Β࢝ΊΔͱ͍͍ wຊ൪ڥͰͷ%PDLFSར༻ɺબࢶ͕ଟ͘ɺඞཁͱͳΔ ࣝଟ͍ɻ·ͣతΛ໌֬ʹͯ͠ɺ୯७ͳγεςϜ͔Βಋ ೖΛݕ౼͢Δͱ͍͍ w%PDLFSʹؔ͢ΔΤίγεςϜͷ͕Γ͍͢͝ɻ͜Ε͔Β ίϯςφΛ͏͜ͱ͕ελϯμʔυʹͳ͍͖ͬͯͦ͏ɻ
None
None