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
Terraformを用いてコードからVMを作成してみる
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ユート
October 20, 2026
Programming
28
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Terraformを用いてコードからVMを作成してみる
大学のサークルでLTをしたときの資料です.
Terraformに入門して初めての発表なので大目に見てください...
ユート
October 20, 2026
Transcript
38 slides
Terraformを⽤いてコードからVMを作成する ユート
$ whoami n 名前: ユート n 学年: 4年 n 所属:
情報系の⼤学 n 趣味: 読書・プログラミング・個⼈開発・Atcoder? n 他の活動: n マスタリングTCP/IP輪講会 n NOC(クラウドネイティブ会議・⾃鯖⽸) n SecHack365ʼ25 表現駆動コース 2
はじめに n Terraformとは HashiCorp社が開発した、クラウドやオンプレミスのイン フラ構築・管理をコードによって⾃動化する IaC (Infrastructure as Code) ツール
3
はじめに n Terraformとは HashiCorp社が開発した、クラウドやオンプレミスのイン フラ構築・管理をコードによって⾃動化する IaC (Infrastructure as Code) ツール
IaCの特徴として以下のものが挙げられる. n ネットワークインフラをコードで定義 n 何度やっても同じ結果になる n Gitによるバージョン管理ができる 4
はじめに 5 n Terraformとは HashiCorp社が開発した、クラウドやオンプレミスのイン フラ構築・管理をコードによって⾃動化する IaC (Infrastructure as Code)
ツール IaCの特徴として以下のものが挙げられる. n ネットワークインフラをコードで定義 n 何度やっても同じ結果になる n Gitによるバージョン管理ができる n 環境の複製が容易 n 設定エラーの低減
IaCを使わないと… 6
IaCを使わないと… 7
IaCを使わないと… 8
IaCを使わないと… 9
IaCを使わないと… 10 GUIをぽちぽちするの面倒じゃないですか…?
Terraformを使ってみる 11
Terraformを使ったVM作成の全体像 Terraform Provider Proxmox .tfファイル作成 .tfファイル API受信 terraform plan APIリクエスト作成
VMを作成 terraform apply 送信 資源の割り当て 12
Terraformを使ったVM作成の全体像 Terraform Provider Proxmox .tfファイル作成 .tfファイル API受信 terraform plan APIリクエスト作成
VMを作成 terraform apply 送信 資源の割り当て リソースの定義 状態の反映 13
Terraformを使ったVM作成の全体像 Terraform リソースの定義 Provider APIリクエスト Proxmox .tfファイル作成 .tfファイル API受信 terraform
plan APIリクエスト作成 VMを作成 terraform apply 送信 資源の割り当て 状態の反映 実⾏結果 14
Terraformを使ってみる Terraformの基本構⽂ 15
Terraformを使ってみる Terraformの基本構⽂ resourceとは 管理対象を宣⾔するTerraformの構⽂ →リソースの種類の名前を管理対象とする 16
Terraformを使ってみる Terraformの基本構⽂ resourceとは 管理対象を宣⾔するTerraformの構⽂ →リソースの種類の名前を管理対象とする 17
Terraformを使ってみる Terraformの基本構⽂ resourceとは 管理対象を宣⾔するTerraformの構⽂ →リソースの種類の名前を管理対象と宣⾔ このコードだと… proxmoxのlabというVMを管理対象とする 18
資源を割り当ててみる 19 VMの構成要素に関してもresourceと同じようにブロックで記述する resource cpu memory disk network initialization VM内のuser
資源を割り当ててみる あとはただ書くだけ 20
資源を割り当ててみる あとはただ書くだけ 21
資源を割り当ててみる あとはただ書くだけ 22 直感的に書けるの良い…
資源を割り当ててみる 完成したコードが右のソースコード 23
結局,OSが必要なんですよね VMは,仮想コンピュータなのでその中で動かすOSも インストールしないといけない 24
結局,OSが必要なんですよね VMは,仮想コンピュータなのでその中で動かすOSも インストールしないといけない n 使⽤したOS Ubuntu-24.04.qcow2 25
結局,OSが必要なんですよね VMは,仮想コンピュータなのでその中で動かすOSも インストールしないといけない n 使⽤したOS Ubuntu-24.04.qcow2 26
providerも指定してあげようね Terraformから直接proxmoxにAPIは投げられないのでそれを仲介するものが必要 27
providerも指定してあげようね Terraformから直接proxmoxにAPIは投げられないのでそれを仲介するものが必要 →Provider 28
providerも指定してあげようね Terraformから直接proxmoxにAPIは投げられないのでそれを仲介するものが必要 →Provider 29
あとは,コマンドを叩くだけ 30
あとは,コマンドを叩くだけ 31
あとは,コマンドを叩くだけ 32
あとは,コマンドを叩くだけ 33
あとは,コマンドを叩くだけ 34
あとは,コマンドを叩くだけ 35
あとは,コマンドを叩くだけ 36
Proxmoxで⾒てみる 37
Proxmoxで⾒てみる TerraformからVMを作成できた!! 38
More Decks by ユート
See All by ユート
自宅サーバはどこまで再現できるのか - Proxmox VE上のVM環境をIaCとバックアップで戻してみた
youto
0
110
自己紹介をやるよ!!
youto
0
150
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
Будущее локальных LLM – Алексей Голобурдин, PythoNN
sobolevn
0
120
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
15
12k
コード生成時代のAPI定義を支えるRequest Spec移行
pvcresin
0
120
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
仕様駆動開発入門 (何を作るかを先に決めて渡す) | 目指せ Kiro マスター 05
inariku
PRO
2
150
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
750
止まらない比較を止める — 余帰納法で無限ストリームを比べる
tarao
0
150
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
350
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
230
Claude Code ハーネスDeep Dive – 君はどこまで制御する? -
takateeen_knj
6
5.8k
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.3k
Featured
See All Featured
HDC tutorial
michielstock
2
1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Utilizing Notion as your number one productivity tool
mfonobong
4
640
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
620
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Technical Leadership for Architectural Decision Making
baasie
4
640
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Designing for Performance
lara
612
70k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
520
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Raft: Consensus for Rubyists
vanstee
143
7.9k