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
890
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
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
250
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
340
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
200
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
0
420
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
190
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
210
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
570
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
1
120
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
640
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.3k
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
0
160
フィードバックで育てるAI開発
kotaminato
1
110
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
2
1.8k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
How to build a perfect <img>
jonoalderson
1
5.8k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
460
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