Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
自宅サーバはどこまで再現できるのか - Proxmox VE上のVM環境をIaCとバックアップ...
Search
ユート
November 13, 2026
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自宅サーバはどこまで再現できるのか - Proxmox VE上のVM環境をIaCとバックアップで戻してみた
2026/11/15に開催された「自鯖缶」というカンファレンスでの登壇資料になります.
ユート
November 13, 2026
Transcript
82 slides
⾃宅サーバはどこまで再現できるのか 〜Proxmox VE上のVM環境をIaCとバックアップで戻してみた〜 ユート 2
3 茶番というか雑談というかそういうものなので 適当に聞き流してもらって⼤丈夫です!!
$ whoami n 名前: ユート(@Youto_0214) n 学年: 4年 n 所属:
⾼知⼯科⼤学 画像情報⼯学研究室 n 趣味: 読書・個⼈開発・競プロ n 他の活動: n マスタリングTCP/IP輪講会 n NOC(クラウドネイティブ会議・⾃鯖⽸) n SecHack365ʼ25 表現駆動コース 4
⽬次 nはじめに n実験環境の全体像 nTerraform・Ansible n作ってみたVM環境の説明 n試してみる nまとめ 5
⽬次 nはじめに n実験環境の全体像 nTerraform・Ansible n作ってみたVM環境の説明 nVM環境を消してみる nまとめ 6
はじめに 7 間違えて,消しちゃったよぉぉぉ
はじめに 8 でも,大丈夫
はじめに バックアップがあるから 9
はじめに 11 復旧できる
はじめに サーバでは,様々なサービスを運⽤している. →バックアップを取っているから安全だろうか?? 12
はじめに 13 サーバでは,様々なサービスを運⽤している. →バックアップを取っているから安全だろうか?? 設定が間違って保存されている バックアップが動作しない...
はじめに 14 サーバでは,様々なサービスを運⽤している. →バックアップを取っているから安全だろうか?? 設定が間違って保存されている バックアップが動作しない... →バックアップだけでは対応できないケースがある
はじめに 15 サーバでは,様々なサービスを運⽤している. →バックアップを取っているから安全だろうか?? 設定が間違って保存されている バックアップが動作しない... IaCで構成+バックアップでデータを戻せば,復旧できないのか?
⽬次 nはじめに n実験環境の全体像 nTerraform・Ansible n作ってみたVM環境の説明 n試してみる nまとめ 16
実験環境の全体像 Proxmox VE Macbook 設定 Terraform Ansible 18 Gitea VM
1001 バックアップ PBS Minecraft VM 1002 Portfolio VM 1003 Gitea, Portfolioは今回使⽤していません Google Drive
実験環境の全体像 Terraform Ansible 誤設定を注⼊ Proxmox VE Macbook 設定 19 Gitea
VM 1001 バックアップ PBS Minecraft VM 1002 Portfolio VM 1003 Gitea, Portfolioは今回使⽤していません Google Drive
実験環境の全体像 Proxmox VE Macbook 正しい設定 Terraform Ansible 20 Gitea VM
1001 復元 PBS Minecraft VM 1002 Portfolio VM 1003 Gitea, Portfolioは今回使⽤していません Google Drive
実験環境の全体像 Terraform Ansible VMを元通りにできるか? Proxmox VE Macbook 正しい設定 21 Gitea
VM 1001 復元 PBS Minecraft VM 1002 Portfolio VM 1003 Gitea, Portfolioは今回使⽤していません Google Drive
試してみたこと nVMを消しただけ nDockerの設定間違い nOSのカーネルが参照できない nProxmox backup serverが壊れている 22
⽬次 nはじめに n実験環境の全体像 nTerraform・Ansible n作ってみたVM環境の説明 n試してみる nまとめ 23
Terraform n Terraformとは HashiCorp社が開発したクラウドやオンプレミスの インフラ構築・管理をコードによって⾃動化する IaC (Infrastructure as Code) ツール
n VMの構成 n VMの作成 24
Terraformを使ったVM作成の全体像 Terraform Provider Proxmox .tfファイル作成 .tfファイル API受信 terraform plan APIリクエスト作成
VMを作成 terraform apply 送信 資源の割り当て 25
Terraformを使ったVM作成の全体像 Terraform リソースの定義 Provider Proxmox .tfファイル作成 .tfファイル API受信 terraform plan
APIリクエスト作成 VMを作成 terraform apply 送信 資源の割り当て 26
Terraformを使ったVM作成の全体像 Terraform リソースの定義 Provider APIリクエスト Proxmox .tfファイル作成 .tfファイル API受信 terraform
plan APIリクエスト作成 VMを作成 terraform apply 送信 資源の割り当て 27
Terraformを使ったVM作成の全体像 Terraform リソースの定義 Provider APIリクエスト Proxmox .tfファイル作成 .tfファイル API受信 terraform
plan APIリクエスト作成 VMを作成 terraform apply 送信 資源の割り当て 実⾏結果 28
Terraformを使ったVM作成の全体像 Terraform リソースの定義 Provider APIリクエスト Proxmox .tfファイル作成 .tfファイル API受信 terraform
plan APIリクエスト作成 VMを作成 terraform apply 送信 資源の割り当て 状態の反映 実⾏結果 29
Ansible n Ansibleとは Red Had社が開発した、サーバの構築・ミドルウェアのイ ンストール・設定管理等を⾃動化する IaC(Infrastructure as Code) ツール
n 環境構築(パッケージの導⼊・更新) n デプロイ 30
Ansible Ansible 31 対象の機器
Ansible 32 ssh接続 Ansible 対象の機器
Ansible 33 ssh接続 Ansible 対象の機器 playbookを実⾏ (taskの実⾏)
⽬次 nはじめに n実験環境の全体像 nTerraform・Ansible n作ってみたVM環境の説明 n試してみる nまとめ 34
作ってみたVM環境 作成したVM nGitea nポートフォリオ nMinecraft 35
Providerを指定する 36
Providerを指定する 37 Terraform経由でProxmoxをいじるのには Providerの指定が必要
Providerを指定する 38
OSイメージを指定する VMのOSイメージを指定 39
VMのインフラ構成を作成する nVMID nCPUコア数 nメモリ nディスク nネットワーク設定 nsshキー 40
Ansible ssh接続先の設定 41
Dockerインストール DockerをAPTリポジトリに 登録 Dockerインストール 42
マイクラサーバを起動 Docker起動 設定ディレクトリ作成 Compose.ymlファイルのコピー マイクラサーバの起動 43
マイクラサーバを起動 Docker起動 設定ディレクトリ作成 Compose.ymlファイルのコピー マイクラサーバの起動 44
マイクラのVM環境 45
マイクラのVM環境 もちろん1人で 46
⽬次 nはじめに n実験環境の全体像 nTerraform・Ansible n作ってみたVM環境の説明 n試してみる nまとめ 47
試してみたこと nVMを消しただけ nDockerの設定間違い nOSのカーネルが参照できない nProxmox backup serverが壊れている 48
Dockerの設定間違い dbのポートを間違って設定 49
Dockerの設定間違い 50
Dockerの設定間違い compose.ymlの設定ミス マイクラがDBに 接続できない 51 バックアップには誤設定
Dockerの設定間違い Macbook 52 Proxmox VE PBS Ansible 復元先VM 誤設定があるバックアップデータ
Dockerの設定間違い Macbook 53 Proxmox VE PBS データ Ansible 復元先VM Ansibleで指定
Dockerの設定間違い Macbook 54 Proxmox VE PBS 正しい設定 データ Ansible 復元先VM
Ansibleで指定
Dockerの設定間違い 55 ↑構築時のcompose.yml ←構築時のsite.yml
Dockerの設定間違い 56
試してみたこと nVMを消しただけ nDockerの設定間違い nOSのカーネルが参照できない nProxmox backup serverが壊れている 57
OSのカーネルが参照できない OSのカーネルの参照を違う⽂字列に変えてみる 58
OSのカーネルが参照できない 59
OSのカーネルが参照できない リロードが終わらない… 60
OSのカーネルが参照できない Macbook Proxmox VE PBS Terraform Ansible 復元先VM OS設定が壊れてるバックアップデータ 61
OSのカーネルが参照できない Macbook Proxmox VE インフラ定義 Terraform Ansible PBS 復元先VM 62
OSのカーネルが参照できない Proxmox VE Macbook インフラ定義 Terraform 復元先VM 設定 Ansible PBS
63
OSのカーネルが参照できない Proxmox VE Macbook インフラ定義 PBS データ Terraform 復元先VM 設定
Ansible Ansibleで指定 64
取得するバックアップデータ 65
取得するバックアップデータ 66
取得するバックアップデータ 67
Ansibleのコード例 68
復旧後 69
試してみたこと nVMを消しただけ nDockerの設定間違い nOSのカーネルが参照できない nProxmox backup serverが壊れている 70
PBSが壊れている そもそものバックアップサーバが壊れていたら?? 71
PBSが壊れている Macbook 72 Proxmox VE PBS Terraform Ansible 復元先VM ディスク
PBSが壊れている Macbook 73 Proxmox VE インフラ定義 Terraform Ansible PBS 復元先VM
ディスク
PBSが壊れている 74 Proxmox VE Macbook インフラ定義 Terraform 復元先VM 設定 Ansible
PBS ディスク
PBSが壊れている 75 Proxmox VE Macbook データ全部 インフラ定義 Terraform データ 復元先VM
ディスク PBS Ansibleで指定 設定 Ansible pbsはチャンクという単位でデータを保存しているため
PBSが壊れている Proxmox VE Macbook インフラ定義 Terraform 76 マイクラ関連 データ 復元先VM
データ ディスク Ansibleで指定 設定 Ansible Ansibleで指定 PBS
取得するバックアップデータ マイクラの実データのみ 77
取得するバックアップデータ マイクラの実データのみ ここに保存されてる 78
使⽤したAnsibleコード 79
復旧後 80
⽬次 nはじめに n実験環境の全体像 nTerraform・Ansible n作ってみたVM環境の説明 nVM環境を消してみる nまとめ 81
まとめ!! いかがでしたか? 82
まとめ!! バックアップだけでは復旧できないケースがある中で IaCがその⼿助けをできることを検証してみました. 83
まとめ!! 今回の内容が活かせるようなことがあれば良いですね!(ダメです) 84
まとめ!! 正しいバックアップを取るのが一番 85
More Decks by ユート
See All by ユート
自己紹介をやるよ!!
youto
0
150
Terraformを用いてコードからVMを作成してみる
youto
0
28
TypeScriptの言語仕様から考えるイテレータの定義
youto
0
24
3年間勉強して辿り着いた プログラミング勉強方法
youto
0
330
モチベーション維持アプリの構想と提案
youto
0
53
GitHubの使い方
youto
0
170
天気予報アプリの開発
youto
0
73
Other Decks in Programming
See All in Programming
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
260
Seven New Principles of Software Engineering
yegor256
0
490
Secure Your Coding Agent Like It’s Malware (v1.5) 🇬🇧 @Code.talks 2026
richargh
0
150
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
250
Materialが消えた日 〜真っ白なFlutterキャンバスにRenderObjectで絵を描く〜
umigishiaoi
0
160
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
200
Scalaの型でマルチテナントの認可を守る
nextbeatdev
0
110
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
9.1k
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
330
느린 네트워크와 저사양 디바이스 사용자를 위한 웹뷰 로딩 시간 개선기
kmkim
1
240
Getting Started with Vibe Coding
miccheng
0
220
クラウドエージェントは、 何がそんなに便利なのか / what makes cloud agents so useful
rkaga
5
860
Featured
See All Featured
Prompt Engineering for Job Search
mfonobong
0
580
Building Applications with DynamoDB
mza
96
7.3k
Visualization
eitanlees
153
17k
Speed Design
sergeychernyshev
33
2.2k
How to Ace a Technical Interview
jacobian
280
24k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
350
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
380
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
610
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.7k
The Language of Interfaces
destraynor
162
27k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
Faster Mobile Websites
deanohume
310
32k