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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
KishiKyosuke(Kyo18)
November 18, 2022
Programming
0
150
Terraform超超入門
KishiKyosuke(Kyo18)
November 18, 2022
Tweet
Share
More Decks by KishiKyosuke(Kyo18)
See All by KishiKyosuke(Kyo18)
Railsのオートリロード機能の仕組み
kishikyousuke
0
18
Railsアップグレード
kishikyousuke
0
72
自作サービスProspectsWatcherの開発報告
kishikyousuke
0
93
OAuthと仲良くなりたかった
kishikyousuke
0
1.2k
Other Decks in Programming
See All in Programming
2026/02/04 AIキャラクター人格の実装論 口 調の模倣から、コンテキスト制御による 『思想』と『行動』の創発へ
sr2mg4
0
700
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.6k
Geminiの機能を調べ尽くしてみた
naruyoshimi
0
200
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
150
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
340
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
330
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
3.2k
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
960
atmaCup #23でAIコーディングを活用した話
ml_bear
4
750
Claude Code、ちょっとした工夫で開発体験が変わる
tigertora7571
0
200
Ruby x Terminal
a_matsuda
7
590
AI活用のコスパを最大化する方法
ochtum
0
120
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
280
Writing Fast Ruby
sferik
630
63k
A better future with KSS
kneath
240
18k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
170
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
230
Building an army of robots
kneath
306
46k
The Limits of Empathy - UXLibs8
cassininazir
1
240
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
660
Docker and Python
trallard
47
3.8k
Test your architecture with Archunit
thirion
1
2.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
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