この記事は、トラストバンク Advent Calendar 2021の12日目です。
今年の7月にトラストバンクにJoinしたSREの@butadoraです。
入社時点ではインフラ構成図もない状態で、考古学からはじまりました
ようやうインフラ環境の全容がつかめてきたということで、
今回はふるさとチョイスを取り巻くインフラ環境について、
特徴や面白いと思った点をピックアップしていきたいと思います。
サービス構成図
大分抽象化してますが、ふるさとチョイスのサービスはこのようになっています。
- サービス全体がさくらのクラウド、さくらの専用サーバで稼働
- 入り口はすべてCloudflare経由となっており、CDNとWAFを兼ねている
- 一部閉域網内向けのサービスでラックサーバをさくらのハウジングサービスで利用
- WEBサーバやDBサーバだけでなく、LBもLinuxサーバで実装
ふるさとチョイス
- ふるさとチョイスのメインサービスである、ふるさと納税総合サイト
- 寄付することができる自治体や、その自治体が提供するお礼の品を横断的に検索できるサービス
ふるさとチョイスCMS
- 各自治体様がふるさとチョイスへ掲出するお礼の品や寄付情報を管理するためのサービス
- 10日目の記事でもサービス内容に少し触れています
- インターネット経由で利用できない自治体様向けに、総合行政ネットワーク(LGWAN)1網内でも提供しています
OEMサイト
- ふるさとチョイスに掲載されたお礼の品情報をベースにしたふるさとチョイスのOEMサイト
- WEBサイトやAPIの形で法人向けサービスとして提供しています
トラフィック特性
Cloudflareで受けている、月ごとのトラフィック総量をグラフにしてみました。
一年の上半期とくらべると、12月は5倍ほどのトラフィック量となっており、
やはり年末である12月が1年でトラフィックが最も増えるシーズンとなっています。
また、その後ろにいるWEBサーバのアクセス数はこんな感じです。
具体的な数字はお見せできないですが、11月頃から徐々に増えはじめ、
世間的に年末休みとなる頃から大晦日にかけて爆増する様子です。
マシンスペック
こんなトラフィック特性のトラストバンクの年末をどのようなマシン構成で迎えるか?
とあるアプリケーションサーバのスペックは...
といった具合で、
- アプリケーションサーバ: 専有ホストで10core、24GBのマシン数十台
- DBサーバ: 20core、224GB(最大スペック)のマシンを数十台
を並べて12月の大規模トラフィックを待ち受けています
デプロイフロー
コード管理にはGithub Enterprise Serverを利用しています。
開発環境
- 検証用ドメインがいくつか用意されていて、1台のサーバでホストベースルーティングしてアクセスできる仕組みとなっています
- 各ドメインへのリリースにはデプロイツールが用意されており、誰がどのブランチをいつデプロイしたかが分かる仕組みとなっています
本番環境
- 各サーバへのデプロイにはlsyncが使われています
- 親となるmasterサーバでリリース対象のブランチをpullすることで、各サーバに配布される仕組みとなっています
最後に
今回は現在のインフラ環境をご紹介しましたが、現在AWSへのリフトアップを中心とした移行に加え、
監視の仕組みや、CI/CDのカイゼン、トイル撲滅などSREとしての活動が鋭意進行中です。
(以降のアドベントカレンダーでその一部を紹介予定!)
弊社では一緒にSRE文化を育んでくれるエンジニアを募集しています。
興味を持っていただけたなら、ぜひ一度お話しましょう!!
-
Local Government Wide Area Networの略。参考: J-LIS LGWAN について ↩