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
670
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
960
ランサーズのSendGrid活用事例
kzm0211
0
1.6k
元ドラッグストア店員の転職LT
kzm0211
0
1.7k
AmazonConnectで作るサーバレス電話確認システム
kzm0211
1
1.2k
さよならBIND
kzm0211
3
310
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Design in an AI World
tapps
1
240
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
Skip the Path - Find Your Career Trail
mkilby
1
150
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
The SEO identity crisis: Don't let AI make you average
varn
0
490
30 Presentation Tips
portentint
PRO
1
320
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
We Are The Robots
honzajavorek
0
250
Producing Creativity
orderedlist
PRO
348
40k
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 ࣗݾߠఆײ͕͕͋ΔʢԿ͔ݏͳ͜ͱ ͕͋ͬͯ·͊ࣗʹΫϥελʔ͋ Δ͠ʣ
ࣗαʔόʔͷσϝϦοτ ಛʹ͋Γ·ͤΜʢݸਓͷݟղʣ ిؾ͕ͪΐͬͱ͔͔Δ͘Β͍ ˞աڈɺࢠͲ͕খ͍࣌͞ʹɺޫΔ-&%ʢిݯϘ λϯʣ͕ؾʹͳΓɺԡͯ͠͠ڧ੍γϟοτμϯ ͯ͠͠·͍ɺαΠτ͕ఀࢭ͢Δͱ͍͏Πϯγσϯτ ͕͋ͬͨͷͰ͝Ո͕͍Δ߹ҙ͕ඞཁ😇
ϩʔΧϧ։ൃڥͱҟͳΓɺΠϯλʔωο τʹ໘ͨ͠ڥ͕͋Δ͜ͱͰɺΑΓֶͼͷ෯ ͕͕Δ
ͥͻࣗαʔόʔΛ࡞ͬͯɺ αʔόʔͱࣗͷٕज़Λҭ͍͖ͯͯ·͠ΐ͏ ʢαʔόʔΛຍͷΑ͏ʹҭͯΔͷਤʣ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠