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
TechBullLT_気軽にはじめる自宅サーバーを支える技術
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
inamuu
June 07, 2025
680
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TechBullLT_気軽にはじめる自宅サーバーを支える技術
inamuu
June 07, 2025
More Decks by inamuu
See All by inamuu
メインサービスのDBを1年でAurora1から段階的にAurora3へアップグレードした話
kzm0211
1
250
エンジニアの副業のすゝめ / engineer-sidejob-20200130
kzm0211
0
970
ランサーズのSendGrid活用事例
kzm0211
0
1.6k
元ドラッグストア店員の転職LT
kzm0211
0
1.8k
AmazonConnectで作るサーバレス電話確認システム
kzm0211
1
1.2k
さよならBIND
kzm0211
3
310
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
490
How to Talk to Developers About Accessibility
jct
2
420
4 Signs Your Business is Dying
shpigford
187
22k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
BBQ
matthewcrist
89
10k
HDC tutorial
michielstock
2
750
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
380
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
320
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
410
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
350
Transcript
2025/06/04ʢਫʣTechBull LT&ަྲྀձ ʲྩ࠷৽൛ʳ ؾܰʹ͡ΊΔࣗαʔόʔΛࢧ͑Δٕज़
resource “human” “this” { name = “Kazuma Inamura”ɹ company =
“Medley, Inc.” role = “SRE” hobbies = [ “ride a motor bike”, “camping”, “playng the guitar” ] tags = { sns_x = “kzm0211” github = “inamuu” } }
ࠓࣗαʔόʔʹؔ͢ΔΛ͠·͢
ࠓͷΰʔϧ 👉ࣗαʔόʔະܦݧͷਓʹɺࣗαʔόʔʹڵຯ ΛͬͯΒ͏͜ͱ 👉طʹ͍ͬͯΔਓʹ͍ͬͯΔٕज़ͷڞ༗
ࣗαʔόʔมભ 2010ࠒɿϊʔτPCͰLAMP →ɹΠϯϑϥΤϯδχΞΛࢦͨ͢Ίʹ 2012ࠒɿλϫʔܕαʔόʔͰKVMɹ→ɹKVMΛཧղ͢ΔͨΊʹ 2016ࠒɿλϫʔܕαʔόʔͰγϯϓϧͳLinuxڥɹ→ɹIaCΛษڧ͢ΔͨΊʹ 2018ࠒɿλϫʔܕαʔόʔͰHyper−Vɹ→ɹ͜ͷลΓ͔Βͪΐͬͱ͕ྫྷΊΔʢAWS͕ϝΠϯʣ 2020ࠒɿ͘͞ΒͷVPS→Conohaɹ→ɹলྗԽ͢ΔͨΊʹVPS 2025ࠓɿϛχPCͰࣗαʔόʔΛӡ༻
20256݄ݱࡏͷࣗαʔόʔߏ ASRock X300ϕΞϘʔϯΩοτ Router(10Gps), WiFi AccessPoint NAS x 2ʢ8TB, 2TBʣ
ެ։ʹ͚ͨ࠷ݶͷ࡞ۀʢNWʣ • άϩʔόϧIPΞυϨεͷݻఆ • ༗ঈ • Ξαώωοτੲ880ԁͩͬͨʢࠓ1980ԁͰ্ ͛ʣ • ·ͨɺDDNSͳͲͷΈͷಋೖ
• ͔ͭͯDynDNSͱ͍͏αʔϏεͰແঈͰ͕͑ͯͨࠓ ༗ঈ • BuffaloͳͲઐ༻ͷDDNSαʔϏε͕͋Δ • ແྉͰؤுΔํ๏͋Δʢࠓճͪ͜ΒΛઆ໌͠·͢ʣ
ެ։ʹ͚ͨ࠷ݶͷ࡞ۀʢNWʣ • ϧʔλʔʹΑΔ੩తIPϚεΧϨʔυ • ଟ͘ͷίϯγϡʔϚʔػͰઃఆՄೳ • ը໘ͰϓϥΠϕʔτIPͱϙʔτΛඥ͚ͭΔ͚ͩ
ެ։ʹ͚ͨ࠷ݶͷ࡞ۀʢυϝΠϯʣ • υϝΠϯΛͲ͔͜Ͱऔಘ • DNSAPI͕͑Δͱ͜Ζ͕͍͍ʢGUI ͚ͩͩͱ৭ʑΓͮΒ͍, ޙड़ʣ • Amazon Route53
ஈ͕҆Ձͩ ͠ɺIaCͰ͖ΔͷͰΦεεϝ
ASRock X300 ࣗαʔόʔߏ
VMཧ • VMཧCockpitͱ͍͏OSSʢLGPLϥΠηϯεʣ • VNCίϯιʔϧ͋Δɺ͋ͱͰεϖοΫετϨʔδΛม͑Δͷ؆୯ • ը໘ϙνϙνͰOK
Kubernets Cluster • SingleMaster, Controle Plane x 2 • Metallb
→ IP ΞυϨεͷࣗಈׂΓͯ • nginx ingress controller → ෳHostʢυϝΠϯʣͷཧ • cert manager → ূ໌ॻཧ • cronjob → AWS ECR ΞΫηε͢ΔͨΊͷSessionTokenͷऔಘɺάϩʔόϧIPͷߋ৽ΛRoute53
Deploy 1. هࣄϑΝΠϧͷ࡞ 2. GitHubPush 3. GitHub ActionsͰbuildͯ͠ECRPush 4. Deployʢࠓͷͱ͜ΖखಈͰkubectlΛ࣮ߦ
→ FluxCDΛ ݕ౼தʣ
IPΞυϨεͷߋ৽ 1. ConfigMapʹ ShellScriptΛه ड़ 2. CronJobͰRoute53 ͷϨίʔυΛఆظత ʹߋ৽ #!/bin/bash
set -euo pipefail IP=$(curl -s https://checkip.amazonaws.com) aws route53 change-resource-record-sets --hosted- zone-id "XXXXXXX" --change-batch "{ \"Comment\": \"Auto update DDNS\", \"Changes\": [{ \"Action\": \"UPSERT\", \"ResourceRecordSet\": { \"Name\": \"inamuu.com.\", \"Type\": \"A\", \"TTL\": 300, \"ResourceRecords\": [{\"Value\": \"$IP\"}] } }] }"
ࣗαʔόʔͷϝϦοτ w ҆Ձʢ࠷ۙͩͱߴੑೳͳϛχ1$͕ࢁചͬͯΔ ͷͰಋೖ͍͢͠ʣ w "843PVUFͱ&$3͚ͩͳΒ݄ʑඦԁఔ ʢࠓͷͱ͜Ζԁ͘Β͍ʣ w ࣗͷ͖ͳڥγεςϜ͕࡞ΕΔʢ(16ͭ ΑͭΑʹͯ͠--.Ϛγϯʹͯ͠ྑ͠ɺϫʔΫ
ϑϩʔϚγϯʹͯ͠ྑ͠ɺ/"4Ͱେࣄͳσʔλ Λཧͯ͠ྑ͠ʣ
ࣗαʔόʔͷϝϦοτ w ٕज़ͷ্ʹͭͳ͕Γ͍͢ʢյ͠ ͯ୭ʹౖΒΕͳ͍ͷͰτϥΠ͠ ͍͢ʣ w ࣗݾߠఆײ͕͕͋ΔʢԿ͔ݏͳ͜ͱ ͕͋ͬͯ·͊ࣗʹΫϥελʔ͋ Δ͠ʣ
ࣗαʔόʔͷσϝϦοτ ಛʹ͋Γ·ͤΜʢݸਓͷݟղʣ ిؾ͕ͪΐͬͱ͔͔Δ͘Β͍ ˞աڈɺࢠͲ͕খ͍࣌͞ʹɺޫΔ-&%ʢిݯϘ λϯʣ͕ؾʹͳΓɺԡͯ͠͠ڧ੍γϟοτμϯ ͯ͠͠·͍ɺαΠτ͕ఀࢭ͢Δͱ͍͏Πϯγσϯτ ͕͋ͬͨͷͰ͝Ո͕͍Δ߹ҙ͕ඞཁ😇
ϩʔΧϧ։ൃڥͱҟͳΓɺΠϯλʔωο τʹ໘ͨ͠ڥ͕͋Δ͜ͱͰɺΑΓֶͼͷ෯ ͕͕Δ
ͥͻࣗαʔόʔΛ࡞ͬͯɺ αʔόʔͱࣗͷٕज़Λҭ͍͖ͯͯ·͠ΐ͏ ʢαʔόʔΛຍͷΑ͏ʹҭͯΔͷਤʣ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠