$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
暇に任せてProxmoxコンソール 作ってみました
Search
karugamo
December 11, 2024
Programming
1
230
暇に任せてProxmoxコンソール 作ってみました
JPmoxs勉強会#5 LT2での登壇資料です。
karugamo
December 11, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
Java 23の概要とJava Web Frameworkの現状 / Java 23 and Java web framework
kishida
2
380
tidymodelsによるtidyな生存時間解析 / Japan.R2024
dropout009
1
590
The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform | droidcon Italy
prof18
0
140
第5回日本眼科AI学会総会_AIコンテスト_3位解法
neilsaw
0
140
プロダクトの品質に コミットする / Commit to Product Quality
pekepek
1
690
As an Engineers, let's build the CRM system via LINE Official Account 2.0
clonn
1
640
[FlutterKaigi2024] Effective Form 〜Flutterによる複雑なフォーム開発の実践〜
chocoyama
1
4k
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
130
今からはじめるAndroidアプリ開発 2024 / DevFest 2024
star_zero
0
770
Refactor your code - refactor yourself
xosofox
1
170
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
3
400
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
7
3.7k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
KATA
mclloyd
29
14k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
31
How STYLIGHT went responsive
nonsquared
95
5.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Embracing the Ebb and Flow
colly
84
4.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Faster Mobile Websites
deanohume
305
30k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
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