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
2
800
暇に任せてProxmoxコンソール 作ってみました
JPmoxs勉強会#5 LT2での登壇資料です。
karugamo
December 11, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
AWSのLambdaで PHPを動かす選択肢
rinchoku
2
390
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
140
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
560
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
200
traP の部内 ISUCON とそれを支えるポータル / PISCON Portal
ikura_hamu
0
180
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
300
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
370
iOS開発におけるCopilot For XcodeとCode Completion / copilot for xcode
fuyan777
1
1.4k
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
620
20241217 競争力強化とビジネス価値創出への挑戦:モノタロウのシステムモダナイズ、開発組織の進化と今後の展望
monotaro
PRO
0
270
Amazon Nova Reelの可能性
hideg
0
180
watsonx.ai Dojo #6 継続的なAIアプリ開発と展開
oniak3ibm
PRO
0
160
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
240
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
98
18k
Building an army of robots
kneath
302
45k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
19
2.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Typedesign – Prime Four
hannesfritz
40
2.5k
Why Our Code Smells
bkeepers
PRO
335
57k
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