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
120
Terraform超超入門
KishiKyosuke(Kyo18)
November 18, 2022
Tweet
Share
More Decks by KishiKyosuke(Kyo18)
See All by KishiKyosuke(Kyo18)
Railsアップグレード
kishikyousuke
0
60
自作サービスProspectsWatcherの開発報告
kishikyousuke
0
79
OAuthと仲良くなりたかった
kishikyousuke
0
970
Other Decks in Programming
See All in Programming
Open Source Swift Workshop - Foundation and first party libraries
ikesyo
0
180
チームでモデリングを育てるうえで 考えたこと・気づいたこと / Cultivating Modeling in Teams: Thoughts and Insights
mackey0225
5
2.2k
WinUI 3デモ - "CommunityToolkit.Mvvm"NuGetパッケージ編
andrewkeepcoding
0
130
WasmOS: Wasmを実行する自作Microkernel
riru
0
370
「コンパイル時のユニットテスト」導入するとユニットテストを 書かなくてよくなるのか?
tomohisa
9
2.2k
マイ隙間家具OSSたちのご紹介
karupanerura
2
150
Migrating to Signals: A Practical Workshop
manfredsteyer
PRO
0
280
DDDはなぜ難しいのか / 良いコードの定義と設計能力の壁
pospome
24
7.3k
incrementalモデルの理解を深める
ikkimiyazaki
2
640
SwiftUI, Jetpack Composeの導入で変化した「家族アルバム みてね」のアプリ開発体験
hicka04
6
400
Creating Retro-Style Photos Using Swift
ski
1
340
[スクリプト] Swiftの型推論を学ぼう
omochi
0
110
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1353
200k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Adopting Sorbet at Scale
ufuk
66
8.5k
Building Applications with DynamoDB
mza
88
5.6k
What the flash - Photography Introduction
edds
64
11k
Docker and Python
trallard
33
2.6k
Six Lessons from altMBA
skipperchong
19
2.9k
Product Roadmaps are Hard
iamctodd
43
9.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
Stop Working from a Prison Cell
hatefulcrawdad
265
19k
GraphQLの誤解/rethinking-graphql
sonatard
48
9.1k
Visualization
eitanlees
135
14k
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