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
C++20 射影変換
faithandbrave
0
560
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
730
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
710
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
0
300
VS Code Update for GitHub Copilot
74th
2
590
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
400
Goで作る、開発・CI環境
sin392
0
190
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
670
#QiitaBash MCPのセキュリティ
ryosukedtomita
0
830
CursorはMCPを使った方が良いぞ
taigakono
1
220
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
1.1k
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.8k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Embracing the Ebb and Flow
colly
86
4.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
BBQ
matthewcrist
89
9.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
24k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
How GitHub (no longer) Works
holman
314
140k
RailsConf 2023
tenderlove
30
1.1k
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