Webサービスの開発会社様から、新しく提供する会員制のリアルタイムWebサービスをAWS上で動かしたいとご相談をいただきました。
このサービスには、ルーム・チャット・ランキングなど、利用者の画面がリアルタイムに更新される機能があります。こうした機能は、多くの利用者が同時にサーバーとつながり続ける「常時接続(WebSocket)」で実現しており、一般的なWebサイトとは違うインフラ設計が必要です。
開発会社様がアプリケーション開発に集中できるよう、レムシステムはAWS環境の方式検討・設計・構築・負荷試験・運用設計を担当しました。
導入の背景と課題
- 常時接続の負荷が読みにくい:多くの利用者が同時に接続し続けるため、どの程度のサーバーが必要かを事前に見極める必要がありました
- Webの処理と常時接続を両立させたい:同じサーバーで両方を動かすと、接続が増えたときにWebの表示が遅くなったり、更新作業のたびに接続が切れたりするおそれがありました
- 既存環境からの移行:開発済みのアプリケーションを、動作を変えずにAWSへ載せ替える必要がありました
- 運用の手間を増やしたくない:監視・バックアップ・定期処理を、日々の手作業に頼らず回せる仕組みが求められていました
ご提案内容
WebSocketの実現方法として3つの方式(サーバーレス型、Webサーバー同居型、WebSocket専用サーバー型)を比較し、WebSocketを専用のサーバーに分離する方式をご提案しました。開発会社様が使い慣れた技術のまま開発でき、Webの処理と常時接続がお互いに影響しないことが決め手です。
| 項目 | 構成 |
|---|---|
| 入口 | ロードバランサーで受け、通常のWeb画面とWebSocketを別々のサーバーへ振り分け |
| サーバー | Webサーバー・WebSocketサーバーとも、2つのデータセンター(アベイラビリティゾーン)に分散配置 |
| データベース | Amazon Aurora(MySQL互換)。外部から直接つながらない領域に配置 |
| セッション・配信同期 | ElastiCache(Valkey)。複数のWebSocketサーバー間でメッセージを共有 |
| 画像・動画 | S3とCloudFront(CDN)から配信し、サーバーの負荷を軽減 |
| 管理・運用 | サーバーへの管理接続はAWSの管理機能経由を標準とし、監視・ログ・バックアップ・定期処理をAWSのサービスで自動化 |
安心して運用を始めるための3つの取り組み
1. 方式を比較してから設計する
いきなり構築するのではなく、WebSocketの3方式について、開発のしやすさ、Webの処理への影響、更新作業時の切断、運用の手間、拡張性を比較表にまとめてご判断いただきました。まずは必要最小限の評価環境から始め、本番を見据えた構成に広げる進め方としています。
2. 本番前に5,000人規模の負荷試験を行う
運用開始の前に、5,000人規模の同時接続を想定した負荷試験を実施しました。その結果、WebSocketサーバーのメモリとCPUに余裕が足りないことが分かったため、サーバーの性能を引き上げ、台数を2台から4台に増やして運用を開始しています。数字で確かめてから本番を迎えられたことが、今回いちばんの成果です。
3. 運用の手間を減らす仕組みを最初から入れる
- 監視:サーバーやデータベースの異常を検知すると、お客様と当社の両方にメールで通知
- バックアップ:毎日自動で取得し、障害時はそのまま起動できる形式で保管
- 定期処理:特定のサーバーに依存しない仕組みで実行し、サーバーを入れ替えても設定変更が不要
導入効果
| 項目 | 導入後の状態 |
|---|---|
| 同時接続への備え | 負荷試験の結果をもとに増強した構成で運用を開始 |
| 可用性 | サーバーを2つのデータセンターに分散し、サーバーが1台止まってもサービスを継続できる構成 |
| 拡張性 | 利用者が増えた場合は、WebSocketサーバーの台数を増やすだけで対応可能 |
| 運用 | 監視・通知・バックアップ・定期処理をAWSのサービスで自動化 |
| 開発との分担 | インフラを当社が担当し、開発会社様はアプリケーション開発に集中 |
まとめ
チャットやランキングなど、リアルタイムに動くWebサービスは、作ってみるまで負荷が読みにくいものです。レムシステムでは、方式の比較検討から負荷試験、運用設計までを一貫して担当し、数字で確かめた構成で本番を迎えるお手伝いをしています。開発会社様のインフラパートナーとしても、お気軽にご相談ください。
ご相談・お見積り(無料)
AWSへの移行・新規構築、WebSocketを使ったサービスの基盤設計、負荷試験、運用設計まで、お気軽にご相談ください。サービスの概要や想定利用者数がわかる資料があれば、より具体的なご提案が可能です。
全国対応/お見積り無料。遠隔ヒアリング・現地対応の両方に対応しています。
