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 × HCP Terraformで始めるお家プライベートクラウド
Search
Lamaglama39
November 13, 2025
Technology
0
100
Proxmox × HCP Terraformで始めるお家プライベートクラウド
Lamaglama39
November 13, 2025
Tweet
Share
More Decks by Lamaglama39
See All by Lamaglama39
物体検出モデルでシイタケの収穫時期を自動判定してみた。 #devio2025
lamaglama39
0
310
解消したはずが…技術と人間のエラーが交錯する恐怖体験
lamaglama39
0
280
Other Decks in Technology
See All in Technology
自己的售票系統自己做!
eddie
0
270
窓口業務を生成AIにおまかせ!Bedrock Agent Coreで実現する自治体AIエージェント!
rayofhopejp
0
300
Beyond Prompts: Building Intelligent Applications with Genkit and the Model Context Protocol
peterfriese
0
110
CodexでもAgent Skillsを使いたい
gotalab555
7
3.5k
プロダクトエンジニアとしてのマインドセットの育み方 / How to improve product engineer mindset
saka2jp
2
200
AIエージェントは「使う」だけじゃなくて「作る」時代! 〜最新フレームワークで楽しく開発入門しよう〜
minorun365
10
1.5k
Spec Driven Development入門/spec_driven_development_for_learners
hanhan1978
1
1k
どうなる Remix 3
tanakahisateru
2
340
隙間ツール開発のすすめ / PHP Conference Fukuoka 2025
meihei3
0
230
AIエージェントを導入する [ 社内ナレッジ活用編 ] / Implement AI agents
glidenote
1
340
AWS 環境で GitLab Self-managed を試してみた/aws-gitlab-self-managed
emiki
0
350
データエンジニアとして生存するために 〜界隈を盛り上げる「お祭り」が必要な理由〜 / data_summit_findy_Session_1
sansan_randd
1
1k
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Language of Interfaces
destraynor
162
25k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
BBQ
matthewcrist
89
9.9k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Building Adaptive Systems
keathley
44
2.8k
Transcript
© 2025 Classmethod, Inc. 2025年11⽉13⽇ ⾚池 悠 Proxmox × HCP
Terraformで始める お家プライベートクラウド
© 2025 Classmethod, Inc. ⾃⼰紹介 2 • 名前 ◦ 赤池
悠 ( AKAIKE HARUKA ) • 会社 ◦ クラスメソッド株式会社 ▪ ソリューションアーキテクト • 好きなTerraform組み込み関数 ◦ strrev ▪ 与えた文字列を逆順にして返す (🤔?) • GitHubアカウント ◦ Lamaglama39 • Xアカウント ◦ @lamaglama39
© 2025 Classmethod, Inc. 私のTerraform歴 3 2025/02:クラスメソッドに参加 • AWSコンサルティング業務担当 ◦
裁量が大きく、 IaCツールの選定は調整可能 ◦ 私は基本的にはTerraform推し ◦ 昨今の AI × Terraform の相性がよく、 効率的なインフラ設計/構築を実現 2021/02:IT業界に参加 • 2022/03 ◦ 仕事でクラウドを初めて触る ◦ インフラ手動管理の現場 ◦ モヤモヤした気持ちから、Terraform と運命的な出合い • 2024/03 ◦ 仕事でTerraformを使い始める ◦ Terraformの素晴らしさを体感
© 2025 Classmethod, Inc. 私のTerraform歴 4 Terraformいつもありがとう! 😊BIG感謝😊
© 2025 Classmethod, Inc. 本セッションについて 5 • 対象者 ◦ Terraformを使ったことがある⼈
◦ おうちプライベートクラウドに興味がある⼈ ◦ ⾃宅インフラをコードで管理したい⼈ • ゴール ◦ Proxmox + HCP Terraform の構成がふんわり理解できる ◦ 明⽇から⾃分のおうちで試せるようになる
© 2025 Classmethod, Inc. 補⾜事項 6 • おうち ≒ オンプレ
◦ おうちと明記しているのは私の好みです、 おうちに限らずオンプレ環境全般に適⽤できます • Proxmox ≒ その他仮想基盤 ◦ Proxmoxに限らず、その他仮想基盤にも適⽤できます ◦ Terraformプロバイダーがあれば同様に実現できます ▪ VMware vSphere、OpenStack、Hyper-V、Nutanix、etc…etc…
© 2025 Classmethod, Inc. アジェンダ 7 • 1.Proxmoxを⻑期間⼿動運⽤すると出てくる問題 • 2.Terraformで構成管理する
• 3.HCP Terraformでリモート実⾏環境を整備する • 4.VCS連携によるCI/CDを取り⼊れる • 5.最後に伝えたいこと
© 2025 Classmethod, Inc. Proxmoxって何だろう。 8 おうちサーバーの定番仮想化基盤 (個⼈的意⾒) • DebianベースにしたハイパーバイザーのOSS
• コンピュートリソースとして、VM とコンテナ(LXC)を作成できる • ブラウザから操作できる Web UI • 無料で使える(有償サポートもあり) • 巷ではESXiの移⾏先として話題に上がる印象 • クラスタリング対応で複数ノードを⼀元管理 https://www.proxmox.com
© 2025 Classmethod, Inc. Proxmoxって何だろう。 9
© 2025 Classmethod, Inc. Proxmoxって何だろう。 10 VMのシェル クラスター全体 各ノード ログ
VMに対する操作 VMの各設定
© 2025 Classmethod, Inc. 11 1.Proxmoxを⻑期間⼿動運⽤すると出てくる問題
© 2025 Classmethod, Inc. ⼿動で⻑期間運⽤してくると出てくる様々な問題… 12 • 構成管理の問題 ◦ 「あのVMどうやって作ったっけ…?」
▪ 過去の⾃分が何をしたか思い出せない ◦ ⼿順書を書くつもりが数ヶ⽉放置 ▪ 気づけば実際の構成と乖離している ◦ 同じ環境を作り直せない ▪ 環境の再現性がない
© 2025 Classmethod, Inc. ⼿動で⻑期間運⽤してくると出てくる様々な問題… 13 • 変更管理の問題 ◦ 誰が‧いつ‧何を変更したか分からない
▪ 過去の変更意図、変更履歴が不明… ◦ テスト環境がない(本番が検証環境) ▪ 「ちょっと試すだけ…」が⼤惨事に ▪ もっと⼿軽に環境を構築できれば…
© 2025 Classmethod, Inc. ⼿動で⻑期間運⽤してくると出てくる様々な問題… 14 • 運⽤の問題 ◦ ロールバック⽅法が不明
▪ 問題が発⽣した際の復旧作業に時間がかかる ◦ ⼿作業によるミス ▪ コピペミスで環境が破壊される ◦ 気づいたら謎サーバー/環境が増殖 ▪ 検証⽤VMが放置され、リソース逼迫される
© 2025 Classmethod, Inc. 私の実際の環境 15 要否不明のサーバー 要否不明のサーバー 要否不明のサーバー 要否不明のサーバー
要否不明のサーバー 要否不明のサーバー
© 2025 Classmethod, Inc. 解決⽅法 16 HCP Terraform + VCS連携(GitHub)
で解決できる!
© 2025 Classmethod, Inc. 17 2.Terraformで構成管理する
© 2025 Classmethod, Inc. プロバイダー何使うか問題。 18 Proxmox公式のTerraformプロバイダーは現時点で存在しない ➡ そのためコミュニティのプロバイダーを利⽤する、
好きなコミュニティプロバイダーを利⽤すればOK • Telmate/proxmox ◦ VM、LXC、プール、cloud-init ディスクなどを管理可能 • bpg/proxmox ◦ VM/LXC だけでなく、 ネットワーク、ファイアウォールなども管理可能 ◦ 個⼈的にはこちらがおすすめ
© 2025 Classmethod, Inc. ざっくりとした書き⽅ 19 • プロバイダーの書き⽅
© 2025 Classmethod, Inc. ざっくりとした書き⽅ 20 Proxmoxのエンドポイント指定 Proxmox操作権限⽤のトークン指定 • プロバイダーの書き⽅
© 2025 Classmethod, Inc. ざっくりとした書き⽅ 21 • リソースの書き⽅(LXCコンテナの例)
© 2025 Classmethod, Inc. ざっくりとした書き⽅ 22 デプロイ先のノード指定 • リソースの書き⽅(LXCコンテナの例)
© 2025 Classmethod, Inc. ローカルでTerraform管理していると出てくる問題… 23 • ⾃宅外から実⾏できない ◦ 旅先でVMを増やしたくなった時に困る
• 正確な変更履歴が残らない ◦ 意図的に残さない限りは、PlanやApplyの結果が残らない
© 2025 Classmethod, Inc. 解決⽅法 24 HCP Terraformを導⼊しよう。
© 2025 Classmethod, Inc. 25 3.HCP Terraformでリモート実⾏環境を整備する
© 2025 Classmethod, Inc. HCP Terraformを使うまでの問題 26 • HCP TerraformからProxmoxを直接参照できない
◦ プロバイダーでProxmoxのローカルIPを指定するため
© 2025 Classmethod, Inc. HCP Terraformを使うまでの問題 27 ローカルIPを指定している
© 2025 Classmethod, Inc. HCP Terraform Agents を使おう 28 •
Terraform の実⾏をおうち環境で⾏える ◦ HCP Terraform Agentをインストールしたサーバーで、 Terraformを実⾏する • おうち側のインバウンドの⽳あけが不要 ◦ Agent ➡ HCP Terraformへポーリングするため、 おうち ➡ HCP Terraformへアウトバウンドの通信ができればOK
© 2025 Classmethod, Inc. HCP Terraform Agents を使った構成 29
© 2025 Classmethod, Inc. HCP Terraform Agents を使った構成 30 HCP
TerraformへApply Agent がポーリング Applyを実⾏
© 2025 Classmethod, Inc. HCP Terraform Agents のセットアップ 31 HCP
Terraform側のOrganization設定 Organization > Settings > Agents にて agent pool を作成
© 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
© 2025 Classmethod, Inc. HCP Terraform Agents のセットアップ 33 HCP
Terraform側のWorkspaces設定 workspaces > Settings > General にて Execution Mode を設定
© 2025 Classmethod, Inc. HCP Terraform Agents のセットアップ 34 プロバイダーの設定
Agentを設定した、 Organization & Workspaces を指定
© 2025 Classmethod, Inc. HCP Terraformで管理していると出てくる問題… 35 • 毎回HCP Terraformへデプロイする必要がある
◦ 実⾏時のHCPへのログインがめんどくさい • 実⾏時のソースコードとリポジトリが直接的にリンクしていない ◦ Terraformの更新とリポジトリへのPushが別々 ◦ リポジトリへのPushし忘れによるデグレ
© 2025 Classmethod, Inc. 解決⽅法 36 VCS連携を導⼊しよう。
© 2025 Classmethod, Inc. 37 4.VCS連携でCI/CDを取り⼊れる
© 2025 Classmethod, Inc. VCS連携を使おう 38 • GitHub Actionsの設定が不要 ◦
HCP TerraformのWorkSpaces側の設定で完結する • Git push で⾃動実⾏される ◦ Terraform更新とリポジトリ更新をリンクさせられる • プルリクエストで変更をレビューできる ◦ HCP TerraformでのPlan実⾏前に、 プルリクエストの段階でレビューできる
© 2025 Classmethod, Inc. VCS連携を使った構成 39
© 2025 Classmethod, Inc. VCS連携を使った構成 40 リポジトリへPush VCS連携で HCP Terraformへ⾃動反映
Agent がポーリング Applyを実⾏
© 2025 Classmethod, Inc. VCS連携のセットアップ 41 GitHub側 適当なリポジトリを作成して、 コードをPushしておく
© 2025 Classmethod, Inc. VCS連携のセットアップ 42 HCP Terraform側 Workspace作成時に 「Version
Control Workflow」を指定し、リポジトリを紐付け
© 2025 Classmethod, Inc. VCS連携のセットアップ 43 VCS連携の設定について① Terraform実⾏ディレクトリの指定 ⾃動適⽤の設定
© 2025 Classmethod, Inc. VCS連携のセットアップ 44 VCS連携の設定について② ブランチベースのトリガー • 特定のブランチにpush
• 特定のファイルの更新
© 2025 Classmethod, Inc. VCS連携のセットアップ 45 VCS連携の設定について③ タグベースのトリガー • 指定した形式のタグが、
リポジトリにPush
© 2025 Classmethod, Inc. VCS連携のセットアップ 46 VCSに連動してPlanが⾛る例
© 2025 Classmethod, Inc. 47 5.最後に伝えたいこと
© 2025 Classmethod, Inc. 構成管理は早めに取り⼊れたほうがいい 48 • 後回しにすると... ◦ VM
が増えるほど、⼿作業の管理が困難に ◦ 「どうやって作ったっけ?」が思い出せなくなる • 早めに始めるメリット ◦ VM が少ないうちなら、コード化も楽 ◦ 構成がシンプルなうちに IaC の習慣を作れる ◦ 失敗してもやり直しやすい 「後でやろう」は、たいてい「やらない」になる😭
© 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で管理 最初から完璧を⽬指さず、継続的に改善しよう💡
© 2025 Classmethod, Inc. 今⽇から始められる、お家プライベートクラウド 50 • 必要なもの ◦ Proxmoxなど何らかの仮想化基盤
◦ GitHub アカウント(無料) ◦ HCP Terraform アカウント(無料枠あり) ◦ やる気…! 帰宅したら、まず1台作ってみよう!🔥
© 2025 Classmethod, Inc.