---
title: GCPだから出来た 自動Web監視システムのインフラ構築
tags:  #監視 #gcp #cloud #サーバー  
author: [株式会社ビヨンド](https://www.docswell.com/user/beyond24365)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/8EDDWN2KEG.jpg?width=480
description: 2018/10/23（火）に開催された GCPUG Kansai Summitで、 プログラマー萬代がセッション登壇したときの発表資料です。
published: May 29, 23
canonical: https://www.docswell.com/s/beyond24365/ZXYW1Y-2023-05-29-110049
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/8EDDWN2KEG.jpg)

GCPだから出来た
自動Web監視システムのインフラ構築（仮）


# Page. 2

![Page Image](https://bcdn.docswell.com/page/V7PX9513E8.jpg)

自己紹介
名前：萬代陽一
普段はゲームAPIとか作ったりする仕事をしています
VisualStudioCodeおじさん


# Page. 3

![Page Image](https://bcdn.docswell.com/page/2JVLMPYN7Q.jpg)

こういうサービスをリリースしました


# Page. 4

![Page Image](https://bcdn.docswell.com/page/5EGXGP95JL.jpg)

どんなシステムか
ウェブサイトを監視するサービス
登録カンタン


# Page. 5

![Page Image](https://bcdn.docswell.com/page/4JQ8X2WL7P.jpg)

どんなシステムか
ウェブサイトを監視するサービス
登録カンタン
会員登録 → URL登録 → 監視開始


# Page. 6

![Page Image](https://bcdn.docswell.com/page/K7426LK5J1.jpg)

どんなシステムか
ウェブサイトを監視するサービス
簡単な割に色々する


# Page. 7

![Page Image](https://bcdn.docswell.com/page/LJ1MVLX2EG.jpg)

どんなシステムか
ウェブサイトを監視するサービス
簡単な割に色々する
レスポンスタイム監視
スナップショット比較
レスポンスコード監視
HTML比較
ドメイン有効期限監視
SSL証明書有効期限監視
リンク切れ監視
マルウェア監視
ソーシャルエンジニアリング監視


# Page. 8

![Page Image](https://bcdn.docswell.com/page/GJW3LVN2J2.jpg)

GCPを選んだ理由
Cloud Datastore を使いたかった
各種監視データなど細かいデータの蓄積に最適
Cloud Storage の値段が安い
監視対象のスナップショットを撮りまくるシステムなので
Cloud Pub/Sub を使ってスケーラブルな感じに
いざという時は数の暴力で乗り切る
Cloud Architect の勉強がてら → 無事合格！


# Page. 9

![Page Image](https://bcdn.docswell.com/page/4EZVM434J3.jpg)

構成図
Cloud
Datastore
Cloud
Storage
Cloud
Pub/Sub
Cloud Load
Balancing
Cloud
Functions
Compute
Engine
Cloud SQL
Monitoring
Error
Reporting
Logging


# Page. 10

![Page Image](https://bcdn.docswell.com/page/Y765N3XGEV.jpg)

Google Compute Engine
言わずと知れたVM環境
起動が速い
仕組み上、GCE を起点としたシステムになっている


# Page. 11

![Page Image](https://bcdn.docswell.com/page/G75Y5LXX74.jpg)

サーバーレス化できなかった
監視処理は GCE で実行
監視元の IPアドレス問題
1回の監視の実行時間が監視先によってまちまち
画面のスナップショットを撮影する仕組みが環境を選ぶ


# Page. 12

![Page Image](https://bcdn.docswell.com/page/9J2GNLXQJR.jpg)

Cloud Datastore
監視データの主な置き場所
約300サイト程度の詳細な監視データ
15分に1回の頻度（フリープラン）
1分に1回の頻度（有料プラン）


# Page. 13

![Page Image](https://bcdn.docswell.com/page/DEYVPQ8YEM.jpg)

Cloud Datastore
監視データの主な置き場所


# Page. 14

![Page Image](https://bcdn.docswell.com/page/VJNM5KQR78.jpg)

Cloud Datastore の設計で悩む日々
祖先クエリ、エンティティ、種類、インデックス……。
ソートできない → インデックスの再作成 → インデックスのエクササイズ
SQL 脳なので、うまくできてるかは謎。
ただし、データはちゃんと入っているし出せているのでOKとしたい
トランザクションは試せなかったので試したい


# Page. 15

![Page Image](https://bcdn.docswell.com/page/YE9NYVDZE3.jpg)

Cloud Storage
ここにも監視データ
スナップショットデータ
HTMLデータ


# Page. 16

![Page Image](https://bcdn.docswell.com/page/GE8K6P5Y7D.jpg)

Cloud Storage
ここにも監視データ
スナップショットデータ
HTMLデータ
毎日取得 × 約60日分
サイトの縦の大きさに依存するファイルサイズ → サイズが読めない


# Page. 17

![Page Image](https://bcdn.docswell.com/page/LELZ91Y9JR.jpg)

Cloud Storage
ここにも監視データ
スナップショットデータ
HTMLデータ
毎日取得 × 約60日分
サイトの縦の大きさに依存するファイルサイズ → サイズが読めない
自動削除ができるので運用は楽


# Page. 18

![Page Image](https://bcdn.docswell.com/page/4JMVZWNVJW.jpg)

Cloud Pub/Sub
監視処理のタスクキューを積み上げる
どんどん捌く、の繰り返し


# Page. 19

![Page Image](https://bcdn.docswell.com/page/PJR26YDWE9.jpg)

Cloud Pub/Sub
監視処理のタスクキューを積み上げる
どんどん捌く、の繰り返し
特にリンク切れ監視は、監視対象のサイトからのリンク先を全て確認するので
1件ずつ個別処理できるように全件 Pub/Sub に登録している


# Page. 20

![Page Image](https://bcdn.docswell.com/page/PEXDMG1V7X.jpg)

Cloud Pub/Sub
監視処理のタスクキューを積み上げる
どんどん捌く、の繰り返し
特にリンク切れ監視は、監視対象のサイトからのリンク先を全て確認するので
1件ずつ個別処理できるように全件 Pub/Sub に登録している
データも一緒にPubするとSubした時に便利


# Page. 21

![Page Image](https://bcdn.docswell.com/page/3EKXG4257D.jpg)

Cloud Pub/Sub は便利だが
順序指定がしたくなる時もある
メッセージキューが見たくなる時もある
これももう少しうまく使いたい


# Page. 22

![Page Image](https://bcdn.docswell.com/page/L735NL41E5.jpg)

余談：プリエンプティブインスタンスを使い倒す
GCE のプリエンプティブインスタンスで監視処理ができないか
課題
起動し続けることはできない（最大24時間）
起動した瞬間に落とされることも
結論
ミッションクリティカルな処理には不向き
（ドキュメントに書いてある）


# Page. 23

![Page Image](https://bcdn.docswell.com/page/87DDWNQK7G.jpg)

まとめ
Appmill というサービスを GCP 上で作りました。
よく言われてますが、データ分析をするなら、出だしから GCP にすると連携が取りやす
くていいと思います。
GPC最高！


# Page. 24

![Page Image](https://bcdn.docswell.com/page/VJPX95L378.jpg)

Thank you
and have fun GUPUG Kansai!


