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
Cloud MonitoringとTerraformの付き合い方
Search
Taisei Ito
July 02, 2020
Technology
0
1.5k
Cloud MonitoringとTerraformの付き合い方
Taisei Ito
July 02, 2020
Tweet
Share
More Decks by Taisei Ito
See All by Taisei Ito
Grafana Meetup Japan Vol. 6
kaedemalu
1
590
Cloudflare Meetup Nagano Vol.3
kaedemalu
0
82
Cloudflare Meetup Nagano Vol.2
kaedemalu
0
1.7k
20220214_Future Tech Night
kaedemalu
0
2.4k
20210910_nyle
kaedemalu
0
1k
20210827 Future Tech Night
kaedemalu
0
4.5k
CNDO2021 Open Policy Agent
kaedemalu
1
1.4k
20210210 Terraform meetup ONLINE
kaedemalu
0
670
Future Talk Night 20201118
kaedemalu
0
230
Other Decks in Technology
See All in Technology
Dart and Flutter MCP serverで実現する AI駆動E2Eテスト整備と自動操作
yukisakai1225
0
570
個人から巡るAI疲れと組織としてできること - AI疲れをふっとばせ。エンジニアのAI疲れ治療法 ショートセッション -
kikuchikakeru
4
1.6k
生成AIではじめるテスト駆動開発
puku0x
0
130
単一Kubernetesクラスタで実現する AI/ML 向けクラウドサービス
pfn
PRO
1
240
はじめての OSS コントリビューション 〜小さな PR が世界を変える〜
chiroito
4
340
手を動かしながら学ぶデータモデリング - 論理設計から物理設計まで / Data modeling
soudai
PRO
24
6.1k
ステートレスなLLMでステートフルなAI agentを作る - YAPC::Fukuoka 2025
gfx
8
1.3k
なぜThrottleではなくDebounceだったのか? 700並列リクエストと戦うサーバーサイド実装のすべて
yoshiori
13
4.7k
Redux → Recoil → Zustand → useSyncExternalStore: 状態管理の10年とReact本来の姿
zozotech
PRO
18
8.7k
AIと自動化がもたらす業務効率化の実例: 反社チェック等の調査・業務プロセス自動化
enpipi
0
670
国産クラウドを支える設計とチームの変遷 “技術・組織・ミッション”
kazeburo
3
1.6k
JJUG CCC 2025 Fall バッチ性能!!劇的ビフォーアフター
hayashiyuu1
1
360
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Mobile First: as difficult as doing things right
swwweet
225
10k
Faster Mobile Websites
deanohume
310
31k
For a Future-Friendly Web
brad_frost
180
10k
Making Projects Easy
brettharned
120
6.5k
The World Runs on Bad Software
bkeepers
PRO
72
12k
A designer walks into a library…
pauljervisheath
210
24k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
KATA
mclloyd
PRO
32
15k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Transcript
Cloud Monitoringと Terraformの付き合い方 #HashiTalk: Japan 20.07.02 Taisei Ito
本発表は個人の意見であり、 所属組織を代表するものではありません
自己紹介 • 伊藤 太斉(Taisei Ito) ◦ @kaedemalu(Twitter, Github) ◦ フューチャー株式会社
TIG/DX所属 ◦ コンサルタント&インフラエンジニア ◦ #GCP #Terraform • Community ◦ GCPUG Shonan Staff ◦ CloudNative Days Tokyo Committee
はじめに • フューチャーはマルチクラウド化を推進 ◦ 複数のクラウドで使えるTerraformを採用 ◦ 基本的に全部インフラをコードにしている ◦ 監視ツールについてもTerraformで管理 コード化が大変
質問1 監視をTerraformで全部管理 できていますか?✋
質問2 セキュリティ面に気をつけて 書いていますか?✋
今回の話題 • 早く • 楽に • 安全に 監視設定をTerraformで管理する
早く、簡単にTerraform化 1 ~ Cloud Monitoringを例にして ~
Cloud Monitoringについて • GCPの監視ツールの1つ ◦ 他にはLogging, Debugger, Error Reporting etc...
• 元々Stackdriverとして2012年に開発された • 2014年にGoogleに買収され、2020に名前の変更
Cloud Monitoring管理の辛さ • 全部GUIで設定 ◦ 設定がかなり細かい ◦ 時間がかかる • 全部コードで設定
◦ filterの書き方が 難しい ◦ (1から書くと)時間が かかる
最初からコード化は難しい resource "google_monitoring_alert_policy" "someone_alert_policy"{ .... conditions { condition_threshold { aggregations
{ .... filter = "metric.type=\"agent.googleapis.com/disk/percent_used\" resource.type=\"gce_instance\" metric.label.\"state\"=\"used\" metric.label.\"device\"=\"rootfs\" metadata.user_labels.\"name\"=\"sample-instance-1\"" ....
Terraformer • Wazeが開発、現在はGCPのリポジトリの1つ • メジャークラウドのリソースをコード化できる • 1回の実行で複数コード化できる $ terraformer import
google --resources=monitoring --projects certain_project 生成されるコードも大変
メンテナンスが大変 resource "google_monitoring_alert_policy" "tfer--projects--project-name--alertPolicies--17320504" { .... conditions { condition_threshold {
aggregations { .... filter = "metric.type=\"agent.googleapis.com/disk/percent_used\" resource.type=\"gce_instance\" metric.label.\"state\"=\"used\" metric.label.\"device\"=\"rootfs\" metadata.user_labels.\"name\"=\"sample-instance-1\"" ....
Terraformerをうまく使うために • 雛形だけGUIで作成→Terraformerでコード化 Monitoring Batch Instance 1 Batch Instance 2
Load Balancer
Terraformerをうまく使うために • 雛形だけGUIで作成→Terraformerでコード化 Monitoring Batch Instance 1 Batch Instance 2
Load Balancer GUIで作成+Import
Terraformerをうまく使うために • 雛形だけGUIで作成→Terraformerでコード化 Monitoring Batch Instance 1 Batch Instance 2
Load Balancer Terraformで作成
少し安全にコード化する 2
監視ツールのコード化 • 監視ツールの利用で守りたい部分 ◦ Email ◦ API Key ◦ (Slackの)Token
Slack チャンネル Quote:https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel.html
どう守るか • Tokenを書かないといけない ◦ ハードコード ◦ tfvarsで逃す ◦ Vaultを使う ◦
(GCPなら)Secret Manager コード化しない選択肢
コード化をあえてしない resource "google_monitoring_alert_policy" "someone_alert_policy"{ .... display_name = "use-80-percent-resource-disk" enabled =
"true" notification_channels = [ google_monitoring_notification_channel.slack_channel_1.id, "projects/project-name/notificationChannels/0123456789", ] project = "project-name" } コード化しない部分
まとめ • ツールを使ったコード化も必要 ◦ 時間の節約 ◦ 使うときは最小単位で • より安全にコード化するために ◦
クラウド側で担保する ◦ コードが流出した時のリスク ▪ ツール導入を進めながら
We are hiring! • IT Consultant & Engineer ◦ Infrastructure
◦ Application ◦ IoT ◦ AI etc... Tech Blog