アマゾンウェブサービスジャパンは2018年10月30日〜11月2日に「AWS Dev Day Tokyo 2018」を開催。ZOZOテクノロジーズの柴田翔氏は、ファッションECサイト「ZOZOTOWN」で使われる数億枚の商品画像をオンプレミスからクラウドに移行した方法について説明した。
アマゾンウェブサービスジャパンは2018年10月30日〜11月2日に「AWS Dev Day Tokyo 2018」を開催した。本稿ではZOZOテクノロジーズ 開発部 柴田翔氏の講演「ZOZOTOWNの膨大な画像ファイルを移行したときの過程の話(オンプレミスからクラウドへ)」の内容を要約してお伝えする。
柴田氏は、ZOZOTOWNで利用する数億枚の商品画像を保存するシステムをオンプレミスに構築していたが、そこで発生していた問題を、クラウド移行によって解決した。本講演では、その具体的な方法について説明した。
ファッションECサイト「ZOZOTOWN」やファッションコーディネートアプリ「WEAR」のインフラ構築、運用を担当する柴田氏は、クラウド移行前の画像保存システムの構成を次のように説明した。
そもそもZOZOTOWNでは、下図のように出店企業が登録した商品画像(オリジナル画像)と、それを縮小処理したリサイズ画像の2種類を掲載している。
移行前の画像保存システムでは、オリジナル画像を、SPOOL(バッファー)サーバに保存。保存した商品画像から、画像変換サーバを通じてリサイズ画像を作成し、オリジナル画像とリサイズ画像をそれぞれ専用のストレージ(30TB)で保存する。
さらに、システムを冗長化するため、システム全体で10台以上のサーバを稼働。保存した商品画像をZOZOTOWNで表示させる際は、画像キャッシュとしてCDN(Content Delivery Network)を経由して各クライアントに画像を配信している。
しかし、この構成には「3つの問題があった」と柴田氏は振り返る。
1つ目はストレージ容量の問題だ。ZOZOTOWN開始当初からほとんど全ての商品画像を社内サーバのストレージに保存していたため、保存量が約60TBになっていた。どちらのストレージも30TBの容量しかないため、空き容量がほとんどない状態となり、早急な対処が必要だった。
2つ目は、運用コストの問題だ。社内ストレージの空き容量の切迫を知らせるアラートや、連携する画像関連サーバからのアラート(全夜間アラートの60%)への対応が必要で「この運用から解放されたい」という思いが強かった。
3つ目は、スケーラビリティだ。下図のように、ZOZOTOWNに登録する店舗が増えることで商品画像も増加するため、サービスの拡大に対応できるインフラ整備が求められていた。
そこで柴田氏は、画像保存システムを、Amazon Web Services(AWS)が提供するオブジェクトストレージ「Amazon Simple Storage Service」(以下、S3)とサーバレスでコードを実行する「AWS Lambda」(以下、Lambda)を利用するクラウド構成に移行することを決断。柴田氏はクラウドへシステムを移行する上で重視したポイントやS3を選定した理由を次のように説明した。
「セキュリティ、パフォーマンスを維持するための運用コストを抑えられる、なるべくAWSのマネージドサービスを利用する構成を重視した。さらに、画像データの容量を気にする必要がないこと、できるだけ短期間で移行できることも意識した。そこで選択したのがS3だった。容量制限がなく、高い耐久性を持つこと、公開されているナレッジが多く、Amazon Solution Architect(以下、AWS SA)の手厚い技術的サポートを受けられることも魅力だった」
Copyright © ITmedia, Inc. All Rights Reserved.