Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
TechBullLT_気軽にはじめる自宅サーバーを支える技術
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
inamuu
June 07, 2025
710
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
980
ランサーズのSendGrid活用事例
kzm0211
0
1.6k
元ドラッグストア店員の転職LT
kzm0211
0
1.8k
AmazonConnectで作るサーバレス電話確認システム
kzm0211
1
1.3k
さよならBIND
kzm0211
3
320
Featured
See All Featured
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
390
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Practical Orchestrator
shlominoach
191
12k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
400
It's Worth the Effort
3n
188
29k
We Have a Design System, Now What?
morganepeng
55
8.3k
How to build a perfect <img>
jonoalderson
1
6k
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 ࣗݾߠఆײ͕͕͋ΔʢԿ͔ݏͳ͜ͱ ͕͋ͬͯ·͊ࣗʹΫϥελʔ͋ Δ͠ʣ
ࣗαʔόʔͷσϝϦοτ ಛʹ͋Γ·ͤΜʢݸਓͷݟղʣ ిؾ͕ͪΐͬͱ͔͔Δ͘Β͍ ˞աڈɺࢠͲ͕খ͍࣌͞ʹɺޫΔ-&%ʢిݯϘ λϯʣ͕ؾʹͳΓɺԡͯ͠͠ڧ੍γϟοτμϯ ͯ͠͠·͍ɺαΠτ͕ఀࢭ͢Δͱ͍͏Πϯγσϯτ ͕͋ͬͨͷͰ͝Ո͕͍Δ߹ҙ͕ඞཁ😇
ϩʔΧϧ։ൃڥͱҟͳΓɺΠϯλʔωο τʹ໘ͨ͠ڥ͕͋Δ͜ͱͰɺΑΓֶͼͷ෯ ͕͕Δ
ͥͻࣗαʔόʔΛ࡞ͬͯɺ αʔόʔͱࣗͷٕज़Λҭ͍͖ͯͯ·͠ΐ͏ ʢαʔόʔΛຍͷΑ͏ʹҭͯΔͷਤʣ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠