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
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Terraform Cloudを使ってみた
Terraform Cloudを個人開発で使ってみた際のメリット・デメリットを簡単にまとめました
Yohei Okabayashi
January 19, 2024
More Decks by Yohei Okabayashi
See All by Yohei Okabayashi
MonotaROにおけるGNNによるベクトル検索 〜 ロングテール商品のコールドスタート問題の対応 〜
haru256
2
920
Featured
See All Featured
Believing is Seeing
oripsolob
1
170
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
750
Facilitating Awesome Meetings
lara
57
7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Paper Plane
katiecoart
PRO
2
52k
Leo the Paperboy
mayatellez
8
1.9k
The Limits of Empathy - UXLibs8
cassininazir
1
530
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.3k
Speed Design
sergeychernyshev
33
1.9k
The SEO Collaboration Effect
kristinabergwall1
1
510
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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リソース超えそう、、、