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 Cloudを使ってみた
Search
Yohei Okabayashi
January 19, 2024
0
83
Terraform Cloudを使ってみた
Terraform Cloudを個人開発で使ってみた際のメリット・デメリットを簡単にまとめました
Yohei Okabayashi
January 19, 2024
Tweet
Share
More Decks by Yohei Okabayashi
See All by Yohei Okabayashi
MonotaROにおけるGNNによるベクトル検索 〜 ロングテール商品のコールドスタート問題の対応 〜
haru256
2
720
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
890
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Code Reviewing Like a Champion
maltzj
526
40k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Being A Developer After 40
akosma
91
590k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Pragmatic Product Professional
lauravandoore
36
7k
Optimizing for Happiness
mojombo
379
70k
Unsuck your backbone
ammeep
671
58k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Side Projects
sachag
455
43k
Transcript
Terraform Cloudを 使ってみた Terraform Cloud のメリット・デメリット haru256
• terraform cloud はterraoformを開発しているHashiCorp社が運営するCloud • 主に以下3点のサービスを提供 ◦ tfstateの管理 ◦ terraformの実行環境
◦ terraformのCI/CD環境 • Terraform cloud で terraform が実行されるtriggerは3種類 ◦ CLI-driven: local PC上でterraform commandを実行する ◦ VCS-driven: GithubなどのVCS上でのevent (e.g. PRが作成されたら, main branchに commitされたら...) ◦ API-driven: APIを叩く Terraform Cloud とは
Terraform Cloud とは 出典 CLI-driven VCS-driven デモあり Workload Identityにより 各種CloudのSA権限で実行
terraform実行環境とtfstateは terraform cloud上で一元管理
• terraform実行環境がterraform cloudに集約される ◦ 環境に一貫性がある ◦ tfstateの履歴がわかる ◦ terraform variablesを一元管理できる
◦ tfstateがロックされているかどうかが一目瞭然であり、ロックされている場合、どの jobにより ロックされているかが分かる • terraform plan, applyにおいて、作成・変更・削除される内容が分かりやすい ◦ terraform apply のログがのこり、誰が何のリソースを変更したが分かる • terraformがサポートする専用アプリがあり、 GithubやSlackの連携が容易 ◦ Githubの専用アプリによるGithubとのCI/CD連携が容易 ◦ Slack通知機能があり、Slack WebhookのURLを連携すればapply時に通知される • terraform cloudとGCPなどの他cloudとの連携にworkload identityが使える Terraform Cloud のメリット デモあり
terraform apply のハイライト
terraform apply のハイライト • どういう変更が発生するかを把握しやすい
terraform plan, apply の履歴 • どういう変更があったかがわ かる
terraform variablesを一元管理できる
tfstateの履歴がわかる
VCS-driven により GithubとのCI/CDが簡単にできる Slackとの連携がサポートされてお り、簡単にplan, applyの通知機能が 作れる
• terraform plan, apply時に毎回providerの取得(環境構築)をするので、その分実行に時間 がかかる ◦ Github Acitionのcache機能のように、 providerに変化なければ以前の cacheを使うよ
うにしたいが、そのような機能はなさそう ... • terraform の実行環境がterraform cloudに集約されるため、融通がきかないことがある ◦ 具体的には、workload identityのSAの権限次第ではデッドロック状態に陥る ◦ デッドロック状態に陥ると、一時的に terraform cloudとの連携を切らなければならない(こ れが面倒...) • terraform cloud上のUI操作で作成されたterraform cloudのリソースがtfstateで管理され たりされなかったりする Terraform Cloud のデメリット デモあり
Terraform Cloud の料金体系 • 月に500リソースまでであれば無料 • 以前は、無料枠は1組織に5人までという制約だったが、人数 の制約ではなく、リソース数の制約になった • 詳細はこちら
Terraform Cloud の無料枠ってどのくらい? • 私が個人開発で作成している状況をもとに 500リソースが多いのか少ないのかを把握 • 現在、71リソースを管理 ◦ 1プロジェクトしか管理していない
◦ プロジェクト = Google Cloudの料金 Slack通知機能 • 簡単に500リソース超えそう、、、