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
Goコンパイラを作ってGoをもっと理解する / Build a Go compiler to better understand Go
ikura_hamu
0
130
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
Scalaの型でマルチテナントの認可を守る
nextbeatdev
0
110
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
240
どうしても Eloquent でリポジトリパターンをやりたいんだ #phpcon_niigata / phpcon-niigata-2026
shogogg
0
210
Modernizing iOS Apps
seyfoyun
0
150
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
15
12k
例外からRich Errorsまで Kotlinエラーハンドリングの進化を読み解く
shiita0903
0
140
小さなアプリを作って公開するまで
onozaty
0
180
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.3k
止まらない比較を止める — 余帰納法で無限ストリームを比べる
tarao
0
150
[Kotlin Fest 2026] eBPF Tracing for Kotlin
takehaya
1
130
Featured
See All Featured
Evolving SEO for Evolving Search Engines
ryanjones
0
360
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
980
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
1
310
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
640
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Abbi's Birthday
coloredviolet
5
11k
Fireside Chat
paigeccino
43
4.1k
Unsuck your backbone
ammeep
672
58k