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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
matsuihidetoshi
May 18, 2023
Technology
1k
0
Share
既存システムのコンテナ化で得られた知見と、 全然関係ないけど自炊を支える技術
AWS EC2を中心とした構成で稼働しているシステムをコンテナ化してAWS ECSに載せ替える移行プロジェクトで得られた知見と、ただ喋りたいだけですが自炊のレシピとか工夫のお話です。
matsuihidetoshi
May 18, 2023
More Decks by matsuihidetoshi
See All by matsuihidetoshi
SA Night #3 Survival with Gen AI
matsuihidetoshi
0
19
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
530
web-application-security
matsuihidetoshi
1
350
JAWS DAYS 2024 C-9
matsuihidetoshi
0
250
クラウドだからできた 地方主導のJAWS DevOps
matsuihidetoshi
2
600
Media JAWS 2023/1
matsuihidetoshi
1
630
Efforts to Organizing & Broadcastiong JAWS-UG's global event "JAWS PANKRATION 2021 -Up till Down-"
matsuihidetoshi
0
240
サーバレスアーキテクチャの考え方
matsuihidetoshi
0
160
コミュニティイベント配信基盤での サーバーレスアーキテクチャ実践
matsuihidetoshi
0
690
Other Decks in Technology
See All in Technology
組織の中で自分を経営する技術
shoota
0
230
Diagnosing performance problems without the guesswork
elenatanasoiu
0
130
権限管理設計を完全に理解した
rsugi
2
240
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
980
NFLコンペ2026 解法
lycorptech_jp
PRO
0
130
Amazon Bedrock 経由の Claude Cowork を試してみよう・MCP にも繋いでみよう
sugimomoto
0
270
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.7k
さきさん文庫の書籍ができるまで
sakiengineer
0
320
AI時代から振り返るTerraform drift運用の歴史 / AI Age Reflections on the History of Terraform Drift Operations
aeonpeople
0
610
APIテストとは?
nagix
0
160
オンコールの負荷軽減のためのBits Assistant 活用方法 / How to Use Bits Assistant to Reduce the Workload on On-Call Staff
sms_tech
1
350
GitHub Copilot CLIでWebアクセシビリティを改善した話
tomokusaba
0
140
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
380
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
240
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
It's Worth the Effort
3n
188
29k
Producing Creativity
orderedlist
PRO
348
40k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
310
Building the Perfect Custom Keyboard
takai
2
780
Transcript
TTNKQদҪӳढ़ طଘγεςϜͷίϯςφԽͰಘΒΕͨݟͱɺ શવؔͳ͍͚ͲࣗਬΛࢧ͑Δٕज़
None
ҠߦϓϩδΣΫτʹ͍ͭͯ Ҡߦલ ͋Δ͖ঢ়ଶ Ϋϥυߏཧ खಈ *B$ σϓϩΠϝϯτ Ұ෦ࣗಈԽ શࣗಈԽ Մ༻ੑ
༨༟Λ࣋ͬͨϓϩϏδϣχϯά ΦʔτεέʔϦϯά োରԠ ਓྗͰଈ࣌ରԠ ࣗಈ෮چ ޙ͔Βରࡦ ՄࢹԽ ݩʑͰ͖͍ͯΔ ܧଓ ࠷େSQT͕ݟࠐ·ΕΔࠂ৴ܭଌγεςϜͷ μϯλΠϜڥҠߦ
ߏΠϝʔδ ˞࣮ࡍͷͷͱҟͳΓ·͢
ΊΜͲ͍͘͞ਤ͕ग़͖ͯͯ ಄͓͔͠ͳΓͦ͏ʜ
͍ํͷ ཛম͖ ࡞Γஔ͖ʹ ࡐྉ ཛ͜ ࠭ Ԙ ে༉ ͩ͠ͷૉ ਫ
ྉཧञ ਫΛ͵Δ·౬͘Β͍ʹ͢Δ ͵Δ·౬ͰௐຯྉࠞͥͪΌ͏ ཛͱௐຯྉΛΑࠞͥ͘Δ Ωονϯϖʔύʔʹ༉ΛછΈࠐ·ͤΔ ཛম͖ϑϥΠύϯͰՐՃݮʹ ؾΛ͚ͭͳ͕Βؤுͬͯম͘ɺר͘ ר͖ͳ͕Βͷ༉Λ͜·Ίʹͻ͘
ίϯςφ͕ಈ͔ͳ͍ ϩʔΧϧͷ։ൃͰಈ͍ͯͯ ຊ൪ʹҠߦ͢ΔͱͳΜ͔ಈ͔ͳ͍
ϩʔΧϧͰ&$4ڥΛ࠶ݱ # ΞϓϦέʔγϣϯ ͷϏϧυ # : ઌʹ app ͷσʔλϕʔεͷࢀরઌϗετΛ 127.0.0.1
͔Β db ʹॻ͖͓͑ͯ͘ docker build -t app -f app/Dockerfile . --no-cache # Nginx ͷϏϧυ # : ઌʹ nginx.conf ͷ proxy_pass ͳͲΛ 127.0.0.1 ͔Β backend ʹॻ͖͓͑ͯ͘ docker build -t nginx -f nginx/Dockerfile . --no-cache # MySQL ͷϏϧυ docker build -t mysql -f mysql/Dockerfile mysql/ --no-cache # docker network ͷ࡞ docker network create local-network # image ͷ id Λऔಘ # ͜͜Ͱग़ͯ͘Δ id ϥϯμϜͳͷͰɺԾʹ nginx fizz, app buzz, mysql fuga ͱ͢Δ docker images # MySQL ίϯςφͷىಈ docker run --name db --network local-network -p 3306:3306 -itd fuga # App ίϯςφͷىಈ # ͜͜Ͱࢦఆ͍ͯ͠Δ backend ͕ɺઌʹ nginx.conf ʹઃఆͨ͠ backend ͱରԠ͍ͯ͠Δ # ઌʹڥมϑΝΠϧ src/.env ϑΝΠϧΛ༻ҙ͓ͯ͘͠ docker run --name backend --env-file src/.env --network local-network -p 3000:3000 -itd buzz # Nginx ίϯςφͷىಈ docker run --name nginx --network local-network -p 80:80 -itd fizz # ಈ࡞֬ೝ curl localhost w &$4σʔλϓϨʔϯ݁ہίϯςφϗετΛ Ϛωʔδυʹ͚ͨͩ͠ͰϩʔΧϧͰಈ͔͢ͷͱ͋·ΓมΘΒͳ͍ w ઃఆͱ͔݁ہ%PDLFS४ڌͷͷ͕ଟ͍ w ίϯςφؒ௨৴ͷϗετ໊͚ͩҙ w ϩʔΧϧͰ%PDLFSωοτϫʔΫΛ࡞Δ w FOWͳͲͷϑΝΠϧʹڥมΛ·ͱΊ͓ͯ͘ w ϙʔτͱ͔ؒҧ͑ͳ͍Α͏ʹ ˒ϙΠϯτ ˠ͜ΕͰେମݪҼ͕ಛఆͰ͖Δ
ίϯςφಈ͔Μͯ͘ ಄͓͔͠ͳΓͦ͏ʜ
νʔζ ര৯͍ w ໘ͰΕΔνʔζΓث w ύϧϛδϟʔϊϨοδϟʔϊ w dHͰԁఔͰ݁ߏߴ͍͚Ͳɺ ී௨ͷคνʔζී௨ʹߴ͍
w ී௨ͷคνʔζͤ͞ΔͨΊ͔ཛനͱ͔ೖͬͯͯ ༹͚ͳ͍ͷͰΧϧϘφʔϥͱ͔࡞Εͳ͍ w ҰݸങͬͯԿճ͔ͰऴΘͬͪΌ͏ͱ͔Ͱͳ͍͔Β Ҋ֎ίεύѱ͘ͳ͍ ˠ20-ര্͛
͋ͳͨͷίϯςφ 4*(5&3.Λਖ਼͘͠ϋϯυϦϯά͠·͔͢ 4*(5&3. ΄ͳɺΩϦͷ͑͑ͱ͜Ͱʜ
ϩʔϦϯάΞοϓσʔτ /&8 0-% ᶃ 0-% ᶄ ᶅ /&8
ࢀߟهࣄ Ҿ༻&$4ͷΞϓϦέʔγϣϯΛਖ਼ৗʹγϟοτμϯ͢Δํ๏ʢެࣜʣ IUUQTBXTBNB[PODPNKQCMPHTOFXTHSBDFGVMTIVUEPXOTXJUIFDT
ࠓճͷߏͰͷݕ౼ࣄ߲ w3BJMTίϯςφQVNBͰରԠࡁΈ w(PίϯςφϥΠϒϥϦະ༻͕࣮ͩͯ͋ͬͨ͠ w'MVFOUEϓϩηεࣗମͳ͍͚Ͳผ͋Γ
GMVTI@BU@TIVUEPXO Ҿ༻IUUQTEPDT fl VFOUEPSHDPO fi HVSBUJPOCV ff FSTFDUJPO ˠϓϩηε(SBDFGVMʹࢭ·Δ͕ όοϑΝέΞ͕ඞཁ
ίϯςφ͏·͘ΞοϓσʔτͰ͖ͳͯ͘ ಄͓͔͠ͳΓͦ͏ʜ
த՚Ͱ༉ઁऔͯ͠ ετϨεΕΔ λΧϥྉཧͷͨΊͷڵञˠ ˒த՚ͩ͠ͱ͜ΕͰ ΊͬͪΌళຯʹ
ࠂ
w ࡢʹଓ͖+"84ϛʔτΛ։࠵͠·͢ w +"84ϛʔτͷʮϛʔτʯʮ.FFUʯͱʮ.FBUʯͷμϒϧɾϛʔχϯάͰษڧձͱ͓ͳͲΛ৯ͳ͕Βަྲྀ͢Δ ͱ͍͏झࢫͱͳΓ·͢ w શࠃͷ"84ϑΝϯࢀՃΠϕϯτͳͷͰ͋·Γͷͳ͍ਓಉ࢜ͷܨ͕ΓΛ࡞͍͚ͬͯͨͩͨΒͱࢥ͍·͢ w ·ͨɺຊΠϕϯτʮษڧձʢ-5ʣʴ࠙ձʢ##2ʣʯΛϫϯύοΫʹͨ͠ΠϕϯτͱͳΓ·͢ w
˞খӍܾߦ ʙ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ