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
kashiwaguma-hiro
June 05, 2019
Technology
0
180
Terraformのざっくり入門
チームメンバ向けの勉強資料。
構成要素と、tfstateに主眼をあてた説明です。
kashiwaguma-hiro
June 05, 2019
Tweet
Share
More Decks by kashiwaguma-hiro
See All by kashiwaguma-hiro
読んだ気になれる_オライリー本の攻略法
kashiwagumahiro
0
10
Ansistrano(&Ansible) への導入
kashiwagumahiro
0
420
DMM.comの課金プラットフォームにおけるサーバーサイドKotlin事情
kashiwagumahiro
1
3.7k
Rundeckで 秘匿情報パラメータを セキュアに扱う
kashiwagumahiro
0
690
Other Decks in Technology
See All in Technology
Evolution of Claude Code & How to use features
oikon48
1
580
「ストレッチゾーンに挑戦し続ける」ことって難しくないですか? メンバーの持続的成長を支えるEMの環境設計
sansantech
PRO
3
610
JAWS DAYS 2026 ExaWizards_20260307
exawizards
0
400
開発組織の課題解決を加速するための権限委譲 -する側、される側としての向き合い方-
daitasu
5
560
S3はフラットである –AWS公式SDKにも存在した、 署名付きURLにおけるパストラバーサル脆弱性– / JAWS DAYS 2026
flatt_security
0
1.7k
20260311 ビジネスSWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
250
2026-03-11 JAWS-UG 茨城 #12 改めてALBを便利に使う
masasuzu
2
340
[JAWSDAYS2026][D8]その起票、愛が足りてますか?AWSサポートを味方につける、技術的「ラブレター」の書き方
hirosys_
3
120
Agentic Software Modernization - Back to the Roots (Zürich Agentic Coding and Architectures, März 2026)
feststelltaste
1
240
スクリプトの先へ!AIエージェントと組み合わせる モバイルE2Eテスト
error96num
0
150
マルチアカウント環境でSecurity Hubの運用!導入の苦労とポイント / JAWS DAYS 2026
genda
0
410
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.1k
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
690
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Between Models and Reality
mayunak
2
230
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
130
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Abbi's Birthday
coloredviolet
2
5.3k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
210
GraphQLとの向き合い方2022年版
quramy
50
14k
Visualization
eitanlees
150
17k
Context Engineering - Making Every Token Count
addyosmani
9
740
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.8k
Transcript
Terraform ざっくり入門 柏熊 宏幸
Terraformとは
Terraformとは • HashiCorp社が開発 • Infrastructure as Codeを実現するツールの一種 ◦ SaaS、AWSやGCP等のクラウドサービスがターゲット ◦
オンプレサーバの構築や、プロビジョニング周りは{無理|不得意} • サポートしているサービスは様々 ◦ AWS ◦ GCP ◦ Azure … etc
構成要素
構成要素 設定ファイル (Resource,Module) ステータス (Backend) 対象環境 (Provider) .tfstate x.tf y.tf
構成要素 設定ファイル (Resource,Module) ステータス (Backend) 対象環境 (Provider) .tfstate x.tf y.tf
・対象環境に作るリソースを定義するファイル . resource:最小単位. module :複数のresourceをまとめた単位 ・moduleは自前で作成可能だし、配布も可能 . ref ・resourceは小さい単位なので、適宜 module化がおススメ.
構成要素 設定ファイル (Resource,Module) ステータス (Backend) 対象環境 (Provider) .tfstate x.tf y.tf
・Terraform側のステータスを定義 . Terraform管理下のリソース情報を保持 . ・保存先はいろいろある . ref
構成要素 設定ファイル (Resource,Module) ステータス (Backend) 対象環境 (Provider) .tfstate x.tf y.tf
・環境構築や認証方法を提供 . ・様々なクラウドサービス、SaaSが存在. ・複数プロバイダを組み合わせることが可能 →マルチクラウドを構築可能
動作のきほん
動作のきほん .tfstate x.tf y.tf 設定ファイル (Resource,Module) ステータス (Backend) 対象環境 (Provider)
動作のきほん .tfstate x.tf y.tf 設定ファイルとステータスが同一となるよう、差分を 対象環境へ反映する 設定ファイル (Resource,Module) ステータス (Backend)
対象環境 (Provider)
リソース追加した時
リソース追加した時 .tfstate x.tf y.tf z.tf z.tfに設定を追加 設定ファイル (Resource,Module) ステータス (Backend)
対象環境 (Provider)
リソース追加した時 .tfstate x.tf y.tf z.tf 設定ファイルにあるが、 ステータスにない場合、 ステータスに追加 設定ファイル (Resource,Module)
ステータス (Backend) 対象環境 (Provider)
リソース追加した時 .tfstate x.tf y.tf z.tf z.tfのリソースを 対象環境へ 新規作成 設定ファイル (Resource,Module)
ステータス (Backend) 対象環境 (Provider)
リソース削除した時
リソース削除した場合のうごき .tfstate x.tf y.tf z.tf y.tfの設定を消す 設定ファイル (Resource,Module) ステータス (Backend)
対象環境 (Provider)
リソース削除した場合のうごき .tfstate x.tf z.tf 設定ファイルにないステータ スは差分となる ステータスから削除 設定ファイル (Resource,Module) ステータス
(Backend) 対象環境 (Provider)
リソース削除した場合のうごき .tfstate x.tf z.tf y.tfのリソースを 対象環境から 削除 設定ファイル (Resource,Module) ステータス
(Backend) 対象環境 (Provider)
.tfstateにないリソースが変更された時
.tfstateにないリソースが変更された時 .tfstate x.tf y.tf z.tf 設定ファイル (Resource,Module) ステータス (Backend) 対象環境
(Provider) .tfstateに無いリ ソースを手動で作 る
.tfstateにないリソースが変更された時 .tfstate x.tf y.tf z.tf 設定ファイル (Resource,Module) ステータス (Backend) 対象環境
(Provider) .tfstateに無いの で変化なし
.tfstateにないリソースが変更された時 .tfstate x.tf y.tf z.tf 設定ファイル (Resource,Module) ステータス (Backend) 対象環境
(Provider) 一部だけTerraformするのもあり! 手動で作ってからTerraform化、とかやりやすい!
まとめ
まとめ • Terraformの構成要素は3つ. ◦ 設定ファイル(Resource,Module) ◦ ステータス(Backend) ◦ 対象環境(Provider) •
Providerが豊富なので自由度が高い. ◦ アプリケーション環境はAWS、モニタリングはDatadogなど • 宣言的に環境を定義できる. ◦ 設定ファイル通りになるように、対象環境を変更する. ◦ ステータスに存在しないリソースは対象外なので、一部だけ適用可能.
おわり
付録:勉強会実施時のQ.A.
付録:勉強会実施時のQ.A. 1. リソース作成順序はどうなるの? ◦ よしなに計算してくれる. ▪ 依存関係のないものは、並列実行 ▪ 依存関係のあるものは、依存先から実行 2.
リソースを変更した場合の挙動はどうなるの? ◦ 削除して作成と、更新のパターンがあります。 ◦ 重要なリソースについては予め lifecycleで制御したほうがいい。