CloudSQL v2は デキる子なのか?

238
-1

Published on

GCPUG in Fukuoka 3rd (http://gcpugfukuoka.connpass.com/event/24125/)

Published in: Engineering
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
238
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • エンジニア目線でのメリット
    (従量課金とかセキュアなのはエンジニア目線でのメリットではないのでここでは省略)
  • 要件定義(データ量・保存期間)
    論理設計(テーブル設計・INDEX付与・DBユーザ作成・DBスキーマ設定)
    物理設計(サーバ台数・CPU選定・メモリ容量見積・ディスク容量見積・冗長構成設計)
    監視設定(データ使用量・HWリソース使用量)
    物理構築(サーバ設置・OSのInstall・MySQLのInstall)
    論理構築(MySQLのパラメータ設定・テーブル設計・INDEX付与・DBユーザ・DBスキーマ)
    運用(バックアップ・障害対応・ボトルネック特定とチューニング・監査)

    物理設計:あらかじめCPU/Memoryのセットが決まっているので、サービスの規模間にあったリソースを選択する。
    監視設計・監視設定:Cloud SQL標準で取得できる監視項目があるので不要。(必要があればMySQL Workbenchなど追加することも可能)
    物理構築:DeveloperConsoleなどから構築でき大幅に短縮できる。
    運用:backupは標準機能。ディスク交換やその他HW障害対応業務からは解放。
  • CloudSQLとの通信はExternal_IPとなる。(Cloud SQLにInternal_IP(IPv4)はない)
    APPのExternal_IP、Dev/OpsのExternal_IP (OfficeのIP) をアクセス許可している。
  • 不適切な発言があったことをお詫びいたします。

    次から実際に運用してみて気付いた点。
  • うちはPackeages Billing Plan と Per Use Billing Plan どっち使った方が安いんだっけ?
    Packages Billing Plan の I/O のキャップに達するかどうかビクビクしながら運用するの?
  • ぼくのかんがえたさいきょうのこうせい。

    GCEにMySQL + MHA構成を構築して運用。
    MHA for MySQL: https://code.google.com/p/mysql-master-ha/wiki/TableOfContents?tm=6
    中規模以上のDB構築やモニタリングツール(cactiやzabbix)などtimelineデータを秒単位でinsertするDB(CloudSQLのI/O制限の回避)が必要な場合はGCE上に構築する必要がある。

    writeをExternal_IPで受けているのはMasterのVIPとして使用しているため。(Internal_IPを複数付与したりstaticなInternal_IPを取得したり付け替えることはGCEではできない為。)
    MySQL5.6以上ではGTIDを用いてHA構成でも代用可能か?(私は実績なし)

    これがデザインパターンかと思いきや。
  • https://cloud.google.com/sql/docs/introduction#v2
  • 1日あたりの金額が同額であればv2はhourly x 24しているので、実質時間単位で課金されるv2の方がdaily単位で課金されるv1のPackaging Billing Planより安くなるケースが殆どである。
  • ぼくのかんがえたさいきょうのこうせい。

    GCEにMySQL + MHA構成を構築して運用。
    MHA for MySQL: https://code.google.com/p/mysql-master-ha/wiki/TableOfContents?tm=6
    中規模以上のDB構築やモニタリングツール(cactiやzabbix)などtimelineデータを秒単位でinsertするDB(CloudSQLのI/O制限の回避)が必要な場合はGCE上に構築する必要がある。

    writeをExternal_IPで受けているのはMasterのVIPとして使用しているため。(Internal_IPを複数付与したりstaticなInternal_IPを取得したり付け替えることはGCEではできない為。)
    MySQL5.6以上ではGTIDを用いてHA構成でも代用可能か?(私は実績なし)
  • 俺たちの戦い(より運用寄りの検証・導入)はこれからだ
  • 俺たちの戦い(より運用寄りの検証・導入)はこれからだ
  • 俺たちの戦い(より運用寄りの検証・導入)はこれからだ
  • CloudSQL v2は デキる子なのか?

    1. 1. http://gcpug.jp CloudSQL v2はデキる子なのか? 熊野 良(Ryo Kumano) GCPUG Fukuoka 3rd (2016/01/16)
    2. 2. http://gcpug.jp 熊野 良 (Ryo Kumano) 2014/06 〜 グルーヴノーツ入社 - 肩書きは 「インフラエンジニア・データベースエンジニア」 - GCP上で稼動している自社サービスのインフラ設計・構築・運用を担当 - 2015/08 〜 東京->福岡に移住 過去に携わった業務 - 国内大手B2Cサイトのインフラ設計・構築・運用・DB設計・チューニング - 商用RDBMSの製品サポート など 自己紹介
    3. 3. http://gcpug.jp Google Cloud SQL 使ってますか?? ところで…
    4. 4. http://gcpug.jp 知ってた。 A. ほとんど使ってない
    5. 5. http://gcpug.jp - Google Cloud SQLとは - 利用するメリット - サービス利用時の構成 - 陽が当たらないのは何故? - Cloud SQL 第2世代(Second Generation) Agenda
    6. 6. http://gcpug.jp フルマネージド リレーショナル MySQL データサービス (https://cloud.google.com/sql/?hl=ja より) - MySQLの構築から運用までを実現してくれる - 流行り?のサーバーレス - MySQL 5.5/5.6 を Googleがカスタマイズ Google Cloud SQL とは
    7. 7. http://gcpug.jp - データベース業務の軽減 - 物理設計・物理構築の工数軽減 - 監視・運用業務の軽減 - MySQLと同じ感覚で開発・利用 - コード資産の再利用可能 - 既存のノウハウを活かせる(情報が多い) - IPアドレスベースでアクセス可否を設定 - GCEからのアクセス (GCPを跨いだアクセスもOK) - オンプレミス環境や自分の端末からもアクセス可能 利用するメリット
    8. 8. http://gcpug.jp 利用するメリット - データベース業務の軽減 - 要件定義 論理設計 物理設計 監視設計 物理構築 監視設定 論理構築 運用 要件定義 論理設計 物 理 設 計 論理構築 運用物 理 構 築 オンプレミス・VM環境でのDB業務 Cloud SQL を利用した場合のDB業務 浮いた業務時間で 寿司が食える!!
    9. 9. http://gcpug.jp サービス利用時の構成
    10. 10. http://gcpug.jp :::::::: ┌──────────────── ┐ :::::::: | Cloud SQLがやられたようだな… │ ::::: ┌───└───────────v────┬┘ ::::: |フフフ…奴はGCPの中でも最弱 … │ ┌──└────────v─┬─────────┘ | R○Sごときに負けるとは │ | GCPの面汚しよ │ └────v────────┘ |ミ, / `ヽ /! ,.──、 |彡/二Oニニ|ノ /三三三!, |! `,' \、、_,|/-ャ ト `=j r=レ /ミ !彡 T 爪| / / ̄|/´__,ャ |`三三‐/ |`=、|,='| /人 ヽ ミ='/|`:::::::/イ__ ト`ー く__,-, 、 _!_ / / `ー─'" |_,.イ、 | |/、 Y /| | | j / ミ`┴'彡\ GAE BigQuery GCE 陽が当たらないのは何故?
    11. 11. http://gcpug.jp イケてない理由その1: パフォーマンス(qps)が悪いからなのでは? 陽が当たらないのは何故か? - 理由その1 - CloudSQLとVMにinstallしたMySQL (5.6.28 Community Server) とのベンチマーク 比較。 ベンチマークテスト手順は http://qiita.com/kumanoryo/items/ba9adb3f1 fd2c26f948e の内容を使用。
    12. 12. http://gcpug.jp イケてない理由その2: 料金体系や制限が解り辛いからなのでは? 陽が当たらないのは何故か? - 理由その2 -
    13. 13. http://gcpug.jp イケてない理由その3: Cloud SQLがSPOFとなるからなのでは? 陽が当たらないのは何故か? - 理由その3 -
    14. 14. http://gcpug.jp Cloud SQLの運用をやめて GCEにMySQLをHA構成で構築するのが安定するよね、という運用になる。 陽が当たらないのは何故か? - 結局のところ -
    15. 15. http://gcpug.jp 殺 伐 と し た ス レ に Oracle Database が!! Cloud SQL 第2世代 (Second Generation) VACUUM ! Microsoft SQL Server
    16. 16. http://gcpug.jp 2015/12/10未明(日本時間) に beta release 以下docより (https://cloud.google.com/sql/docs/introduction#v2) - v1と比較して最大7倍のスループット - 最大10240GB(v1の20倍)までディスク容量拡張可能 - 殆どのケースでv1より費用が安くなる - Failover ReplicaとRead Replica追加可能 - backup期間の設定とメンテナンス枠の設定 Cloud SQL 第2世代 (Second Generation)
    17. 17. http://gcpug.jp グラフはGoogle Cloud Platform Blog より (http://googlecloudplatform.blogspot.jp/20 15/12/the-next-generation-of-managed- MySQL-offerings-on-Cloud-SQL.html) v2(青)のパフォーマンスが優れているのが分か るが、特に Thread=8 以降でv1(赤)が頭打ちに なっているにも関わらず、v2は性能が伸びてい る。 但し、v1/v2のInstanceTypeは異なり完全に合 わせられないので、どこを基準にするのかとい うのはある。 v1と比較して最大7倍のスループット
    18. 18. http://gcpug.jp v1と比較して最大7倍のスループット 前述のスライドで比較したCloudSQL(v1)と MySQLにCloudSQL(v2)を追加した。 7倍とはいかないがread-onlyが2倍 read-writeが3倍程度のスループットとなった。 VM上のMySQLより少しqpsが低い結果となった。
    19. 19. http://gcpug.jp DeveloperConsoleから拡張可能。 10GB -> 15GB および 15GB -> 1000GB を試したが即時反映されることを確認した。 機能拡張や経過年数に伴いディスク容量が不 足することはサービスが流行るとよくある事 だが、本機能を使用する事でディスク容量を 拡張する為のサーバリプレイスやディスク拡 張作業オペレーションから解放される。 $0.17 per GB /month なのでご利用は計画 的に。(拡張すると縮小できない) 最大10240GB(v1の20倍)までディスク容量拡張可能
    20. 20. http://gcpug.jp 殆どのケースでv1より費用が安くなる 確かにマシンスペックあたりの単価 はv2の方が安くなっている。 が、v1の最低スペック (Packageing Billing Plan D0)と v2の最低スペッ ク (db-f1-micro) の1日あたりの金 額は共に$0.36となる。 v2で何も考えずに構築すると db- n1-standard-1($2.316/day)となる のでv1のD2より上のInstanceType からの乗り換えでないと金額は高く なるので注意。
    21. 21. http://gcpug.jp Failover Replicaを追加するケース サービスの停止が許されない環境 Master障害時にStandbyしているCloudSQLに切り替える v2からの新機能 Failover ReplicaとRead Replica追加可能 MasterがSPOF(単一障害点)
    22. 22. http://gcpug.jp Failover Replicaの追加例 障害発生時やメンテナンス時にMasterが切り替わってくれる Failover ReplicaとRead Replica追加可能
    23. 23. http://gcpug.jp Failover Replica機能によって MHAなどでMasterのSPOFを解消する必要がなくなった。 Failover ReplicaとRead Replica追加可能
    24. 24. http://gcpug.jp Failover切り替わり時の接続断時間などは 未計測の為、実務に耐えうるかは要検証。 Failover ReplicaとRead Replica追加可能
    25. 25. http://gcpug.jp Read Replicaを追加するケース アクセス過多によるDB高負荷が発生している v1からある機能 Failover ReplicaとRead Replica追加可能 QPSがサービス要件を満たせない CPU(user)の高騰 コネクション数過多によるメモリ不足
    26. 26. http://gcpug.jp Failover ReplicaとRead Replica追加可能 ダメなRead Replica追加例 Read Replicaを1台だけ追加するのはダメ、絶対! Masterの負荷は下がったがRead Replicaの負荷が増設前と同等 増設前のMasterと同等の負荷
    27. 27. http://gcpug.jp Failover ReplicaとRead Replica追加可能 理想のRead Replica追加例 readが分散されるようRead Replicaを 複数台構築。 Read Replicaが2台の場合 1台が応答不能になると 前述のダメな状態になるので 3台以上で構築する必要がある。
    28. 28. http://gcpug.jp 前述したイケてない理由がなくなった! その1:パフォーマンス(qps)が悪いからなのでは? -> v1と比べてv2は格段にqpsがよくなった! その2:料金体系や制限が解り辛いからなのでは? -> GCEと同等レベルになり解りやすくなった! その3:Cloud SQLがSPOFとなるからなのでは? -> Failover ReplicaによりSPOFではなくなった! v2の新機能によって...
    29. 29. http://gcpug.jp Cloud SQL v2は デキる子です! 結論?
    30. 30. http://gcpug.jp VMのMySQLにInternal_IP経由で ベンチかけたらぶっちぎりだった件 と、思いきや
    31. 31. http://gcpug.jp Cloud SQL v2は (そこそこ) デキる子です! あらためて結論
    32. 32. http://gcpug.jp ご清聴ありがとうございました。
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×