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
FastlyとTerraform Cloudで最高な自動化を実現しよう
Search
Kazuto Kusama
March 04, 2023
Technology
0
310
FastlyとTerraform Cloudで最高な自動化を実現しよう
Fastly Yamagoya2022で登壇した資料です
Kazuto Kusama
March 04, 2023
Tweet
Share
More Decks by Kazuto Kusama
See All by Kazuto Kusama
2024/10 PagerDuty機能アップデート
jacopen
1
32
ゲームから学ぶ、いちばん速いインシデント対応
jacopen
1
57
PEK2024 Recap
jacopen
2
130
クラウドネイティブの本質から考える、生産性と信頼性の両立
jacopen
3
840
「責任ある開発」を!フルサービスオーナーシップが変えるエンジニアリング文化
jacopen
11
2k
手を動かさないインシデント対応〜自動化で迅速・正確な運用を目指す〜
jacopen
3
430
エンジニアとしてのキャリアを支える自宅サーバー
jacopen
12
7.3k
Grafana x PagerDuty Better Together
jacopen
1
710
「共通基盤」を超えよ! 今、Platform Engineeringに取り組むべき理由
jacopen
27
10k
Other Decks in Technology
See All in Technology
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
SSMRunbook作成の勘所_20241120
koichiotomo
3
160
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
AIチャットボット開発への生成AI活用
ryomrt
0
170
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
450
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
AGIについてChatGPTに聞いてみた
blueb
0
130
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
130
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
Lexical Analysis
shigashiyama
1
150
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
3
620
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Code Reviewing Like a Champion
maltzj
520
39k
Typedesign – Prime Four
hannesfritz
40
2.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Visualization
eitanlees
145
15k
Why Our Code Smells
bkeepers
PRO
334
57k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Thoughts on Productivity
jonyablonski
67
4.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Transcript
Copyright © 2021 HashiCorp FastlyとTerraform Cloudで 最高な自動化を実現しよう .
Copyright © 2021 HashiCorp 草間一人 Sr. Solutions Engineer @jacopen Kazuto
Kusama
None
None
会場のみなさんに聞きたい Fastlyといえば何?
会場のみなさんに聞きたい Fastlyといえば何? CDN VCL
会場のみなさんに聞きたい Fastlyといえば何? CDN VCL TLS WAF Compute
めっちゃ便利だけど 設定どうやって管理しよう?
自動化している 自動化していない
で自動化しませんか?
▪ インフラのプロビジョニングツール ▪ 構成をHCL(HashiCorp Configration Language)で コード化 ▪ Infrastructure as
Codeを実現
resource "aws_network_interface" "foo" { subnet_id = aws_subnet.my_subnet.id private_ips = ["172.16.10.100"]
tags = { Name = "primary_network_interface" } } resource "aws_instance" "foo" { ami = "ami-005e54dee72cc1d00" instance_type = "t2.micro" network_interface { network_interface_id = aws_network_interface.foo.id device_index = 0 } credit_specification { cpu_credits = "unlimited" } } Network Interface AMI Instance type Network interfaceと紐 付け
Fastly Terraform Provider
Fastly Terraform Provider Compute@Edge TLS WAF VCL
Customer 何故Terraformで自動化が重要なのか
Customer Backend
Customer Backend Deploy
Customer Backend Log, Metrics Deploy これらの環境をミス無く、効率よく管理
None
Terraform Providers Cloud Network SaaS Orchestrator On-Prem Monitoring
None
None
Terraformは便利、でも・・・ 規模が大きくなればなるほど 悩みも増える
Terraformは便利、でも・・・ バージョン管理 したい Gitにcommitしたら 自動でPlanしたい Stateファイルを 良い感じに管理したい
None
▪ HashiCorpが提供するSaaS ▪ Terraformの最適なワークフローを提供 – 各種VCSとの連携(GitHub, GitLab, Azure DevOps etc..)
– ステートの管理 – 変数の管理 ▪ 有償版のTerraform Cloud Businessもある – Policy as Code – Audit Log – SSO Integration
None
ステートファイルの保存 apply 生成 ステートファイル
ステートファイルの保存 apply 生成 ステートファイル
Gitリポジトリとの連携 push apply
Gitリポジトリとの連携 push apply
Gitリポジトリとの連携 push apply
複数人でTerraform運用 チームが何人になっても Terraformの運用を スケールできる
IaCでよくある悩み Fastly設定のコード化・自動化 詳しくないメンバーが 直接設定を変更してしまう 差分が生まれる
IaCでよくある悩み 差分が生まれる 管理されていない 設定が入っていることによ るセキュリティ問題 気づかずにTerraformを実 行して設定がまき戻る問 題
1. 検知 2. 通知 3. ステート修正 Drift Detection
こういう場合はどうする? https://example.com/ https://example.com/ui https://example.com/api https://example.com/auth On-prem S3 Amplify チームのスケールに 管理が追いつかない
Workspace & terraform_remote_state FastlyをIaCするリポジトリ アプリをIaCするリポジトリ
アプリのIaC リポジトリ & Workspace側 S3 Bucketを作成 & website_endpointをoutput Terraform Cloud上のStateを
terraform-fastly workspaceに共有
FastlyのIaC リポジトリ & Workspace側 Terraform Cloudの terraform-fastly-app workspaceの Stateを使うと宣言 State内の
output(website_endpoint)を backendのaddressに設定
こういう場合はどうする? https://example.com/ https://example.com/ui https://example.com/api https://example.com/auth On-prem S3 Amplify 自分たちのリソースは 自分たちで管理
リモートステートで 緩やかに連携
None
Thank You
[email protected]
www.hashicorp.com