Copyright 2021 Toranoana Inc.
Fantiaから学ぶ
GCP運用のノウハウ
植竹 惇
虎の穴ラボ株式会社
1
Copyright 2021 Toranoana Inc.
名前:植竹 惇

担当業務:Fantiaを始めとする

     新規事業開発のマネジメントリーダー

業務使用言語:Rails

利用クラウド:GCP、AWS

最も多くやったこと:Fantiaの負荷対策

今のブーム:ニチアサ、面白WEB漫画、タイムリープヤンキー漫画

前のブーム:スポーツ漫画(当の本人は運動できません)

自己紹介

2
Copyright 2021 Toranoana Inc.
目次



1. これまでのFantiaの傾向推移



1-1. ファンクラブ数の増加

1-2. クリエイターカテゴリの変化



2. 利用してきたGCP機能



2-1. InstanceGroups

2-2. CloudArmor

2-3. CloudDNS

2-4. Monitoring



3. 今後利用していきたいGCP機能



3-1. Kubernetes

3-2. CloudRun

3
Copyright 2021 Toranoana Inc.
早速ですが

4
Copyright 2021 Toranoana Inc.
世は支援プラットフォーム

戦国時代

5
Copyright 2021 Toranoana Inc.
6
海外
日本
現在
数年前
Patreon
Onlyfans
PIXIV FANBOX CAMPFIRE Community
note
Ci-en
Copyright 2021 Toranoana Inc.
7
現在の    の立ち位置



・わりと初期にサービスインしている古参



・日本国内(のアダルト部分)で存在感を発揮



・二次元、三次元ともに活発



Copyright 2021 Toranoana Inc.
8
    のファンクラブ増加



中の人も驚愕の

増加ペース

Copyright 2021 Toranoana Inc.
9
    のPV数増加



1億PV超え!

Copyright 2021 Toranoana Inc.
参入クリエイターの傾向

10
Copyright 2021 Toranoana Inc.
1年目:イラスト・漫画ファンクラブ中心の黎明期






2年目:3Dアニメ、MMD層の増加






3年目:コスプレイヤー層の増加




4年目:    〃





5年目:Youtuber、女性向け音声層の増加


11
Copyright 2021 Toranoana Inc.
現在のFantiaは



(アダルト色が強く)

幅広いクリエイター層を

カバーする総合支援プラットフォーム

12
Copyright 2021 Toranoana Inc.
そんなFantiaを5年間支えたクラウドインフラが



『GCP』です

13
Copyright 2021 Toranoana Inc.
14
利用しているGCP機能







    その1. InstanceGroups

Copyright 2021 Toranoana Inc.
15
Instance Groups







    

ロードバランサに接続可能な、

VMインスタンスの集合体。



Kubernetesが登場する以前は

主流となっていた

オートスケール可能な

マネージドサーバー。

Copyright 2021 Toranoana Inc.
16
Instance Groups







    

今となっては当たり前だが…



コンソール画面上で、

サーバーの最小・最大台数を

自由に設定できる。

Copyright 2021 Toranoana Inc.
17
Instance Groups







    

インスタンスグループは、

『インスタンステンプレート』

から作成する。



複数のサーバのデータ、スペックを
統一して作成するため、

元となる設定が必要となる。

Copyright 2021 Toranoana Inc.
18
そんなインスタンスグループと

内部で作れるVMインスタンスですが、



利用してきてとある問題に

遭遇しました

Copyright 2021 Toranoana Inc.
19
VMインスタンスのトラブル







    

GCPのVMインスタンスは、

現在「E2」「N2」「N2D」「N1」

とCPUとメモリのパフォーマンスが

異なるマシン設定を用意しています。



現在は第2世代の利用が主流に

なっているようなのですが……



Copyright 2021 Toranoana Inc.
20
VMインスタンスのトラブル







    

インスタンスグループで

VMインスタンス作成する途中、

『作成中』の状態のまま止まってしまう

ことがありました。

この状態のまま、

変化しない

Copyright 2021 Toranoana Inc.
21
VMインスタンスのトラブル







    

原因1:アカウントにおけるリソースの予約枠が不足している。

 アカウントごとに利用されているマシンのリソースは

 制限されていて、解除のためには申請が必要。

 IAMの『割り当て』ページで確認可能。



Copyright 2021 Toranoana Inc.
22
VMインスタンスのトラブル







    

原因2:利用するリージョン全体で

 対象のリソースが不足している。



 この場合はアカウント関係なく、

 追加の作成が不可能となる。



 解決方法は

 『リージョンを変える』または

 『マシンタイプを変える』

 のいずれか

Copyright 2021 Toranoana Inc.
23
これまでの運用で、

どちらも経験しました。



リージョン全体でのリソース制限は

気をつけようがないですが、

可能性としては十分ありえます。

Copyright 2021 Toranoana Inc.
24
利用しているGCP機能







     その2. CloudArmor

Copyright 2021 Toranoana Inc.
25
サービス規模とアクセスが増えてくると何が起きるか?

Copyright 2021 Toranoana Inc.
26
セキュリティリスクの増大

Copyright 2021 Toranoana Inc.
27
それを解決するのがCloudArmor

Copyright 2021 Toranoana Inc.
28
CloudArmor







    

CloudArmorとは



ロードバランサーと連携する

かなり優秀な

セキュリティサービス







Copyright 2021 Toranoana Inc.
29
CloudArmor







    

CloudArmorが出来ること



・個別でのIP制限設定



・ルール設定による、アクセス攻撃へのWAF機能



・Google本体も利用している自動DDoSフィルタ

Copyright 2021 Toranoana Inc.
30
CloudArmor







    

WAFのルール設定について



右の画像がルール追加のサンプル

この場合は『sqli-stable』という

SQLインジェクション防止の

事前構成ルールの設定。



2番目の引数は除外する

詳細ルールを設定できる。

Copyright 2021 Toranoana Inc.
31
CloudArmor







    

このような詳細ルールが定義されている。

ルールに合致するアクセスを検知してブロックすることが可能。

Copyright 2021 Toranoana Inc.
32
だがちょっと待たれよ



WAFで弾きたくないアクセスを

弾いてしまう場合はないか?

Copyright 2021 Toranoana Inc.
33
プレビュー機能を使えば大丈夫

Copyright 2021 Toranoana Inc.
34
CloudArmor







    

ルールの設定で



『プレビューのみ』

の設定を有効にすると、



実際にブロックはせずに、

ロードバランサーのログに

『対象のアクセスであること』

の検知のみ行える。

Copyright 2021 Toranoana Inc.
35
CloudArmor







    

ロードバランサーの

GCPロギングにて、



右画像のような形式で

記録される。



『previewSecurityPolicy』

の中身がプレビューで検知した

内容の詳細となる。



『preconfiguredExprIds』

が実際に検知した詳細ルール。

Copyright 2021 Toranoana Inc.
36
プレビュー機能で

安全性を確保してから

適応することが可能

①プレビューでWAFルールの設定
②数日稼動
③ログでプレビュー結果を確認
④アクセスに問題なければ
プレビュー無効
Copyright 2021 Toranoana Inc.
37
CloudArmor







    

最後にDDoS防御です。



ユーザ自身の設定は必要なく、


CloudArmorを設定するだけで、

Googleが自動で検知し、

知らぬうちに防いでくれます。



ブロックのログもなく、

詳細については不明。

※画像引用元ページ 

https://cloud.google.com/blog/ja/products/gcp/getting-to-know-cloud-armor-d
efense-at-scale-for-internet-facing-services 



Copyright 2021 Toranoana Inc.
38
GCPを利用している場合に限りますが

『CloudArmor』は

非常におすすめなサービスです。

Copyright 2021 Toranoana Inc.
39
利用しているGCP機能







      その3. CloudDNS

Copyright 2021 Toranoana Inc.
40
サービスの規模が大きくなると

こう思う人は多いはず

Copyright 2021 Toranoana Inc.
41
AWS Auroraを使いたい!

Copyright 2021 Toranoana Inc.
42
AWS Auroraの利点



・ディスクの容量を気にしなくて良い



・リードDBのオートスケールが可能



・複数のリードDBに対するDNSホストはひとつだけ

Copyright 2021 Toranoana Inc.
43
AWS Auroraの利点



・ディスクの容量を気にしなくて良い



・リードDBのオートスケールが可能



・複数のリードDBに対するDNSホストはひとつだけ

特に重要
Copyright 2021 Toranoana Inc.
44
Railsでプライマリ/リードDBの切り替え





方法1:Rails6のマルチプルデータベース機能を使う



方法2:SwitchPointなどのGemを利用する





どちらもリードレプリカのロードバランシングには

対応しきれてない。

Copyright 2021 Toranoana Inc.
45
AWSもGCPも複数のリードDBを作れるが、

DBのリソース拡張で差が出てくる。

primary
read-1 read-2
DNSホスト
アプリケーション処理
primary
read-1 read-2
DNSホスト-2
アプリケーション処理
DNSホスト-1
AWS GCP
Copyright 2021 Toranoana Inc.
46
これを解決するのがCloudDNS

Copyright 2021 Toranoana Inc.
47
ロードバランシングの機能を持ち、

CloudSQLとの接続が可能。



つまりDNSラウンドロビンの機能を

持っている。



CloudDNSの接続先IPにアクセスすると

ホスト1かホスト2のいずれかに

振り分けてくれる。

primary
read-1 read-2
DNSホスト-2
アプリケーション処理
DNSホスト-1
GCP
CloudDNS
CloudDNS

Copyright 2021 Toranoana Inc.
48
CloudDNS

レコードセットの設定

GCP内のネットワークで使える
DNSホスト名
ロードバランシング先の内部 IP
CloudSQLのIPを設定できる
Copyright 2021 Toranoana Inc.
49
これでシームレスにリードDBでの

負荷分散が可能になります

Copyright 2021 Toranoana Inc.
50
利用しているGCP機能







      その4. Monitoring

Copyright 2021 Toranoana Inc.
51
規模の大きいサービスには必須の監視機能



GCPだと『Monitoring』がスタンダート

Copyright 2021 Toranoana Inc.
52
サーバーやDB、ロードバランサなど

様々な機能の数値をグラフで可視化

してくれる機能。



監視できる値はかなり多彩なので、

全容の把握はなかなか難しい…。

Monitoring

Copyright 2021 Toranoana Inc.
53
特に便利だと思った

メトリクス(計測指標)設定

を紹介します

Copyright 2021 Toranoana Inc.
54
スロークエリ監視メトリクス 



●Resource type

Cloud SQL Database 



●metric

Logbytes



●Filters

log=mysql-slow.log 



CloudSQLのスロークエリログを 

監視する。



クエリの量が多いとグラフが大きく 

上がったりするので、 

DBの負荷問題が検知しやすい。 

Monitoring

Copyright 2021 Toranoana Inc.
55
CloudArmorプレビュー 監視メトリクス



●Resource type

Network Security Policy 



●metric

Previewed request count 



●Filters

blocked=true



CloudArmorのプレビュー検知数を 

出力する。



プレビューで引っかかったアクセスが 

どれくらいあるかを見るときに便利。 

実際にブロックした数も出せる。 

Monitoring

Copyright 2021 Toranoana Inc.
56
LBレイテンシー監視メトリクス



●Resource type

Load Balancing Rule 



●metric

Backend latency



●Filters

backend_target_name=LBの バックエンド名



ロードバランサーにおけるバックエンド側の 

レイテンシー(遅延時間)を見れる。 



負荷対策の結果や、機能開発での速度が 

変わっているかなどをチェックするときに 

重宝する。

Monitoring

Copyright 2021 Toranoana Inc.
57
これらを駆使することで

問題の検知や実績の計測が

よりスムーズになりました

Copyright 2021 Toranoana Inc.
58
ここからはまだ実働していないですが

今後導入してみたい機能となります

Copyright 2021 Toranoana Inc.
59
今後利用していきたいGCP機能







  その1. Google Kubernetes Engine

Copyright 2021 Toranoana Inc.
60
Google Kubernetes Engine





GKE(GoogleKubernetesEngine)とは



Kubernetesをベースとしたコンテナ環境



過剰にメモリやCPUを消費することなく、

アプリケーションを実行できる

Copyright 2021 Toranoana Inc.
61
今後利用していきたいGCP機能







      その2. CloudRun

Copyright 2021 Toranoana Inc.
62
CloudRun



CloudRunとは



GKEと同様のコンテナ環境による

オートスケールプラットフォーム



Kubernetesベースのサービスではないため、

Kubernetesの習熟が不要



Copyright 2021 Toranoana Inc.
63
GKEとCloudRun



現在Fantiaが抱える課題



・サーバー費用の増大

 ⇒リソースの効率化で費用削減が可能に



・サーバー構成の統一性

 ⇒Dockerコンテナによりローカルと本番の再現性を担保できる



・GCPによる保守性の確保

 ⇒『個人的に』InstanseGroupによるアプリケーション環境ではなく

  現在はGKEなどのコンテナ環境をGCPが推しているように見える

どちらも
課題の解決が可能
Copyright 2021 Toranoana Inc.
64




GKEとCloudRun



詳細な検証や比較に関しては



とらのあなラボ Tech Conference(8/19)

でお話したいと思います



Copyright 2021 Toranoana Inc.
本日のまとめ



1. これまでのFantiaの傾向推移



クリエイターはかなり増えてきており、時期によって増加の傾向が異なる 



2. 利用してきたGCP機能



現在利用しているサーバー機能の「InstanceGroups」

セキュリティに対する「CloudArmor」、

負荷に対する「CloudDNS」「Monitoring」の使い方を紹介



3. 今後利用していきたいGCP機能



コスト面の問題やコンテナ環境での再現性を求め、

   「Kubernetes」や「CloudRUN」を今後検討

65

Fantiaから学ぶgcp運用のノウハウ

  • 1.
    Copyright 2021 ToranoanaInc. Fantiaから学ぶ GCP運用のノウハウ 植竹 惇 虎の穴ラボ株式会社 1
  • 2.
    Copyright 2021 ToranoanaInc. 名前:植竹 惇
 担当業務:Fantiaを始めとする
      新規事業開発のマネジメントリーダー
 業務使用言語:Rails
 利用クラウド:GCP、AWS
 最も多くやったこと:Fantiaの負荷対策
 今のブーム:ニチアサ、面白WEB漫画、タイムリープヤンキー漫画
 前のブーム:スポーツ漫画(当の本人は運動できません)
 自己紹介
 2
  • 3.
    Copyright 2021 ToranoanaInc. 目次
 
 1. これまでのFantiaの傾向推移
 
 1-1. ファンクラブ数の増加
 1-2. クリエイターカテゴリの変化
 
 2. 利用してきたGCP機能
 
 2-1. InstanceGroups
 2-2. CloudArmor
 2-3. CloudDNS
 2-4. Monitoring
 
 3. 今後利用していきたいGCP機能
 
 3-1. Kubernetes
 3-2. CloudRun
 3
  • 4.
    Copyright 2021 ToranoanaInc. 早速ですが
 4
  • 5.
    Copyright 2021 ToranoanaInc. 世は支援プラットフォーム
 戦国時代
 5
  • 6.
    Copyright 2021 ToranoanaInc. 6 海外 日本 現在 数年前 Patreon Onlyfans PIXIV FANBOX CAMPFIRE Community note Ci-en
  • 7.
    Copyright 2021 ToranoanaInc. 7 現在の    の立ち位置
 
 ・わりと初期にサービスインしている古参
 
 ・日本国内(のアダルト部分)で存在感を発揮
 
 ・二次元、三次元ともに活発
 

  • 8.
    Copyright 2021 ToranoanaInc. 8     のファンクラブ増加
 
 中の人も驚愕の
 増加ペース

  • 9.
    Copyright 2021 ToranoanaInc. 9     のPV数増加
 
 1億PV超え!

  • 10.
    Copyright 2021 ToranoanaInc. 参入クリエイターの傾向
 10
  • 11.
    Copyright 2021 ToranoanaInc. 1年目:イラスト・漫画ファンクラブ中心の黎明期 
 
 
 2年目:3Dアニメ、MMD層の増加 
 
 
 3年目:コスプレイヤー層の増加 
 
 4年目:    〃
 
 
 5年目:Youtuber、女性向け音声層の増加 
 11
  • 12.
    Copyright 2021 ToranoanaInc. 現在のFantiaは
 
 (アダルト色が強く)
 幅広いクリエイター層を
 カバーする総合支援プラットフォーム
 12
  • 13.
    Copyright 2021 ToranoanaInc. そんなFantiaを5年間支えたクラウドインフラが
 
 『GCP』です
 13
  • 14.
    Copyright 2021 ToranoanaInc. 14 利用しているGCP機能
 
 
 
     その1. InstanceGroups

  • 15.
    Copyright 2021 ToranoanaInc. 15 Instance Groups
 
 
 
     
 ロードバランサに接続可能な、
 VMインスタンスの集合体。
 
 Kubernetesが登場する以前は
 主流となっていた
 オートスケール可能な
 マネージドサーバー。

  • 16.
    Copyright 2021 ToranoanaInc. 16 Instance Groups
 
 
 
     
 今となっては当たり前だが…
 
 コンソール画面上で、
 サーバーの最小・最大台数を
 自由に設定できる。

  • 17.
    Copyright 2021 ToranoanaInc. 17 Instance Groups
 
 
 
     
 インスタンスグループは、
 『インスタンステンプレート』
 から作成する。
 
 複数のサーバのデータ、スペックを 統一して作成するため、
 元となる設定が必要となる。

  • 18.
    Copyright 2021 ToranoanaInc. 18 そんなインスタンスグループと
 内部で作れるVMインスタンスですが、
 
 利用してきてとある問題に
 遭遇しました

  • 19.
    Copyright 2021 ToranoanaInc. 19 VMインスタンスのトラブル
 
 
 
     
 GCPのVMインスタンスは、
 現在「E2」「N2」「N2D」「N1」
 とCPUとメモリのパフォーマンスが
 異なるマシン設定を用意しています。
 
 現在は第2世代の利用が主流に
 なっているようなのですが……
 

  • 20.
    Copyright 2021 ToranoanaInc. 20 VMインスタンスのトラブル
 
 
 
     
 インスタンスグループで
 VMインスタンス作成する途中、
 『作成中』の状態のまま止まってしまう
 ことがありました。
 この状態のまま、
 変化しない

  • 21.
    Copyright 2021 ToranoanaInc. 21 VMインスタンスのトラブル
 
 
 
     
 原因1:アカウントにおけるリソースの予約枠が不足している。
  アカウントごとに利用されているマシンのリソースは
  制限されていて、解除のためには申請が必要。
  IAMの『割り当て』ページで確認可能。
 

  • 22.
    Copyright 2021 ToranoanaInc. 22 VMインスタンスのトラブル
 
 
 
     
 原因2:利用するリージョン全体で
  対象のリソースが不足している。
 
  この場合はアカウント関係なく、
  追加の作成が不可能となる。
 
  解決方法は
  『リージョンを変える』または
  『マシンタイプを変える』
  のいずれか

  • 23.
    Copyright 2021 ToranoanaInc. 23 これまでの運用で、
 どちらも経験しました。
 
 リージョン全体でのリソース制限は
 気をつけようがないですが、
 可能性としては十分ありえます。

  • 24.
    Copyright 2021 ToranoanaInc. 24 利用しているGCP機能
 
 
 
      その2. CloudArmor

  • 25.
    Copyright 2021 ToranoanaInc. 25 サービス規模とアクセスが増えてくると何が起きるか?

  • 26.
    Copyright 2021 ToranoanaInc. 26 セキュリティリスクの増大

  • 27.
    Copyright 2021 ToranoanaInc. 27 それを解決するのがCloudArmor

  • 28.
    Copyright 2021 ToranoanaInc. 28 CloudArmor
 
 
 
     
 CloudArmorとは
 
 ロードバランサーと連携する
 かなり優秀な
 セキュリティサービス
 
 
 

  • 29.
    Copyright 2021 ToranoanaInc. 29 CloudArmor
 
 
 
     
 CloudArmorが出来ること
 
 ・個別でのIP制限設定
 
 ・ルール設定による、アクセス攻撃へのWAF機能
 
 ・Google本体も利用している自動DDoSフィルタ

  • 30.
    Copyright 2021 ToranoanaInc. 30 CloudArmor
 
 
 
     
 WAFのルール設定について
 
 右の画像がルール追加のサンプル
 この場合は『sqli-stable』という
 SQLインジェクション防止の
 事前構成ルールの設定。
 
 2番目の引数は除外する
 詳細ルールを設定できる。

  • 31.
    Copyright 2021 ToranoanaInc. 31 CloudArmor
 
 
 
     
 このような詳細ルールが定義されている。
 ルールに合致するアクセスを検知してブロックすることが可能。

  • 32.
    Copyright 2021 ToranoanaInc. 32 だがちょっと待たれよ
 
 WAFで弾きたくないアクセスを
 弾いてしまう場合はないか?

  • 33.
    Copyright 2021 ToranoanaInc. 33 プレビュー機能を使えば大丈夫

  • 34.
    Copyright 2021 ToranoanaInc. 34 CloudArmor
 
 
 
     
 ルールの設定で
 
 『プレビューのみ』
 の設定を有効にすると、
 
 実際にブロックはせずに、
 ロードバランサーのログに
 『対象のアクセスであること』
 の検知のみ行える。

  • 35.
    Copyright 2021 ToranoanaInc. 35 CloudArmor
 
 
 
     
 ロードバランサーの
 GCPロギングにて、
 
 右画像のような形式で
 記録される。
 
 『previewSecurityPolicy』
 の中身がプレビューで検知した
 内容の詳細となる。
 
 『preconfiguredExprIds』
 が実際に検知した詳細ルール。

  • 36.
    Copyright 2021 ToranoanaInc. 36 プレビュー機能で
 安全性を確保してから
 適応することが可能
 ①プレビューでWAFルールの設定 ②数日稼動 ③ログでプレビュー結果を確認 ④アクセスに問題なければ プレビュー無効
  • 37.
    Copyright 2021 ToranoanaInc. 37 CloudArmor
 
 
 
     
 最後にDDoS防御です。
 
 ユーザ自身の設定は必要なく、 
 CloudArmorを設定するだけで、
 Googleが自動で検知し、
 知らぬうちに防いでくれます。
 
 ブロックのログもなく、
 詳細については不明。
 ※画像引用元ページ 
 https://cloud.google.com/blog/ja/products/gcp/getting-to-know-cloud-armor-d efense-at-scale-for-internet-facing-services 
 

  • 38.
    Copyright 2021 ToranoanaInc. 38 GCPを利用している場合に限りますが
 『CloudArmor』は
 非常におすすめなサービスです。

  • 39.
    Copyright 2021 ToranoanaInc. 39 利用しているGCP機能
 
 
 
       その3. CloudDNS

  • 40.
    Copyright 2021 ToranoanaInc. 40 サービスの規模が大きくなると
 こう思う人は多いはず

  • 41.
    Copyright 2021 ToranoanaInc. 41 AWS Auroraを使いたい!

  • 42.
    Copyright 2021 ToranoanaInc. 42 AWS Auroraの利点
 
 ・ディスクの容量を気にしなくて良い
 
 ・リードDBのオートスケールが可能
 
 ・複数のリードDBに対するDNSホストはひとつだけ

  • 43.
    Copyright 2021 ToranoanaInc. 43 AWS Auroraの利点
 
 ・ディスクの容量を気にしなくて良い
 
 ・リードDBのオートスケールが可能
 
 ・複数のリードDBに対するDNSホストはひとつだけ
 特に重要
  • 44.
    Copyright 2021 ToranoanaInc. 44 Railsでプライマリ/リードDBの切り替え
 
 
 方法1:Rails6のマルチプルデータベース機能を使う
 
 方法2:SwitchPointなどのGemを利用する
 
 
 どちらもリードレプリカのロードバランシングには
 対応しきれてない。

  • 45.
    Copyright 2021 ToranoanaInc. 45 AWSもGCPも複数のリードDBを作れるが、
 DBのリソース拡張で差が出てくる。
 primary read-1 read-2 DNSホスト アプリケーション処理 primary read-1 read-2 DNSホスト-2 アプリケーション処理 DNSホスト-1 AWS GCP
  • 46.
    Copyright 2021 ToranoanaInc. 46 これを解決するのがCloudDNS

  • 47.
    Copyright 2021 ToranoanaInc. 47 ロードバランシングの機能を持ち、
 CloudSQLとの接続が可能。
 
 つまりDNSラウンドロビンの機能を
 持っている。
 
 CloudDNSの接続先IPにアクセスすると
 ホスト1かホスト2のいずれかに
 振り分けてくれる。
 primary read-1 read-2 DNSホスト-2 アプリケーション処理 DNSホスト-1 GCP CloudDNS CloudDNS

  • 48.
    Copyright 2021 ToranoanaInc. 48 CloudDNS
 レコードセットの設定
 GCP内のネットワークで使える DNSホスト名 ロードバランシング先の内部 IP CloudSQLのIPを設定できる
  • 49.
    Copyright 2021 ToranoanaInc. 49 これでシームレスにリードDBでの
 負荷分散が可能になります

  • 50.
    Copyright 2021 ToranoanaInc. 50 利用しているGCP機能
 
 
 
       その4. Monitoring

  • 51.
    Copyright 2021 ToranoanaInc. 51 規模の大きいサービスには必須の監視機能
 
 GCPだと『Monitoring』がスタンダート

  • 52.
    Copyright 2021 ToranoanaInc. 52 サーバーやDB、ロードバランサなど
 様々な機能の数値をグラフで可視化
 してくれる機能。
 
 監視できる値はかなり多彩なので、
 全容の把握はなかなか難しい…。
 Monitoring

  • 53.
    Copyright 2021 ToranoanaInc. 53 特に便利だと思った
 メトリクス(計測指標)設定
 を紹介します

  • 54.
    Copyright 2021 ToranoanaInc. 54 スロークエリ監視メトリクス 
 
 ●Resource type
 Cloud SQL Database 
 
 ●metric
 Logbytes
 
 ●Filters
 log=mysql-slow.log 
 
 CloudSQLのスロークエリログを 
 監視する。
 
 クエリの量が多いとグラフが大きく 
 上がったりするので、 
 DBの負荷問題が検知しやすい。 
 Monitoring

  • 55.
    Copyright 2021 ToranoanaInc. 55 CloudArmorプレビュー 監視メトリクス
 
 ●Resource type
 Network Security Policy 
 
 ●metric
 Previewed request count 
 
 ●Filters
 blocked=true
 
 CloudArmorのプレビュー検知数を 
 出力する。
 
 プレビューで引っかかったアクセスが 
 どれくらいあるかを見るときに便利。 
 実際にブロックした数も出せる。 
 Monitoring

  • 56.
    Copyright 2021 ToranoanaInc. 56 LBレイテンシー監視メトリクス
 
 ●Resource type
 Load Balancing Rule 
 
 ●metric
 Backend latency
 
 ●Filters
 backend_target_name=LBの バックエンド名
 
 ロードバランサーにおけるバックエンド側の 
 レイテンシー(遅延時間)を見れる。 
 
 負荷対策の結果や、機能開発での速度が 
 変わっているかなどをチェックするときに 
 重宝する。
 Monitoring

  • 57.
    Copyright 2021 ToranoanaInc. 57 これらを駆使することで
 問題の検知や実績の計測が
 よりスムーズになりました

  • 58.
    Copyright 2021 ToranoanaInc. 58 ここからはまだ実働していないですが
 今後導入してみたい機能となります

  • 59.
    Copyright 2021 ToranoanaInc. 59 今後利用していきたいGCP機能
 
 
 
   その1. Google Kubernetes Engine

  • 60.
    Copyright 2021 ToranoanaInc. 60 Google Kubernetes Engine
 
 
 GKE(GoogleKubernetesEngine)とは
 
 Kubernetesをベースとしたコンテナ環境
 
 過剰にメモリやCPUを消費することなく、
 アプリケーションを実行できる

  • 61.
    Copyright 2021 ToranoanaInc. 61 今後利用していきたいGCP機能
 
 
 
       その2. CloudRun

  • 62.
    Copyright 2021 ToranoanaInc. 62 CloudRun
 
 CloudRunとは
 
 GKEと同様のコンテナ環境による
 オートスケールプラットフォーム
 
 Kubernetesベースのサービスではないため、
 Kubernetesの習熟が不要
 

  • 63.
    Copyright 2021 ToranoanaInc. 63 GKEとCloudRun
 
 現在Fantiaが抱える課題
 
 ・サーバー費用の増大
  ⇒リソースの効率化で費用削減が可能に
 
 ・サーバー構成の統一性
  ⇒Dockerコンテナによりローカルと本番の再現性を担保できる
 
 ・GCPによる保守性の確保
  ⇒『個人的に』InstanseGroupによるアプリケーション環境ではなく
   現在はGKEなどのコンテナ環境をGCPが推しているように見える
 どちらも 課題の解決が可能
  • 64.
    Copyright 2021 ToranoanaInc. 64 
 
 GKEとCloudRun
 
 詳細な検証や比較に関しては
 
 とらのあなラボ Tech Conference(8/19)
 でお話したいと思います
 

  • 65.
    Copyright 2021 ToranoanaInc. 本日のまとめ
 
 1. これまでのFantiaの傾向推移
 
 クリエイターはかなり増えてきており、時期によって増加の傾向が異なる 
 
 2. 利用してきたGCP機能
 
 現在利用しているサーバー機能の「InstanceGroups」
 セキュリティに対する「CloudArmor」、
 負荷に対する「CloudDNS」「Monitoring」の使い方を紹介
 
 3. 今後利用していきたいGCP機能
 
 コスト面の問題やコンテナ環境での再現性を求め、
    「Kubernetes」や「CloudRUN」を今後検討
 65