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.4k
Cloud MonitoringとTerraformの付き合い方
Taisei Ito
July 02, 2020
Tweet
Share
More Decks by Taisei Ito
See All by Taisei Ito
Cloudflare Meetup Nagano Vol.2
kaedemalu
0
1.2k
20220214_Future Tech Night
kaedemalu
0
2.2k
20210910_nyle
kaedemalu
0
900
20210827 Future Tech Night
kaedemalu
0
4.2k
CNDO2021 Open Policy Agent
kaedemalu
1
1.3k
20210210 Terraform meetup ONLINE
kaedemalu
0
610
Future Talk Night 20201118
kaedemalu
0
190
20201114 GCPUG Shonan
kaedemalu
0
410
Future New Graduate Session
kaedemalu
0
61
Other Decks in Technology
See All in Technology
Lexical Analysis
shigashiyama
1
130
Datadog RUM を用いた UX 指標の監視・顧客対応への活用
imamura_ko_0314
0
110
フルカイテン株式会社 採用資料
fullkaiten
0
40k
RAGのためのビジネス文書解析技術
eida
3
660
SREの組織類型に応じた リーダシップの考察
kenta_hi
PRO
1
620
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
190
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
28k
福岡新卒エンジニアの会
teba_eleven
1
190
AI長期記憶システム構築のための LLMマルチエージェントの取り組み / Awarefy-LLM-Multi-Agent
iktakahiro
2
350
State of Open Source Web Mapping Libraries
dayjournal
0
200
RustとWebAssemblyを使って高速な画像処理をWebアプリで実行しよう
rebonire626
0
110
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
470
Featured
See All Featured
Become a Pro
speakerdeck
PRO
25
5k
Faster Mobile Websites
deanohume
305
30k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
820
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Automating Front-end Workflow
addyosmani
1366
200k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
For a Future-Friendly Web
brad_frost
175
9.4k
A Philosophy of Restraint
colly
203
16k
Done Done
chrislema
181
16k
Navigating Team Friction
lara
183
14k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Happy Clients
brianwarren
97
6.7k
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