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
57
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
580
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
940
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Optimizing for Happiness
mojombo
379
70k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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リソース超えそう、、、