Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Proxmoxをまとめて管理できる コンソール作ってみました

Proxmoxをまとめて管理できる コンソール作ってみました

JPmoxs勉強会#7 LT1での登壇資料です。

Avatar for karugamo

karugamo

May 23, 2025
Tweet

More Decks by karugamo

Other Decks in Programming

Transcript

  1. 構成 AWS ~全体~ • AWSのAPI GatewayとLambdaで ProxmoxへAPIをリレー • VMの認証情報とCFのトークンは Parameter

    Storeで保管 8 Parameter StoreからCFの clientIDとsecretを取得 DBのノード情報などは定期更新
  2. 構成 AWS ~VNC~ 9 • 最初にチケットを発行 • Proxmoxの/vncwebsocketへの websocket通信が必要 •

    Lightsail(EC2)のNode.jsでリレー (xtermはバグ#6079でAPIで使用不可)
  3. 構成 AWS ~VNC~ • 最初にチケットを発行 • Proxmoxの/vncwebsocketへの websocket通信が必要 • Lightsail(EC2)のNode.jsでリレー

    (xtermはバグ#6079でAPIで使用不可) 10 ②チケット&接続情報保存 ①チケット発行 ③チケットで接続情報取得して websocketで接続
  4. 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
  5. 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" }
  6. 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" }