見出し画像

学習支援のNPOで内製ポータルシステムを大リニューアルした話(番外編)

 カコタムシステム開発室 室長の斉藤です。

 内製ポータルシステムの大リニューアルについての話を連載中です。このnoteはその番外編。
 システム自体のリニューアルは、2021年1月でしたが、2019年にも実はひっそりとリニューアルがありました。ポータルを動かしているインフラのリニューアルです。

 2017年9月下旬〜2019年11月中旬までは、Cloud Garage というサービスを利用していましたが、2019年12月でサービスが終了するということで、2019年11月にサーバー移行をしました

移行先の選定

 移行先としては、GCPやAWS、Azureなどの超大手を含めいくつかのクラウドサーバー、VPSのサービスで見積を作って比較を行いまいた
 Cloud Garageの時には、Dev Assist Program(DAP)というので、サーバー利用料が免除されていたので、どこのプランを使ってもコスト増となるので、必要な機能がありつつもなるべく低コストにというやっかいな見積づくりでした。
 いろいろ検討した結果、機能面とコスト面でのバランスが取れた(低コストかつ必要十分な機能)構成を作ることができた、IDCF クラウド へ移行することにしました。ざっくり、月額で3000円ぐらいです(1日ワンコインの定額寄付で支えてもらえるぐらいの金額です)

2019年11月中旬まで

 不可抗力的に起きたサーバー移行でしたが、せっかくの機会ということで、サーバー構成のカイゼンにも取り組みました。
 移行前のサーバー構成は以下のようなものでした。よくある最小構成ってかんじです。

2019年11月下旬以降

 サーバー移行のころには、すでにポータルの機能は運用開始と比べてかなり雪だるま式に膨らんでいて、扱う情報の重要度も高くなってきていました。また、北海道胆振東部地震が前年にあったこともあり、災害対応も気にした構成がいいよねという風向きもあったような気がします。

 ということで、コストを抑えつつ、今後の団体の成長、ポータルの増改築に追従しやすく、災害対応も考えたものとして、以下の様な構成となりました

 LAN1 は、IDCFの東日本リージョンに、LAN2は、IDCFの西日本リージョンに配置して、最悪の場合に開発用環境を本番環境に昇格して継続使用できるようにしました。もちろん本来は、開発環境を本番環境に昇格というのは微妙なんでしょうけど、予算的な制約もあるのと、非常時にだけなので妥協です。

 WEBサーバーとアプリケーションサーバーを分割したので、団体規模が大きくなって同時アクセス数が増えたり、処理内容や扱うデータが巨大化したときにも、アプリケーションサーバーの増強(スペックアップや複数台化)で対応しやすい構成となっています。
 アプリケーションはDockerコンテナ化されているので、アプリケーションサーバー自体の増強も容易になっています(これは過去から引き続き)。

 WEBサーバーとアプリケーションサーバーを分割し、WEBサーバーの方にリソース的な余裕がでたので、IPA提供のiLogScannerを使ってアクセスログから不正アクセスを検出するしくみを稼働させられるようになりました。
 過去の構成のときから、接続元のIPアドレスをベースに日本国外からのアクセスはブロックするようにして、最低限のプラスαの対策をしていました。今回、アクセスログベースではありますが、不審なアクセスを検出するしくみを導入でき、少しセキュリティレベルの向上になったかなと。本当はWAFとか入れておきたいけどお高いのです

採用しているミドルウェアなど

 サーバーOSには、Ubuntu。WEBサーバーには、NGNX。データベースには、PostgreSQLを採用しています。ポータルはPythonのWEBフレームワークDjangoをベースに作っています。Djangoとかの話は次の記事にて……

◇◆◇◆◇◆

 カコタムシステム開発室では、情報システムの開発を通して、学びの機会格差問題の解決に協力してくれるボランティアメンバーを募集しています。


いただいたサポートに応じて、「環境に左右されない楽しい学びの場をすべての子ども・若者へ」をミッションに活動する認定NPO法人Kacotam(カコタム)へ寄付をします!