$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
520
物体検出モデルでシイタケの収穫時期を自動判定してみた。 #devio2025
lamaglama39
0
360
解消したはずが…技術と人間のエラーが交錯する恐怖体験
lamaglama39
0
290
Other Decks in Technology
See All in Technology
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
15
9.1k
useEffectってなんで非推奨みたいなこと言われてるの?
maguroalternative
9
6.1k
原理から解き明かす AIと人間の成長 - Progate BAR
teba_eleven
2
290
21st ACRi Webinar - AMD Presentation Slide (Nao Sumikawa)
nao_sumikawa
0
140
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
知っていると得する!Movable Type 9 の新機能を徹底解説
masakah
0
180
iRAFT法-他社事例を"自社仕様化"する技術 #pmconf2025
daichi_yamashita
0
200
ブラウザ拡張のセキュリティの話 / Browser Extension Security
flatt_security
0
250
こがヘンだよ!Snowflake?サービス名称へのこだわり
tarotaro0129
0
110
Product Engineer
resilire
0
120
なぜフロントエンド技術を追うのか?なぜカンファレンスに参加するのか?
sakito
8
1.9k
小規模チームによる衛星管制システムの開発とスケーラビリティの実現
sankichi92
0
180
Featured
See All Featured
The Language of Interfaces
destraynor
162
25k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
For a Future-Friendly Web
brad_frost
180
10k
Fireside Chat
paigeccino
41
3.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
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.