Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TechBullLT_気軽にはじめる自宅サーバーを支える技術

Avatar for inamuu inamuu
June 07, 2025
230

 TechBullLT_気軽にはじめる自宅サーバーを支える技術

Avatar for inamuu

inamuu

June 07, 2025
Tweet

Transcript

  1. 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” } }
  2. ެ։ʹ޲͚ͨ࠷௿ݶͷ࡞ۀʢNWʣ • άϩʔόϧIPΞυϨεͷݻఆ • ༗ঈ • Ξαώωοτ͸ੲ͸880ԁͩͬͨʢࠓ͸1980ԁͰ஋্ ͛ʣ • ·ͨ͸ɺDDNSͳͲͷ࢓૊Έͷಋೖ

    • ͔ͭͯDynDNSͱ͍͏αʔϏεͰ͸ແঈͰ࢖͕͑ͯͨࠓ͸ ༗ঈ • BuffaloͳͲ΋ઐ༻ͷDDNSαʔϏε͕͋Δ • ແྉͰؤுΔํ๏΋͋Δʢࠓճ͸ͪ͜ΒΛઆ໌͠·͢ʣ
  3. Kubernets Cluster • SingleMaster, Controle Plane x 2 • Metallb

    → IP ΞυϨεͷࣗಈׂΓ౰ͯ • nginx ingress controller → ෳ਺HostʢυϝΠϯʣͷ؅ཧ • cert manager → ূ໌ॻ؅ཧ • cronjob → AWS ECR ΁ΞΫηε͢ΔͨΊͷSessionTokenͷऔಘɺάϩʔόϧIPͷߋ৽ΛRoute53΁
  4. 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\"}] } }] }"