メインコンテンツに移動
  • AWS
  • 導入事例
2020 ちゅらっぷす株式会社

260 万ダウンロードを超える『おそ松さんのへそくりウォーズ』をはじめとしたゲームアプリをスケーラブルで高速な AWS 上で開発・配信・運用。効率化とスピード向上とともに安定したサービスを提供

概要

沖縄県那覇市でスマートフォンアプリやゲームアプリの開発を手がけるちゅらっぷす株式会社。同社は 2015 年の設立時からアプリの配信基盤に アマゾン ウェブ サービス(AWS)のサービスを採用し、ビジネスの成長に合わせてインフラ基盤を拡張してきました。 2016 年には配信基盤のデータベースを Amazon RDS から、スケーラブルで高速な Amazon Aurora に移行し、パフォーマンスの安定化を図っています。今や同社のアプリ開発で AWS のサービスは欠かせない基盤となり、多くのノウハウが蓄積されています。

A modern office building with large windows and beige exterior is shown under a clear blue sky during daytime. The setting includes a lamp post, several trees, and vehicles parked in front of the building.

信頼性の高さを考慮してゲームアプリ配信基盤を AWS に

『秘密結社 鷹の爪』のアニメ制作やファッションイベント『東京ガールズコレクション』の運営などで知られる株式会社ディー・エル・イーの 100% 子会社として 2015 年に設立されたちゅらっぷす。沖縄の方言で美しいを意味する“美ら(ちゅら)”とアプリの“Apps”を社名の由来とし、アプリを中心とするエンターテインメントを沖縄から発信しています。同社が企画から開発までを手がけ、2016 年 2 月に配信を開始した TV アニメ『おそ松さん』のゲームアプリ『おそ松さんのへそくりウォーズ~ニートの攻防~』は、260 万ダウンロードを超える大ヒットを記録しています。設立時は 10 名ほどだった社員も現在では約 40 名まで増え、沖縄出身者から、I ターン転職者、沖縄に魅了されて入社した県外出身者まで幅広い人材が集まっています。

社内の IT インフラやゲームアプリの配信基盤は、設立当初からクラウドサービスの利用を前提とし、AWS をはじめとするサービスを利用してきました。「スモールスタートでかつ、コストを極力かけずにアプリを開発するというビジネスモデル上、オンプレミスの選択肢はありませんでした。中でも知名度の高い AWS は、ステークホルダーの映像制作会社や制作委員会などからも理解が得やすく、安定性やセキュリティレベルも高いことから、AWS を前提とするのがデフォルトとなっています」と語るのは技術部 SRE チーム の平田丈氏です。

スケーラブルな Amazon Aurora でパフォーマンスの安定化を実現

設立後、最初に開発を手がけたゲームアプリ『おそ松さんのへそくりウォーズ~ニートの攻防~』でも AWS を利用し、初期段階では Amazon EC2 と Amazon RDS for MySQL で配信基盤を構築しました。ところが、2016 年 2 月にリリースした直後から MySQL において原因不明のパフォーマンス劣化が見られたといいます。

そこでデータベースをパフォーマンスの高い Amazon Aurora に載せ換えました。

「MySQL の性能劣化の原因がわからず、藁にもすがる思いで Amazon Aurora に切り替えてみました。最初は半信半疑でしたが、パフォーマンス劣化のエラーが見事に解消され、安定稼働に移行しました」と振り返ります。

2015 年から 2016 年当時、同社のインフラ構築は平田氏が 1 人ですべてを担当していました。しかし、それまでサーバーサイドのエンジニアだった同氏にとって、AWS のサービスを使ったインフラ構築は初めての経験です。しかも『おそ松さんのへそくりウォーズ~ニートの攻防~』はアニメの大ヒットでリリース直後から爆発的にユーザー数が増え、急ピッチでの規模の拡大を求められました。その中で同氏は独学で AWS について学び、さらには外注のパートナー会社にも協力を仰ぎながら、実務と並行して知見を深めていきました。

「当初は Amazon EC2 のサーバー構築も手作業で対応し、サーバー増設時は自分でスクリプトを書いていました。後にオートスケールを活用し、開発・運用がとても楽になりました。また、運用の中で『おそ松さん』のゲームは女性ユーザーが多いことから、キャラクターの誕生日にはサーバーアクセスが急増するといったことも学んでいきました。アプリケーションのデプロイも、AWS Elastic Beanstalk を活用したことで、負荷を大幅に軽減できました」

取得したログデータの分析をもとにパフォーマンスやコストを最適化

現在同社が半年から 1 年に 1 回のペースでリリースする新作ゲームアプリの配信基盤は、原則として Amazon EC2 と Amazon Aurora で構成し、それぞれアベイラビリティゾーンで冗長構成としています。EC2 インスタンス内のログは、ログ集約ソフトの fluentd を利用して収集。Amazon CloudWatch Logs に保存したログを監視しながら、リソースの増強を適時実施しています。また、Application Load Balancer を使用してアプリケーションレイヤーのトラフィックを分散。同時にコンテンツ配信ネットワーク(CDN)に Amazon CloudFront を採用し、そのログを Amazon S3 に保存しています。

リソースの増減が自由に変更でき、ユーザー数に合わせてスケールできる AWS の活用により、パフォーマンスの維持とコストの最適化が実現しました。ゲームをリリース後にユーザーの状況に応じて環境を増強したり、ゲームの人気に応じてサービスを停止したりすることができることは、クラウドならではのメリットです。平田氏は「収集したログのデータをもとに Amazon EC2 や Amazon Aurora のパフォーマンスやコストを 1 ヶ月単位で見ながら、必要に応じてリソースや構成を変更したり、パフォーマンスをチューニングしたりしながら継続的にコストの最適化を図っています」と説明します。

Docker や Kubernetes 活用に向け Amazon EKS の知識の習得を開始

2017 年以降、体制も強化されインフラの構築・運用体制も確立されました。開発部門からの要望に対して、テンプレートを使って約 1 週間で開発環境を構築して提供することができるといいます。アプリの開発期間は、1 タイトル 4 ヶ月から 8 ヶ月程度で、インフラの構築期間が短縮されることで、早期のリリースにも貢献しています。

設立当初はインフラ構築が初めての経験だった平田氏も、4 年間の構築・運用でスキルを高め、現在は AWS のプロフェッショナルとして活躍しています。

「AWS のサポート対応の早さにも、何度も助けられました。また、AWS はドキュメントが充実しているので、サーバーやストレージの構築はスムーズに進められました」

今後にかけて、同社が継続的に取り組んでいこうとしているのが、コンテナの活用です。これによって開発を効率化し、インフラの運用コストを軽減することが狙いです。

「現在、Docker を使って Amazon EC2 上に開発環境を構築しています。今後は Kubernetesを活用して、開発環境から本番環境までを一元的かつ効率的に管理しながらアプリケーション開発に貢献していきます。すでに一部では Kubernetes の利用を開始していますが、社内全体で知識を深めながら今後のプロジェクトで活用してみたいと思います」と話します。

Kubernetes の活用では当然、マネージドサービスの Amazon Elastic Kubernetes Service (Amazon EKS)も視野に入っています。現在同社は、週 1 回の勉強会を設けたり、社内ブログで記事を書いたりしながら知識の習得に努めています。「できるだけ早く Kubernetes のレベルを高めて、沖縄発の美らなアプリの制作に貢献していきたいと思います」と話します。

Missing alt text value
Missing alt text value
知名度の高い AWS は、映像制作会社や 制作委員会などからも理解が得やすく安定性やセキュリティレベルも高いことから、アプリ開発のインフラ基盤はAWS を前提に考えるのがデフォルトとなっています

平田 丈 氏

ちゅらっぷす株式会社 技術部 SRE / アーキテクト

ちゅらっぷす株式会社

  • 設立年月日:2015 年 7 月 1 日

  • 資本金:400 万円

  • 従業員数:41 名

  • 事業内容:スマートフォンアプリ、Web アプリの企画・開発・運用

AWS 導入後の効果と今後の展開

  • Amazon Aurora の活用によるゲームアプリ配信基盤の安定化

  • オートスケールによる開発や運用の効率化

  • AWS Elastic Beanstalk の活用によるデプロイの自動化

  • ログ情報の分析によるパフォーマンスの維持とコストの最適化

  • 約 1 週間で開発環境を構築

  • コンテナ(Docker、Kubernetes)の活用による開発の効率化を検討