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
420
1
Share
Proxmox × HCP Terraformで始めるお家プライベートクラウド
Lamaglama39
November 13, 2025
More Decks by Lamaglama39
See All by Lamaglama39
Terraformを安全に効率よく書くためのClaude Code活用術
lamaglama39
0
520
GKE Agent SandboxでAIが生成したコードを 安全に実行してみた
lamaglama39
0
260
LT中にAWS Interconnect – multicloudでAWSとGoogle Cloudを繋げる
lamaglama39
0
400
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
810
AI × クラウドで シイタケの収穫時期を判定してみた
lamaglama39
1
770
物体検出モデルでシイタケの収穫時期を自動判定してみた。 #devio2025
lamaglama39
0
510
解消したはずが…技術と人間のエラーが交錯する恐怖体験
lamaglama39
0
410
Other Decks in Technology
See All in Technology
[みん強]AIの価値を最大化するデータ基盤戦略:Self-Service型Data Meshへの転換とAgentic AI Meshに向けた取り組み with Snowflake他
y_matsubara
1
160
How to learn AWS Well-Architected with AWS BuilderCards: Security Edition
coosuke
PRO
0
190
全社統制を維持しながら現場負担をどう減らすか〜プラットフォームチームとセキュリティチームで進めたSecurity Hub活用によるAWS統制の見直し〜/secjaws-security-hub-custom-insights
mhrtech
1
630
Gaussian Splattingの実用化 - 映像制作への展開
gpuunite_official
0
200
TSKaigi 2026 - enumよ、さようなら
teamlab
PRO
1
210
Claude Code で使える DuckDB Skills を試してみた / DuckDB Skills and Claude Code
masahirokawahara
1
1.7k
Swift Sequence の便利 API 再発見
treastrain
1
290
続 運用改善、不都合な真実 〜 物理制約のない運用改善はほとんど無価値 / 20260518-ssmjp-kaizen-no-value-without-physical-constraints
opelab
2
270
最新技術を"今は選ばない"という技術選定
leveragestech
PRO
0
320
20260516_SecJAWS_Days
takuyay0ne
2
530
Redmine次期バージョン7.0の注目新機能解説 — UI/UX強化と連携強化を中心に
vividtone
1
200
JTCでRedmine利用者2700人を実現した手法 第二部
nobuonakamura
0
150
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.6k
New Earth Scene 8
popppiees
3
2.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
BBQ
matthewcrist
89
10k
Practical Orchestrator
shlominoach
191
11k
Design in an AI World
tapps
1
210
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
110
Google's AI Overviews - The New Search
badams
0
1k
Exploring anti-patterns in Rails
aemeredith
3
360
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.