Slide 1

Slide 1 text

2022/09/30 JAWS-UG SRE支部 高負荷対策祭り Terraformで作る 分析用Aurora Readerインスタンス

Slide 2

Slide 2 text

自己紹介 名前:Tocyuki(としゆき) 所属:株式会社トラストバンク    CTO室 SRE 趣味:ギター、柔術(紫帯) SNS:@Tocyuki 2

Slide 3

Slide 3 text

会社紹介

Slide 4

Slide 4 text

会社概要 4 資本金 122,243,816円 親会社 株式会社チェンジ(東京証券取引所第一部) 100%連結子会社 子会社 株式会社Orb 決算期 3月 主な事業・サービス  ふるさと納税ポータルサイト「ふるさとチョイス」  パブリテック事業 「LoGoシリーズ」  エネルギー事業  ふるさとエネルギーチョイス「えねちょ」  地域通貨事業   「chiica(チーカ)」

Slide 5

Slide 5 text

Vision 5 目指すは「自立した持続可能な地域をつくる」こと。 トラストバンクが目指す地域共創で実現する経済循環図

Slide 6

Slide 6 text

6 ふるさと納税事業 パブリテック事業 エネルギー事業 地域通貨事業 主な事業・サービス

Slide 7

Slide 7 text

SECTION 7 00 Terraformで作る 分析用Aurora Readerインスタンス

Slide 8

Slide 8 text

8 こんな経験ありませんか?

Slide 9

Slide 9 text

9 問い合わせ調査のために本 番のリードレプリカにクエリ 投げるぞー! 分析基盤から本番のリード レプリカに集計用のクエリ投 げるぞー!

Slide 10

Slide 10 text

10 SELECT * FROM kusodeka_table;

Slide 11

Slide 11 text

11 5分後

Slide 12

Slide 12 text

12 おや?アラートが上がってきたぞ? Internal Server Error???

Slide 13

Slide 13 text

13 オワタ

Slide 14

Slide 14 text

この時のシステム構成 14 Writer Reader Server Server LB User 見える、見えるぞ! Replication Dev Bastion 分析基盤 (ゴクリ・・・)

Slide 15

Slide 15 text

Replication この時のシステム構成 15 Writer Reader Server Server LB User Dev SELECT * FROM kusodeka_table; Bastion 分析基盤 サービストラフィックが流れているDBに重いクエ リを流すとサービス影響が出てしまうので極力 やりたくない は?サイト落ちてる? クレームいれたろ。 SELECT * FROM kusodeka_table;

Slide 16

Slide 16 text

16 オワタ

Slide 17

Slide 17 text

17 高負荷対策祭り開始じゃあ(?) \ ド ン コ ド ン コ ド ン コ ド ン コ /

Slide 18

Slide 18 text

Analysisインスタンスの追加 18 • Readerインスタンスの一台のみサービストラフィックを流さな いようにする • 集計、分析専用のReaderインスタンスとしてカスタムエンドポ イントを付与する • 集計、分析用の重いクエリはこのAnalysisインスタンスにの みクエリが投げられる状態にする

Slide 19

Slide 19 text

Replication こんなかんじにしたい 19 Writer Reader Server Server LB User Dev SELECT * FROM kusodeka_table; Bastion 分析基盤 見える、見えるぞ! Analysis サービストラフィックは流 れていないので重いク エリが流れてもサービス に影響が出ないように SELECT * FROM kusodeka_table;

Slide 20

Slide 20 text

20 Terraformでどのように実装するか?

Slide 21

Slide 21 text

Aurora Clusterの作成 21

Slide 22

Slide 22 text

Aurora Writerインスタンスの作成 22

Slide 23

Slide 23 text

Aurora Readerインスタンスの作成 23

Slide 24

Slide 24 text

Aurora Analysisインスタンスの作成 24 フェイルオーバー時にAnalysisインスタ ンスがWriterに昇格しないように重み付 けしておく

Slide 25

Slide 25 text

Analysisカスタムエンドポイントの作成 25 Endpoint Typeは「READER」を 指定する Analysisインスタンスのみを指定する

Slide 26

Slide 26 text

Readerカスタムエンドポイントの作成 26 以前はカスタムエンドポイントの設定変更 進行中は、そのカスタムエンドポイントを 名前解決してもメンバーのインスタンス情 報が返ってこなくなる状態が数分間続くと いう問題があったが、現在はその問題も 解消されている様子なのでAutoScaling 対応のためReadレプリカにもカスタムエ ンドポイントを付与する Analysisインスタンスのみを除外する

Slide 27

Slide 27 text

AutoScaling Replication 通信イメージ 27 Writer Reader Server Analysis Reader用カスタムエンドポイント Analysis用カスタムエンドポイント RDSクラスターエンドポイント Reader Reader 分析基盤

Slide 28

Slide 28 text

まとめ 28 • 集計、分析用のDBを用意したい場合、Analysisインスタンス を用意してカスタムエンドポイントを付与しよう • 集計、調査用の重いクエリはAnalysis用カスタムエンドポイン トへ投げよう • Terraformでかんたんに実装可能なので試してみよう

Slide 29

Slide 29 text

10/8(土) JAWS DAYS 2022 登壇します 29 さいつよのEC2オートスケーリング環境 CI/CDパイプライン2022オータム Track D: 14:20 - 15:00

Slide 30

Slide 30 text

No content