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
230
FastlyとTerraform Cloudで最高な自動化を実現しよう
Fastly Yamagoya2022で登壇した資料です
Kazuto Kusama
March 04, 2023
Tweet
Share
More Decks by Kazuto Kusama
See All by Kazuto Kusama
「共通基盤」を超えよ! 今、Platform Engineeringに取り組むべき理由
jacopen
25
6.2k
いろんな外資、いろんなロールで働いてみた話
jacopen
14
4.6k
サービスの危機に立ち向かうリーダーシップ~インシデントコマンダーの役割と戦略~
jacopen
20
6k
5分でわかる(かもしれない)Platform Engineering
jacopen
4
730
ChatOpsで回す、クラウドネイティブな組織運営
jacopen
1
190
2024年のPlatform Engineeringはこうなる(なってほしい)
jacopen
7
3.7k
技術の洪水に立ち向かう: 開発者の心を軽くするプラットフォームエンジニアリングの話
jacopen
12
6.3k
プラットフォーム名決めるのも、ロゴ作るのも、プラットフォームチームの仕事です
jacopen
3
190
CNCFが考えるPlatform - Platforms White Paperについて
jacopen
2
1k
Other Decks in Technology
See All in Technology
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
240
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
2
150
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
160
MapLibreとAmazon Location Service
dayjournal
1
140
Tableau事例紹介 / Tableau Case Study of Eureka
kazuya_araki_tokyo
1
180
20240416_devopsdaystokyo
kzkmaeda
1
210
「手動オペレーションに定評がある」と言われた私が心がけていること / phpcon_odawara2024
blue_goheimochi
2
370
Google Cloud Next '24でブログを10本書いた方法と勉強会を沸かせた方法
yasumuusan
0
250
SIEMを用いて、セキュリティログ分析の可視化と分析を実現し、PDCAサイクルを回してみた
coconala_engineer
0
270
私が trocco を推す理由
__allllllllez__
1
190
Algyan イベント振り返り
linyixian
0
200
ユーザーストーリーのレビューを自動化したみたの
bun913
1
380
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
43
9.7k
The Art of Programming - Codeland 2020
erikaheidi
41
12k
The Pragmatic Product Professional
lauravandoore
24
5.8k
Navigating Team Friction
lara
177
13k
Music & Morning Musume
bryan
41
5.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
12
4.6k
Unsuck your backbone
ammeep
662
57k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
Done Done
chrislema
178
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
124
32k
Teambox: Starting and Learning
jrom
128
8.4k
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