Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Terraform超超入門
Search
KishiKyosuke(Kyo18)
November 18, 2022
Programming
0
130
Terraform超超入門
KishiKyosuke(Kyo18)
November 18, 2022
Tweet
Share
More Decks by KishiKyosuke(Kyo18)
See All by KishiKyosuke(Kyo18)
Railsアップグレード
kishikyousuke
0
67
自作サービスProspectsWatcherの開発報告
kishikyousuke
0
90
OAuthと仲良くなりたかった
kishikyousuke
0
1.1k
Other Decks in Programming
See All in Programming
Claude Code派?Gemini CLI派? みんなで比較LT会!_20250716
junholee
1
530
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
300
型で語るカタ
irof
0
700
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
170
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
260
チームで開発し事業を加速するための"良い"設計の考え方 @ サポーターズCoLab 2025-07-08
agatan
1
470
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
2
12k
初学者でも今すぐできる、Claude Codeの生産性を10倍上げるTips
s4yuba
16
13k
TypeScriptでDXを上げろ! Hono編
yusukebe
3
770
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
2
200
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
11
1.6k
What's new in AppKit on macOS 26
1024jp
0
150
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.1k
Optimizing for Happiness
mojombo
379
70k
A better future with KSS
kneath
238
17k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
For a Future-Friendly Web
brad_frost
179
9.8k
Designing for humans not robots
tammielis
253
25k
Being A Developer After 40
akosma
90
590k
Music & Morning Musume
bryan
46
6.7k
Thoughts on Productivity
jonyablonski
69
4.7k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Transcript
Terraform 超超入門 2022/6/10 岸 恭輔 Created using Marp 1
目次 1. 今日話すこと, 話さないこと 2. Terraform って何? 3. Terraform を使うと何が嬉しいの?
4. Terraform の基本的な使い方 5. tfstate ファイルに関して 6. まとめ 2
1 .今日話すこと , 話さないこと 3
1 .今日話すこと , 話さないこと 話すこと Terraform を使うメリットと超基本的な使い方 話さないこと AWS の各リソースの説明
Terraform 導入時の設定 Terraform の応用的な使い方 4
2 . Terraform って何 5
2 . Terraform って何? コード化された構築設定に従って自動で 任意のクラウド環境に対してデプロイできるツール 6
◦ 構築設定をコード化できる → 通常は以下のAWS のマネジメントコンソールで設定していく 2.Terraform って何? 7
◦ 構築設定をコード化できる 一つ一つ手で設定していくよりも 設定ファイルのような形式でコード化した方が便利では… ? → Infrastructure as Code(IaC) resource
"aws_instance" "hello-world" { ami = "ami-02c3627b04781eada" instance_type = "t2.micro" tags = { Name = "HelloWorld" } } 2.Terraform って何? 8
◦ 複数のクラウド環境に対応 2.Terraform って何? 9
3 . Terraform を使うと何が嬉しいの 10
Terraform ( IaC )のメリット ① . 素早く正確にインフラ構築ができる ② . GitHub
でのバージョン管理ができる ③ . コードがそのままドキュメントになる 3.Terraform を使うと何が嬉しいの? 11
① . 素早く正確にインフラ構築ができる EC2, RDS, ALB, S3... 多くのリソースを手作業で設定するのは大変 複数環境を用意するならなおさら! 3.Terraform
を使うと何が嬉しいの? 12
① . 素早く正確にインフラ構築ができる Terraform によってコード化することで … ◉同じ設定の環境を何度でも再現可能 ◉自動でリソースの設定を行ってくれるため人的ミスが減る ◉ コマンド一つでリソースの作成・変更・削除が可能
3.Terraform を使うと何が嬉しいの? 13
② . GitHub でのバージョン管理ができる ◉ 設定の変更履歴を残すことができる → いつでも以前の構成・設定に戻すことができる ◉ GitHub
Actios での CI/CD の実現 →Terraform のファイルの変更がコミットされると自動的にインフラ に変更が反映される仕組みづくりなど 3.Terraform を使うと何が嬉しいの? 14
③ . コードがそのままドキュメントになる ◉ 簡単な構成や設定の確認はコードを読めば OK → わざわざマネジメントコンソールを見に行く必要なし ◉ もちろんコード内にコメントを残すことも可能
→ 別途ドキュメントを作って設定理由などを書く必要もなし 3.Terraform を使うと何が嬉しいの? 15
Terraform ( IaC )のメリット ① . 素早く正確にインフラ構築ができる ② . GitHub
でのバージョン管理ができる ③ . コードがそのままドキュメントになる 3.Terraform を使うと何が嬉しいの? 16
4 . Terraform の基本的な使い方 17
① .tf ファイルの書き方 ② 基本となる 3 つのコマンド 4 .Terraform の基本的な使い方
18
① .tf ファイルの書き方 AWS のリソースの設定を書き込むのが .tf ファイル resource <RESOURCE_TYPE> <RESOURCE_NAME>
{ # リソースの各種設定 <KEY> = <VALUE> ... } resource: Terraform 管理対象となるリソースを表すブロックタイプ。 <RESOURCE_TYPE>: ブロックタイプに与えられるラベル。 4 .Terraform の基本的な使い方 19
① .tf ファイルの書き方 EC2 インスタンスを作成する .tf ファイルの例 provider "aws" {
profile = "terraform-user" region = "ap-northeast-1" } resource "aws_instance" "hello-world" { ami = "ami-02c3627b04781eada" instance_type = "t2.micro" tags = { Name = "HelloWorld" } } 4 .Terraform の基本的な使い方 20
② 基本となる 3 つのコマンド $ terraform apply $ terraform destroy
$ terraform plan 4 .Terraform の基本的な使い方 21
$ terraform apply .tf ファイルの更新内容を AWS に反映するコマンド 反映される内容を確認し、 "yes" を入力して実行
4 .Terraform の基本的な使い方 22
4 .Terraform の基本的な使い方 23
$ terraform destroy .tf ファイルの管理対象の AWS リソースをすべて 削除するコマンド 削除される内容を確認し、 "yes"
を入力して実行 4 .Terraform の基本的な使い方 24
4 .Terraform の基本的な使い方 25
$ terraform plan .tf ファイルの内容を反映 した際の設定の diff を 確認するためのコマンド $
terraform plan -destory で destroy 時の diff を確認 4 .Terraform の基本的な使い方 26
5 . tfstate ファイルに関して 27
tfstate ファイルとは? Terraform が管理しているリソ ースの現在の状態を記録して いるJSON ファイル。 apply などのコマンドは ソースコードと
tfstate の差分 を見て実行される 5 .tfstate ファイルに関して 28
Terraform で管理しているリソースに関しては AWS 上の設定 = tfstate ファイルの内容 となる必要がある。 手動でリソースの設定変更を行った際は terraform
refresh による tfstate の更新を忘れずに 5 .tfstate ファイルに関して 29
6. まとめ 30
・ Terraform 実際に使ってみるとかなり便利 ・モジュールとかディレクトリ構成とか学びたい ・( Marp 使ってみたけど良さげ) 6 .まとめ 31
ご清聴ありがとうございました 32