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
97
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
810
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
Agile that works and the tools we love
rasmusluckow
331
21k
For a Future-Friendly Web
brad_frost
180
10k
Thoughts on Productivity
jonyablonski
73
5k
Accessibility Awareness
sabderemane
0
29
Ruling the World: When Life Gets Gamed
codingconduct
0
120
Making Projects Easy
brettharned
120
6.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
260
Applied NLP in the Age of Generative AI
inesmontani
PRO
3
2k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
130
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
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リソース超えそう、、、