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

Proxmox × HCP Terraformで始めるお家プライベートクラウド

Avatar for Lamaglama39 Lamaglama39
November 13, 2025

Proxmox × HCP Terraformで始めるお家プライベートクラウド

Avatar for Lamaglama39

Lamaglama39

November 13, 2025
Tweet

More Decks by Lamaglama39

Other Decks in Technology

Transcript

  1. © 2025 Classmethod, Inc. 2025年11⽉13⽇ ⾚池 悠 Proxmox × HCP

    Terraformで始める お家プライベートクラウド
  2. © 2025 Classmethod, Inc. ⾃⼰紹介 2 • 名前 ◦ 赤池

    悠 ( AKAIKE HARUKA ) • 会社 ◦ クラスメソッド株式会社 ▪ ソリューションアーキテクト • 好きなTerraform組み込み関数 ◦ strrev ▪ 与えた文字列を逆順にして返す (🤔?) • GitHubアカウント ◦ Lamaglama39 • Xアカウント ◦ @lamaglama39
  3. © 2025 Classmethod, Inc. 私のTerraform歴 3 2025/02:クラスメソッドに参加 • AWSコンサルティング業務担当 ◦

    裁量が大きく、 IaCツールの選定は調整可能 ◦ 私は基本的にはTerraform推し ◦ 昨今の AI × Terraform の相性がよく、 効率的なインフラ設計/構築を実現 2021/02:IT業界に参加 • 2022/03 ◦ 仕事でクラウドを初めて触る ◦ インフラ手動管理の現場 ◦ モヤモヤした気持ちから、Terraform と運命的な出合い • 2024/03 ◦ 仕事でTerraformを使い始める ◦ Terraformの素晴らしさを体感
  4. © 2025 Classmethod, Inc. 本セッションについて 5 • 対象者 ◦ Terraformを使ったことがある⼈

    ◦ おうちプライベートクラウドに興味がある⼈ ◦ ⾃宅インフラをコードで管理したい⼈ • ゴール ◦ Proxmox + HCP Terraform の構成がふんわり理解できる ◦ 明⽇から⾃分のおうちで試せるようになる
  5. © 2025 Classmethod, Inc. 補⾜事項 6 • おうち ≒ オンプレ

    ◦ おうちと明記しているのは私の好みです、 おうちに限らずオンプレ環境全般に適⽤できます • Proxmox ≒ その他仮想基盤 ◦ Proxmoxに限らず、その他仮想基盤にも適⽤できます ◦ Terraformプロバイダーがあれば同様に実現できます ▪ VMware vSphere、OpenStack、Hyper-V、Nutanix、etc…etc…
  6. © 2025 Classmethod, Inc. アジェンダ 7 • 1.Proxmoxを⻑期間⼿動運⽤すると出てくる問題 • 2.Terraformで構成管理する

    • 3.HCP Terraformでリモート実⾏環境を整備する • 4.VCS連携によるCI/CDを取り⼊れる • 5.最後に伝えたいこと
  7. © 2025 Classmethod, Inc. Proxmoxって何だろう。 8 おうちサーバーの定番仮想化基盤 (個⼈的意⾒) • DebianベースにしたハイパーバイザーのOSS

    • コンピュートリソースとして、VM とコンテナ(LXC)を作成できる • ブラウザから操作できる Web UI • 無料で使える(有償サポートもあり) • 巷ではESXiの移⾏先として話題に上がる印象 • クラスタリング対応で複数ノードを⼀元管理 https://www.proxmox.com
  8. © 2025 Classmethod, Inc. ⼿動で⻑期間運⽤してくると出てくる様々な問題… 12 • 構成管理の問題 ◦ 「あのVMどうやって作ったっけ…?」

    ▪ 過去の⾃分が何をしたか思い出せない ◦ ⼿順書を書くつもりが数ヶ⽉放置 ▪ 気づけば実際の構成と乖離している ◦ 同じ環境を作り直せない ▪ 環境の再現性がない
  9. © 2025 Classmethod, Inc. ⼿動で⻑期間運⽤してくると出てくる様々な問題… 13 • 変更管理の問題 ◦ 誰が‧いつ‧何を変更したか分からない

    ▪ 過去の変更意図、変更履歴が不明… ◦ テスト環境がない(本番が検証環境) ▪ 「ちょっと試すだけ…」が⼤惨事に ▪ もっと⼿軽に環境を構築できれば…
  10. © 2025 Classmethod, Inc. ⼿動で⻑期間運⽤してくると出てくる様々な問題… 14 • 運⽤の問題 ◦ ロールバック⽅法が不明

    ▪ 問題が発⽣した際の復旧作業に時間がかかる ◦ ⼿作業によるミス ▪ コピペミスで環境が破壊される ◦ 気づいたら謎サーバー/環境が増殖 ▪ 検証⽤VMが放置され、リソース逼迫される
  11. © 2025 Classmethod, Inc. プロバイダー何使うか問題。 18 Proxmox公式のTerraformプロバイダーは現時点で存在しない  ➡ そのためコミュニティのプロバイダーを利⽤する、   

    好きなコミュニティプロバイダーを利⽤すればOK • Telmate/proxmox ◦ VM、LXC、プール、cloud-init ディスクなどを管理可能 • bpg/proxmox ◦ VM/LXC だけでなく、 ネットワーク、ファイアウォールなども管理可能 ◦ 個⼈的にはこちらがおすすめ
  12. © 2025 Classmethod, Inc. HCP Terraform Agents を使おう 28 •

    Terraform の実⾏をおうち環境で⾏える ◦ HCP Terraform Agentをインストールしたサーバーで、 Terraformを実⾏する • おうち側のインバウンドの⽳あけが不要 ◦ Agent ➡ HCP Terraformへポーリングするため、 おうち ➡ HCP Terraformへアウトバウンドの通信ができればOK
  13. © 2025 Classmethod, Inc. HCP Terraform Agents を使った構成 30 HCP

    TerraformへApply Agent がポーリング Applyを実⾏
  14. © 2025 Classmethod, Inc. HCP Terraform Agents のセットアップ 31 HCP

    Terraform側のOrganization設定 Organization > Settings > Agents にて agent pool を作成
  15. © 2025 Classmethod, Inc. HCP Terraform Agents のセットアップ 32 おうちサーバー側の設定

    • ①Agentのインストール ◦ agent pool作成時に取得したトークンを設定 ◦ Install and run HCP Terraform agents | Terraform | HashiCorp Developer • ②Agentのサービス化 ◦ Systemdなどに登録してサービス化する ◦ How to run tfc-agent binary as a Service with systemd
  16. © 2025 Classmethod, Inc. HCP Terraform Agents のセットアップ 33 HCP

    Terraform側のWorkspaces設定 workspaces > Settings > General にて Execution Mode を設定
  17. © 2025 Classmethod, Inc. HCP Terraformで管理していると出てくる問題… 35 • 毎回HCP Terraformへデプロイする必要がある

    ◦ 実⾏時のHCPへのログインがめんどくさい • 実⾏時のソースコードとリポジトリが直接的にリンクしていない ◦ Terraformの更新とリポジトリへのPushが別々 ◦ リポジトリへのPushし忘れによるデグレ
  18. © 2025 Classmethod, Inc. VCS連携を使おう 38 • GitHub Actionsの設定が不要 ◦

    HCP TerraformのWorkSpaces側の設定で完結する • Git push で⾃動実⾏される ◦ Terraform更新とリポジトリ更新をリンクさせられる • プルリクエストで変更をレビューできる ◦ HCP TerraformでのPlan実⾏前に、 プルリクエストの段階でレビューできる
  19. © 2025 Classmethod, Inc. 構成管理は早めに取り⼊れたほうがいい 48 • 後回しにすると... ◦ VM

    が増えるほど、⼿作業の管理が困難に ◦ 「どうやって作ったっけ?」が思い出せなくなる • 早めに始めるメリット ◦ VM が少ないうちなら、コード化も楽 ◦ 構成がシンプルなうちに IaC の習慣を作れる ◦ 失敗してもやり直しやすい 「後でやろう」は、たいてい「やらない」になる😭
  20. © 2025 Classmethod, Inc. ⼩さく始めて、徐々に拡張していこう 49 • まずは1つのVMから ◦ Step

    1: テスト⽤ VM を1台 Terraform 化 ◦ Step 2: 成功したら別の VM も追加 ◦ Step 3: 変数化‧モジュール化で再利⽤ • ⼀ヶ⽉かけた段階的な移⾏例 ◦ 1週⽬: 1台の VM を Terraform で管理 ◦ 2週⽬: HCP Terraform で State 管理 ◦ 3週⽬: VCS 連携で⾃動化 ◦ 4週⽬: その他のリソースもTerraformで管理 最初から完璧を⽬指さず、継続的に改善しよう💡
  21. © 2025 Classmethod, Inc. 今⽇から始められる、お家プライベートクラウド 50 • 必要なもの ◦ Proxmoxなど何らかの仮想化基盤

    ◦ GitHub アカウント(無料) ◦ HCP Terraform アカウント(無料枠あり) ◦ やる気…! 帰宅したら、まず1台作ってみよう!🔥