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
暇に任せてProxmoxコンソール 作ってみました
Search
karugamo
December 11, 2024
Programming
1.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
暇に任せてProxmoxコンソール 作ってみました
JPmoxs勉強会#5 LT2での登壇資料です。
karugamo
December 11, 2024
More Decks by karugamo
See All by karugamo
Proxmoxをまとめて管理できるコンソール作ってみました
karugamo
1
890
Other Decks in Programming
See All in Programming
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
550
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
240
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
260
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.9k
1B+ /day規模のログを管理する技術
broadleaf
0
130
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
190
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
150
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
470
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
450
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
410
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
22k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Site-Speed That Sticks
csswizardry
13
1.2k
Utilizing Notion as your number one productivity tool
mfonobong
4
360
Docker and Python
trallard
47
3.9k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
420
Done Done
chrislema
186
16k
Practical Orchestrator
shlominoach
191
11k
Code Reviewing Like a Champion
maltzj
528
40k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
270
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Transcript
暇に任せてコンソール 作ってみました カルガモ JPmoxs勉強会#5 LT2
自己紹介 名前:カルガモ 情報系の大学生(3回生) LT初登壇 X(旧Twitter):@karugamosenpai Qiita:@karugamosenpai 1
きっかけ 友人にサーバを布教したいけど... 難しすぎない??? 2
求める要件 ユーザ目線 • ユーザから見てとにかく簡単・シンプル • 複雑なネットワーク設定などが不要 →DHCPなど必須 • WordPressの構築程度ができる環境 開発(自分)目線
• フロントからバックエンドまで広く浅く • 比較的モダンなものを活用 • 外部のセキュリティサービスを使用 • できるだけタダで • いい勉強教材にする 3
ということで作ってみました https://www.ouchi.cloud/ 以下からデモを実際に 試していただけます 4
構成 コンソール • Cloudflareの無料枠の範囲 • ProxmoxAPIをFastAPIでリレー • GoogleアカウントのOAuth2を使用 5
構成 Proxmox • 各ノードにpfSenseを配置 • ユーザごとにvmbr上のVLANを割り当て 6
機能紹介 VM作成 • FastAPI経由で各ノードでcloud-initで 作成 • CloudflareにもVNCのURLを登録 (認証情報はユーザ登録時に実施) 7
機能紹介 VNC • RDP通信としてCloudflaredのVNCで トンネリング /etc/pve/qemu-server/<vmid>.conf args: -vnc 0.0.0.0:77 8
VNCの動作 • サイトにiframeで埋め込み • CloudflareのVNCコンソールはCSPで iframeの埋め込みできない • Cloudflareの変換ルールでレスポンス ヘッダのContent-Security-Policyを変換 9
機能紹介 ポート • http通信をpfSenseで1:1NAT 宅内のIP VLAN内のアドレス • VMはDHCPでIP払出し • ポート用に宅内IPと1:1NAT
• QEMU-Guest-agentでアドレスを管理 10
今後の展望 SSH • httpと同じ要領で実装できそう... • CloudflareのSSHクライアントもある • 鍵の管理をどうするのか? 11
今後の展望 VM間通信 • 現状同じノード内のみで可能 • SDNにタグ付き通信を流せない? • 各ノードごとのpfSenseが不要? 12
まとめ • Proxmoxは慣れたら使いやすいが,初見では難しい... • ProxmoxのAPIを外部サービスから叩くのは難しい気がする • ネットワーク周りをもう少しシンプルにしたい • Cloudflareの無料プランでもProxmoxをもっと便利にできそう 人数増えてきたら有料プランかな...
13
ありがとうございました! 14