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
inamuu
June 07, 2025
740
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TechBullLT_気軽にはじめる自宅サーバーを支える技術
inamuu
June 07, 2025
Transcript
20 slides
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 ࣗݾߠఆײ͕͕͋ΔʢԿ͔ݏͳ͜ͱ ͕͋ͬͯ·͊ࣗʹΫϥελʔ͋ Δ͠ʣ
ࣗαʔόʔͷσϝϦοτ ಛʹ͋Γ·ͤΜʢݸਓͷݟղʣ ిؾ͕ͪΐͬͱ͔͔Δ͘Β͍ ˞աڈɺࢠͲ͕খ͍࣌͞ʹɺޫΔ-&%ʢిݯϘ λϯʣ͕ؾʹͳΓɺԡͯ͠͠ڧ੍γϟοτμϯ ͯ͠͠·͍ɺαΠτ͕ఀࢭ͢Δͱ͍͏Πϯγσϯτ ͕͋ͬͨͷͰ͝Ո͕͍Δ߹ҙ͕ඞཁ😇
ϩʔΧϧ։ൃڥͱҟͳΓɺΠϯλʔωο τʹ໘ͨ͠ڥ͕͋Δ͜ͱͰɺΑΓֶͼͷ෯ ͕͕Δ
ͥͻࣗαʔόʔΛ࡞ͬͯɺ αʔόʔͱࣗͷٕज़Λҭ͍͖ͯͯ·͠ΐ͏ ʢαʔόʔΛຍͷΑ͏ʹҭͯΔͷਤʣ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠
More Decks by inamuu
See All by inamuu
メインサービスのDBを1年でAurora1から段階的にAurora3へアップグレードした話
kzm0211
1
270
エンジニアの副業のすゝめ / engineer-sidejob-20200130
kzm0211
0
1k
ランサーズのSendGrid活用事例
kzm0211
0
1.6k
元ドラッグストア店員の転職LT
kzm0211
0
1.8k
AmazonConnectで作るサーバレス電話確認システム
kzm0211
1
1.3k
さよならBIND
kzm0211
3
320
Featured
See All Featured
The browser strikes back
jonoalderson
0
1.9k
Balancing Empowerment & Direction
lara
6
1.4k
Six Lessons from altMBA
skipperchong
29
4.6k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.2k
How to make the Groovebox
asonas
2
2.6k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
660
We Have a Design System, Now What?
morganepeng
55
8.4k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.2k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
380
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.4k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
610