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

teleka.suを支える技術

11cbdce6fef8ae507d51b96dca4a0ec5?s=47 sksat
June 19, 2021

 teleka.suを支える技術

VRC-LT #9でやったやつ

11cbdce6fef8ae507d51b96dca4a0ec5?s=128

sksat

June 19, 2021
Tweet

Transcript

  1. None
  2. 自己紹介
 自己紹介 ・sksat ・オタク.宇宙・計算機・百合などがすき. ・Twitter:@sksat_tty, GitHub:sksat 
 第1章


  3. 自己紹介
 自己紹介 ・sksat ・オタク.宇宙・計算機・百合などがすき. ・Twitter:@sksat_tty, GitHub:sksat ・VRChatでは 
 第1章


  4. 自己紹介
 自己紹介 ・sksat ・オタク.宇宙・計算機・百合などがすき. ・Twitter:@sksat_tty, GitHub:sksat ・VRChatでは 
 第1章


  5. 自己紹介
 自己紹介 ・sksat ・オタク.宇宙・計算機・百合などがすき. ・Twitter:@sksat_tty, GitHub:sksat ・VRChatでは ・最近は人の形をしている 
 第1章


  6. 事の発端
 第2章
 長いので中略(は?) (時間があったらやります)

  7. 事の発端
 第2章
 長いので中略(は?) (時間があったらやります) 要約: ・色々あって僕がteleka.suを取得 ・lens.teleka.suみたいに曲名のサブドメインを曲の動画に飛ばすようにする

  8. 曲名サブドメイン
 第3章
 ・みんな大好きNginx

  9. 曲名サブドメイン
 第3章
 ・みんな大好きNginx

  10. 曲名サブドメイン
 第3章
 ・みんな大好きNginx ・”ポピ横の狂人”とかをどうするか

  11. 曲名サブドメイン
 第3章
 ・みんな大好きNginx ・”ポピ横の狂人”とかをどうするか ・popiyoko-no-kyoujin.teleka.su?

  12. 曲名サブドメイン
 第3章
 ・みんな大好きNginx ・”ポピ横の狂人”とかをどうするか ・popiyoko-no-kyoujin.teleka.su? ・ちょうどいいやつがいるじゃない

  13. 曲名サブドメイン
 第3章
 IDN: Internationalized Domain Name

  14. 曲名サブドメイン
 第3章
 IDN: Internationalized Domain Name 国際化ドメイン名

  15. 曲名サブドメイン
 第3章
 出典: https://www.nic.ad.jp/ja/dom/idn.html JPNIC ドメイン名/国際化ドメイン名 こっち.みんなとかできる

  16. ・こうなった 曲名サブドメイン
 第3章


  17. ・こうなった ・ダルくね? 曲名サブドメイン
 第3章


  18. ・こうなった ・ダルくね? ・Nginxのコンフィグを生成するシェルスクリプトでも書くか? 曲名サブドメイン
 第3章


  19. ・こうなった ・ダルくね? ・Nginxのコンフィグを生成するシェルスクリプトでも書くか? 曲名サブドメイン
 第3章


  20. ・新曲追加がDNSレコード追加だけでよくなった kuso-subdomain-adder
 第3章


  21. ・新曲追加がDNSレコード追加だけでよくなった ・Cloudflareで管理しているのでCFのダッシュボードからいける kuso-subdomain-adder
 第3章


  22. ・新曲追加がDNSレコード追加だけでよくなった ・Cloudflareで管理しているのでCFのダッシュボードからいける ・この権限はてれかすさんにあるべき kuso-subdomain-adder
 第3章


  23. ・新曲追加がDNSレコード追加だけでよくなった ・Cloudflareで管理しているのでCFのダッシュボードからいける ・この権限はてれかすさんにあるべき→共用アカウントでメンバーを追加 kuso-subdomain-adder
 第3章


  24. ・新曲追加がDNSレコード追加だけでよくなった ・Cloudflareで管理しているのでCFのダッシュボードからいける ・この権限はてれかすさんにあるべき→共用アカウントでメンバーを追加 ・それはそれとしてCNAMEとTXTを追加してもらうのも微妙かも? →専用のサービスを深夜テンションで作る kuso-subdomain-adder
 第3章


  25. ・kuso-subdomain-adder ・A super-easy kuso subdomain utility for telekasu using kuso-domains-redirector

    and Cloudflare API. ・サブドメインとターゲットURLを入れるとCNAMEとTXTをCFのAPI経由で追加 kuso-subdomain-adder
 第3章

  26. ・kuso-subdomain-adder ・A super-easy kuso subdomain utility for telekasu using kuso-domains-redirector

    and Cloudflare API. ・サブドメインとターゲットURLを入れるとCNAMEとTXTをCFのAPI経由で追加 kuso-subdomain-adder
 第3章

  27. ・実装 ・フロントエンド: 素のHTML(APIリクエストはただのフォーム) ・バックエンド: Rust(actix-web) ・WIPだけどcloudflare-rsがあったのでかなり楽だった kuso-subdomain-adder
 第3章


  28. ・デプロイ: $ docker-compose up -d ・GitHub Actionsでmasterのdocker imageをビルド→ghcr.ioにpush ・適宜pull/restartすればいい kuso-subdomain-adder


    第3章

  29. ・認証は? kuso-subdomain-adder
 第3章


  30. ・認証は? ・そんなものはない kuso-subdomain-adder
 第3章


  31. ・認証は? ・そんなものはない ・やったことないしやりたくなさすぎる(そもそもWebっぽいのがはじめて) kuso-subdomain-adder
 第3章


  32. ・認証は? ・そんなものはない ・やったことないしやりたくなさすぎる(そもそもWebっぽいのがはじめて) ・じゃあどうするか kuso-subdomain-adder
 第3章


  33. ・認証は? ・そんなものはない ・やったことないしやりたくなさすぎる(そもそもWebっぽいのがはじめて) ・じゃあどうするか ・Cloudflare Access kuso-subdomain-adder
 第3章


  34. ・Cloudflare Access ・すごい雑にいうと 「insecureオンプレ簡単に認証付けてインターネットに公開し太郎」 kuso-subdomain-adder
 第3章


  35. ・Cloudflare Access ・すごい雑にいうと 「insecureオンプレ簡単に認証付けてインターネットに公開し太郎」 ・リモートワーク増加してるけどVPNとかやってらんないし微妙だよね ・これからはゼロトラストや!を何も考えずにできる kuso-subdomain-adder
 第3章


  36. ・Cloudflare Access ・すごい雑にいうと 「insecureオンプレ簡単に認証付けてインターネットに公開し太郎」 ・リモートワーク増加してるけどVPNとかやってらんないし微妙だよね ・これからはゼロトラストや!を何も考えずにできる $ cloudflared tunnel --hostname

    hoge.teleka.su --url http://internal-service kuso-subdomain-adder
 第3章

  37. ・Cloudflare Access ・すごい雑にいうと 「insecureオンプレ簡単に認証付けてインターネットに公開し太郎」 ・リモートワーク増加してるけどVPNとかやってらんないし微妙だよね ・これからはゼロトラストや!を何も考えずにできる $ cloudflared tunnel --hostname

    hoge.teleka.su --url http://internal-service kuso-subdomain-adder
 第3章

  38. ・せっかくCIでdocker imageビルドしてんのにデプロイは手オペ? 運用
 第4章


  39. ・せっかくCIでdocker imageビルドしてんのにデプロイは手オペ? ・CD(Continuous Delivery)したい~~~ 運用
 第4章


  40. ・せっかくCIでdocker imageビルドしてんのにデプロイは手オペ? ・CD(Continuous Delivery)したい~~~ ・でもそのためにKubernetesクラスタ生やすのもな... 運用
 第4章


  41. ・せっかくCIでdocker imageビルドしてんのにデプロイは手オペ? ・CD(Continuous Delivery)したい~~~ ・でもそのためにKubernetesクラスタ生やすのもな... ・要は更新を監視してpull/restartしてくれればいいんだよ 運用
 第4章


  42. ・せっかくCIでdocker imageビルドしてんのにデプロイは手オペ? ・CD(Continuous Delivery)したい~~~ ・でもそのためにKubernetesクラスタ生やすのもな... ・要は更新を監視してpull/restartしてくれればいいんだよ →つくった 運用
 第4章


  43. ・compose-cd: https://github.com/sksat/compose-cd 運用
 第4章


  44. ・compose-cd: https://github.com/sksat/compose-cd ・systemd-timerで定期実行 ・リポジトリとイメージの更新を確認 ・適宜pull/restart ・各プロジェクトに.compode-cdを置くだけ ・Discordに通知 運用
 第4章


  45. ・compose-cd: https://github.com/sksat/compose-cd ・systemd-timerで定期実行 ・リポジトリとイメージの更新を確認 ・適宜pull/restart ・各プロジェクトに.compode-cdを置くだけ ・Discordに通知 運用
 第4章


  46. ・インシデント集 ・自室のインターネット接続が死亡→tunnelが切れる ・cloudflaredが別の場所で動いていて再起動時に動かし忘れる ・クソデカロックを取れず死亡 運用
 第4章


  47. ・冗長化 運用
 第4章


  48. 以降予備スライド

  49. 事の発端
 第2章
 ・丁度前回のVRC-LTぐらいの頃(2020年12月あたり)

  50. 事の発端
 第2章
 ・丁度前回のVRC-LTぐらいの頃(2020年12月あたり) ・ごく一部のVRChatterの間でクソドメインを取るのが流行る

  51. 事の発端
 第2章
 ・丁度前回のVRC-LTぐらいの頃(2020年12月あたり) ・ごく一部のVRChatterの間でクソドメインを取るのが流行る ・僕が元々怪しいレジストラでゴニョゴニョしてyohane.suを取っていた

  52. 事の発端
 第2章
 ・丁度前回のVRC-LTぐらいの頃(2020年12月あたり) ・ごく一部のVRChatterの間でクソドメインを取るのが流行る ・僕が元々怪しいレジストラでゴニョゴニョしてyohane.suを取っていた ・僕がgomika.su,@yanorei32がkakkoka.suを取る

  53. 事の発端
 第2章
 ・丁度前回のVRC-LTぐらいの頃(2020年12月あたり) ・ごく一部のVRChatterの間でクソドメインを取るのが流行る ・僕が元々怪しいレジストラでゴニョゴニョしてyohane.suを取っていた ・僕がgomika.su,@yanorei32がkakkoka.suを取る ・.su

  54. 事の発端
 第2章


  55. 事の発端
 第2章


  56. None
  57. 事の発端
 第2章


  58. 事の発端
 第2章


  59. 事の発端
 第2章
 ・おやおやおや ・ちょっとまって ・クソドメインはクソオタクが取ればええねん

  60. 事の発端
 第2章
 ・おやおやおや ・ちょっとまって ・クソドメインはクソオタクが取ればええねん

  61. 事の発端
 第2章
 ・おやおやおや ・ちょっとまって ・クソドメインはクソオタクが取ればええねん

  62. 事の発端
 第2章
 というのが事の発端

  63. 余談


  64. 余談