Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Cloud MonitoringとTerraformの付き合い方
Search
Taisei Ito
July 02, 2020
Technology
1.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloud MonitoringとTerraformの付き合い方
Taisei Ito
July 02, 2020
More Decks by Taisei Ito
See All by Taisei Ito
Grafana Meetup Japan Vol. 6
kaedemalu
1
950
Cloudflare Meetup Nagano Vol.3
kaedemalu
0
130
Cloudflare Meetup Nagano Vol.2
kaedemalu
0
2.2k
20220214_Future Tech Night
kaedemalu
0
2.6k
20210910_nyle
kaedemalu
0
1.1k
20210827 Future Tech Night
kaedemalu
0
4.6k
CNDO2021 Open Policy Agent
kaedemalu
1
1.5k
20210210 Terraform meetup ONLINE
kaedemalu
0
710
Future Talk Night 20201118
kaedemalu
0
260
Other Decks in Technology
See All in Technology
How to Design Configuration for Rails Applications
willnet
1
840
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
350
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
180
React改造してみた
tsukina_7mochi
0
120
USB PDを使ってスマホを労わりたい
raspython3
0
180
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
740
Browser Spec: Testing Hotwire with Ruby
takahashim
1
130
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
790
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
300
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
180
Kiro Crewで「みのるん式」仕事術やってみた
minorun365
PRO
3
750
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
480
Featured
See All Featured
Chasing Engaging Ingredients in Design
codingconduct
0
360
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
540
The Curse of the Amulet
leimatthew05
3
16k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Automating Front-end Workflow
addyosmani
1369
210k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
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