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
28
ゲームから学ぶ、いちばん速いインシデント対応
jacopen
1
52
PEK2024 Recap
jacopen
2
120
クラウドネイティブの本質から考える、生産性と信頼性の両立
jacopen
3
810
「責任ある開発」を!フルサービスオーナーシップが変えるエンジニアリング文化
jacopen
9
1.9k
手を動かさないインシデント対応〜自動化で迅速・正確な運用を目指す〜
jacopen
3
410
エンジニアとしてのキャリアを支える自宅サーバー
jacopen
12
7.2k
Grafana x PagerDuty Better Together
jacopen
1
680
「共通基盤」を超えよ! 今、Platform Engineeringに取り組むべき理由
jacopen
27
9.5k
Other Decks in Technology
See All in Technology
Snowflakeでスロークエリ改善に取り組んだ話
tabata0208
0
160
WebRTC と AI の組み合わせ
tnoho
0
450
30万人が利用するチャットをFirebase Realtime DatabaseからActionCableへ移行する方法
ryosk7
2
230
オニオンアーキテクチャで実現した 本質課題を解決する インフラ移行の実例
hryushm
11
2.3k
生成AIの活用パターンと継続的評価
asei
10
1.3k
Why and Why not of enabling swap in Kubernetes
hwchiu
0
440
クライアントサイドでよく使われる Debounce処理 をサーバサイドで3回実装した話
yoshiori
1
110
端末が簡単にリモートから操作されるデモを通じて ソフトウェアサプライチェーン攻撃対策の重要性を理解しよう
kitaji0306
0
130
Databricksワークショップ - 生成AIとDWH
taka_aki
2
4.5k
全部見せます! BigQueryのコスト削減の手法とその効果 / BigQuery Cost Reduction Methods
shiozaki
1
520
インシデント対応の 実践と品質文化の醸成
____rina____
2
1.4k
Apple/Google/Amazonの決済システムの違いを踏まえた定期購読課金システムの構築 / abema-billing-system
cyberagentdevelopers
PRO
1
140
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
59k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
41
9.2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
[RailsConf 2023] Rails as a piece of cake
palkan
50
4.8k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
Navigating Team Friction
lara
183
14k
BBQ
matthewcrist
85
9.3k
GitHub's CSS Performance
jonrohan
1030
460k
Visualization
eitanlees
143
15k
What's in a price? How to price your products and services
michaelherold
243
11k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
41
2.1k
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