AWS 導入事例:(株)JTBコミュニケーションデザイン様

Home \ フォージビジョンクラウドが担当させていただいた事例の紹介ページ \ AWS 導入事例:(株)JTBコミュニケーションデザイン様

イベント集客から、動画のアップロード、管理までセキュアにマネジメントできる動画配信プラットフォームの開発

2020 年にお客様の新規事業となる、配信〜マーケティング管理までワンストップで行える動画配信プラットフォーム開発を AWS インフラ構築からアプリケーション開発まで包括して担当させていただきました。

また、サービスイン後もアプリケーションのエンハンス開発と、アプリ・インフラ一括保守ベンダーとして、お客様と同じ目線でシステムを成熟させることに成功しました。

プロジェクト名・製品名

JCD Event Platform

クライアント

(株)JTB コミュニケーションデザイン

技術

AWS, CakePHP, jQuery

担当範囲

プロジェクトマネジメント, ソフトウェア開発, AWS  インフラ構築, オフショア

ストーリー

課題・お客様からの要望

「イベントを通じて企業の課題解決に貢献すること」を目的としたビジネスイベント向けのセルフイベントプラットフォーム開発をご相談いただき、要件の取りまとめにおいて抱負な実績を持つメンバーがお客様と綿密な打ち合わせを行いプロジェクトのキックオフまで繋げました。

AWS 認定資格保有エンジニアで構成されたクラウドインテグレーション事業部のメンバーに加え、数々のプロジェクトを情報設計から俯瞰的に捉えることができるデザイナー、Android 開発を中心に Java でのコーディング開発を数多くこなしてきたエンジニア、大規模音楽配信プラットフォームをバックエンドで支えてきた PHP エンジニア、海外でオフショア開発を取りまとめるプロジェクトマネジャたちが集結し開発がスタートしました。

ポイント

  • アプリケーション開発〜 AWS 構築までワンストップで対応
  • サービスイン後は、アプリケーション保守とインフラ部分は AWS 運用管理サービスにて FV マネージドサービスとして継続的なサポートをご提供
  • 利用者の増加に応じてスケール可能な構成
  • 1 年以上に及ぶ定期ミーティングにてお客様の視線に立った提案とエンハンス開発を継続

アプリケーション開発で工夫した点

今回の開発で肝となったのは、大容量・動画コンテンツの取り扱いでした。

AWS クラウド側は潤沢なインフラにより、高速なアップロードとデータ転送を提供しますが、ファイルをアップロードされるエンドユーザー様の環境に左右されるため、アップロード時間の調整やリトライ処理などはかなり時間をかけて検証しました。そして、アップロードされた動画ファイルは任意にダウンロードさせない実装を検討するなど、セキュリティ面も慎重に考慮して進めました。

サーバーサイドのフレームワークとして、CakePHP を採用しました。CakePHP 独自の方法を用いて SQL 実行処理を行う、適切にエスケープ処理を施すことなどにより SQL リテラルとして構成させるなど SQL インジェクションなどセキュリティ対策も考慮しました。

開発リソースは Backlog の Git を使用し、変更履歴のバージョン管理ができる環境を整えました。AWS クラウドでの稼働を考慮して、Web サーバーにはデータを蓄積せずステートレスな構成にしました。

AWSインフラ構築で工夫した点

サービスイン後のサポートも視野に入れて、開発段階から「全てのログを記録する」を原理原則に障害箇所を特定しやすい構成を心がけました。まず前段の CloudFront と ApplicationLoadBalancer のログは Amazon Simple Storage Service (S3) のバケットに格納し、ライフサイクルマネージャーで S3 Glacier にアーカイブしました。特に CloudFront のログは CSC(サイバーセキュリティクラウド) 社が提供する WafCharm に取り込み、AWS WAF のルールをインテリジェンスに更新しています。

各 Web サーバーは SSH ポートを遮断し、エンジニアは AWS Systems Manager の Session Manager でアクセスするようにしました。またサーバーのログ (Nginxログ、PHPログ、Auditログ、Messagesログなど) は CloudWatch Agent で全て CloudWatch Logs に出力し可視化しました。

メール配信は Amazon Simple Email Service(SES) を利用していますが、バウンスを検知したら DynamoDB に登録するよう AWS Lambda を組み込みました。

各エンジニアが得意分野を活かして企画から運用管理まで幅広くサポート

サービスイン後は、運用管理サービスにご加入いただき継続的なサポートを行っております。AWS の各リソースは、はてな社の Mackerel を利用して監視を行い、障害を迅速に把握できるように整備しています。また、 Mackerel の分かりやすいメトリクスを元に月次レポートを作成し、ライフイベントの負荷状況などを月次報告会で報告し改善提案を進めています。

これまで社長の喜多がオーケストレーションし、各分野に尖ったエンジニアたちが集結してプロジェクトを支えてきました。創意工夫を経て、JCD Event Platform はサービスインして1年を迎えることができました。フォージビジョンは、これからも更なる機能拡張と性能改善を行いお客様と一緒により良いサービスへ成長させていく所存です。