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
May 23, 2025
Programming
870
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Proxmoxをまとめて管理できる コンソール作ってみました
JPmoxs勉強会#7 LT1での登壇資料です。
karugamo
May 23, 2025
More Decks by karugamo
See All by karugamo
暇に任せてProxmoxコンソール 作ってみました
karugamo
2
1.2k
Other Decks in Programming
See All in Programming
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
340
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
550
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
110
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
17
6.1k
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
660
今さら聞けないCancellationToken
htkym
0
220
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
140
Claspは野良GASの夢をみるか
takter00
0
170
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.5k
関係性から理解する"同一性"の型用語たち
pvcresin
2
640
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
500
AIとRubyの静的型付け
ukin0k0
0
540
Featured
See All Featured
From π to Pie charts
rasagy
0
200
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
150
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Making the Leap to Tech Lead
cromwellryan
135
9.9k
Mobile First: as difficult as doing things right
swwweet
225
10k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
380
Leo the Paperboy
mayatellez
7
1.8k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
Transcript
Proxmoxをまとめて管理できる コンソール作ってみました カルガモ JPmoxs勉強会#7 LT1
自己紹介 名前:カルガモ 情報系の大学生(4回生) 今年に入ってAWSに入門 X(旧Twitter):@karugamosenpai Qiita:@karugamosenpai 2
前回のきっかけ JPmoxs #5 LT2 友人にサーバを布教したいけど... 難しすぎない??? 3
前回の概要 4 X(旧Twitter)等での反響も...
作ったもの ダッシュボード 5
作ったもの ダッシュボード • /currentなどのデータ取得 • /rrddataのグラフの作成 6
構成 ~概要~ 7 Cloudflare Tunnelの認証情報と Proxmoxの認証情報を付与 • 利用者はAWSで動いているサービスを使用、 Proxmox本体には一切直接アクセスしない •
AWS Proxmox間はCloudflare tunnelで接続し、 Service tokenで認証
構成 AWS ~全体~ • AWSのAPI GatewayとLambdaで ProxmoxへAPIをリレー • VMの認証情報とCFのトークンは Parameter
Storeで保管 8 Parameter StoreからCFの clientIDとsecretを取得 DBのノード情報などは定期更新
構成 AWS ~VNC~ 9 • 最初にチケットを発行 • Proxmoxの/vncwebsocketへの websocket通信が必要 •
Lightsail(EC2)のNode.jsでリレー (xtermはバグ#6079でAPIで使用不可)
構成 AWS ~VNC~ • 最初にチケットを発行 • Proxmoxの/vncwebsocketへの websocket通信が必要 • Lightsail(EC2)のNode.jsでリレー
(xtermはバグ#6079でAPIで使用不可) 10 ②チケット&接続情報保存 ①チケット発行 ③チケットで接続情報取得して websocketで接続
活用案 新規ユーザ • ちょっと試しに使ってみたい... • 24時間起動しときたい... 鯖主 • 物理的距離が離れた場所に リソースを配置したい...
• 監視サーバを配置したい... 等 11
活用案 メニューも柔軟に設定したり... 12
13 構成 QEMU Guest Agent “QEMU Guest Agentは、Proxmox VEとゲストOS (VM)間で通信を行い、仮想化環境における管理や
操作をサポートするツール” * インストール方法 • apt-get install qemu-guest-agent • systemctl enable qemu-guest-agent • qm agent <vmid> ping *引用:青山 尚暉,海野 航 ,大石 大輔,工藤 真臣,殿貝 大樹,野口 敏久, ”Proxmox VEサーバー仮想化導入実践ガイド”,インプレス,2025,p.174
14 構成 QEMU Guest Agent # qm guest cmd <vmid>
get-host-name { "host-name" : "OC-demo" } # qm guest cmd <vmid> get-users [ { "login-time" : 1747322704.3527, "user" : "karugamo" } ] # qm guest cmd <vmid> get-osinfo { "id" : "ubuntu", "kernel-release" : "5.15.0-139-generic", "kernel-version" : "#149-Ubuntu SMP Fri Apr 11 22:06:13 UTC 2025", "machine" : "x86_64", "name" : "Ubuntu", "pretty-name" : "Ubuntu 22.04.5 LTS", "version" : "22.04.5 LTS (Jammy Jellyfish)", "version-id" : "22.04" }
15 構成 QEMU Guest Agent exec • Proxmox API /api2/json/nodes/{node}
/qemu/{vmid}/agent/execで任意のコマンドを実行 可能 (結果の確認は/exec-statusポーリングが必要) # qm guest exec <vmid> -- sh -c 'echo "hello" 2>&1' { "exitcode" : 0, "exited" : 1, "out-data" : "hello\n" }
まとめ • AWSに入門&移行しました • VNCなども自前で実装できる • QEMU Guest Agentで色々操作できるのでもっと活用したい •
利用案の需要あるかな... 16
ありがとうございました! 17