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
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Terraform超超入門
KishiKyosuke(Kyo18)
November 18, 2022
More Decks by KishiKyosuke(Kyo18)
See All by KishiKyosuke(Kyo18)
Railsのオートリロード機能の仕組み
kishikyousuke
0
27
Railsアップグレード
kishikyousuke
0
74
自作サービスProspectsWatcherの開発報告
kishikyousuke
0
98
OAuthと仲良くなりたかった
kishikyousuke
0
1.3k
Other Decks in Programming
See All in Programming
JavaDoc 再入門
nagise
1
370
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
240
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
260
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.4k
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
New "Type" system on PicoRuby
pocke
1
970
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
11
5.8k
AIで効率化できた業務・日常
ochtum
0
140
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
130
スマートグラスで並列バイブコーディング
hyshu
0
150
AI 輔助遺留系統現代化的經驗分享
jame2408
1
660
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
5.5k
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
390
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
We Are The Robots
honzajavorek
0
250
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
750
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Documentation Writing (for coders)
carmenintech
77
5.4k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
The agentic SEO stack - context over prompts
schlessera
0
820
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Marketing to machines
jonoalderson
1
5.5k
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