$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Proxmox × HCP Terraformで始めるお家プライベートクラウド
Search
Lamaglama39
November 13, 2025
Technology
1
240
Proxmox × HCP Terraformで始めるお家プライベートクラウド
Lamaglama39
November 13, 2025
Tweet
Share
More Decks by Lamaglama39
See All by Lamaglama39
AI × クラウドで シイタケの収穫時期を判定してみた
lamaglama39
1
530
物体検出モデルでシイタケの収穫時期を自動判定してみた。 #devio2025
lamaglama39
0
370
解消したはずが…技術と人間のエラーが交錯する恐怖体験
lamaglama39
0
290
Other Decks in Technology
See All in Technology
pmconf2025 - データを活用し「価値」へ繋げる
glorypulse
0
440
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
980
20251127 BigQueryリモート関数で作る、お手軽AIバッチ実行環境
daimatz
0
430
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
270
翻訳・対話・越境で強いチームワークを作ろう! / Building Strong Teamwork through Interpretation, Dialogue, and Border-Crossing
ar_tama
4
1.6k
その設計、 本当に価値を生んでますか?
shimomura
2
180
ページの可視領域を算出する方法について整理する
yamatai1212
0
160
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
640
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
3
960
AI駆動開発によるDDDの実践
dip_tech
PRO
0
290
Agents IA : la nouvelle frontière des LLMs (Tech.Rocks Summit 2025)
glaforge
0
380
Data Hubグループ 紹介資料
sansan33
PRO
0
2.3k
Featured
See All Featured
Fireside Chat
paigeccino
41
3.7k
Producing Creativity
orderedlist
PRO
348
40k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Scaling GitHub
holman
464
140k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
The Cult of Friendly URLs
andyhume
79
6.7k
Being A Developer After 40
akosma
91
590k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Writing Fast Ruby
sferik
630
62k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
The Language of Interfaces
destraynor
162
25k
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.