60TB以上の画像データをいかに管理するか
ZOZOTOWNが「Amazon S3」「AWS Lambda」で数億枚の商品画像を管理 その効果は
通販サイト「ZOZOTOWN」で扱う商品画像は数億枚に上り、増え続ける一方だ。ZOZOはこれらの商品画像の管理システムを、オンプレミスサーバから「Amazon S3」へ移行した。膨大な画像データの移行方法とその効果とは。
ZOZOの運営する通販サイト「ZOZOTOWN」は、販売商品が常時65万点以上に上り、毎日平均3100点以上の新着商品を掲載している。同社はこれらの商品説明(写真1)に使用する数億ファイルの商品画像の保存先を、オンプレミスサーバからAmazon Web Services(AWS)のクラウドストレージ「Amazon Simple Storage Service」(Amazon S3)へ移行した。同社はなぜ膨大な数の商品画像をクラウドで管理するに至ったのか。短期間で移行した方法とは。2018年10月31日開催のテクノロジーカンファレンス「AWS Dev Day Tokyo 2018」で、ZOZOグループの技術開発を担当するZOZOテクノロジーズの柴田 翔氏が語った。
移行前のシステム構成とその課題
ZOZOTOWNに掲載される商品画像には、オリジナルサイズの画像とそれをサムネイル用に縮小したリサイズ画像の2種類がある。S3への移行前、ZOZOテクノロジーズはこれらの画像を全10台以上のオンプレミスサーバで管理していた。移行前のシステムは、オリジナルサイズの画像をリサイズする際、処理前のデータを一時的にためるスプールに蓄積。その後、画像リサイズ処理用サーバに転送してリサイズし、オリジナルサイズの画像とリサイズ画像をそれぞれの専用サーバに分けて格納していた。
オンプレミスのシステムの運用で課題となったのが、サーバの容量不足だ。ZOZOTOWNの取り扱いショップやブランド数は年々増加しており、それに伴い商品画像も増えてきた。加えて同様のシステムで画像を管理してきたZOZOの古着売買サービス「ZOZOUSED」では、古着の一着一着の状態が異なるという特性から、一着ごとに画像を用意する必要があり、商品画像が増えやすい傾向があった。同社は今までに販売したほぼ全商品の画像を保持しており、移行の時点で保存していた商品画像は、オリジナル画像とリサイズ画像合わせて数億ファイルで、約60TBに上っていた。商品画像は毎日数十万ファイルの規模でアップロードされるが、サーバはスケールアウトできない仕組みになっており、スケーラビリティに欠ける状況だった。画像アップロード数の増加に耐えられるインフラの必要性が高まっていたのだ。
保守管理の面でも困難が生じていた。故障したディスクの修理やディスクのリプレースの負担が大きく、夜間帯のアラートの60%は画像関連だった。システムの保守期限も近づいていた。
S3への移行理由は、容量制限がないため画像データの容量を気にしなくていい点と、複数のデバイスに冗長にデータを保存する仕組みで耐久性を高めている点、AWSのソリューションアーキテクトから技術的なサポートが受けられる点だ。「オンプレミス一筋」でクラウドの運用経験がなかった柴田氏にとって、公開ナレッジが多く、運用のノウハウが共有されていることもメリットだった。
ZOZOテクノロジーズは画像の移行に当たって3つの方法を検討した。1つ目は大量データ転送用ハードウェアの「AWS Snowball」を使って全画像を転送する方法、2つ目はS3に直接全画像を転送する方法、3つ目はS3にオリジナルサイズの画像のみ転送する方法だ。
当初はSnowballを使った方法を検討していた。Snowballは大量の小容量ファイルをバッチ処理で圧縮せずに転送すると、オーバーヘッドが増加して転送速度が遅くなる特性がある。今回転送する一枚一枚の画像データは、平均128KBと小さい。この場合の転送速度は毎秒10MBになり、転送時間が72.8日かかることが判明した。柴田氏は「データを圧縮処理すれば転送速度は速くなるものの、圧縮処理にも時間がかかる」と説明する。さらにSnowballでの移行には暗号化処理のために、専用クライアントツールの「Snowball クライアント」をインストールしたデバイスが必要で、暗号化処理とそのためのデバイスの準備、Snowball自体の手配など、転送以外にも準備時間がかかるのが難点だった。「Snowballを使うときは、ファイルサイズと内容について考慮する必要がある」(柴田氏)
オリジナル画像とリサイズ画像を含む60TB分の全画像を、直接S3に転送する方法はどうか。オンプレミスサーバからS3への転送処理には、AWSサービスの統合管理ツール「AWS Command Line Interface」(CLI)と構成管理/変更管理サービスの「AWS Config」を使用する。転送速度の実測値は毎秒42MBと、Snowballを利用したときの約4倍になり、推定転送時間は17.3日になった。新しくハードウェアを用意する必要がないため、予想準備時間もSnowballを使う方法より短縮された。
さらなる転送時間の短縮のために検討したのが、全画像データの総容量の半分であるオリジナル画像のみS3に転送し、その後サーバレスコンピューティングツール「AWS Lambda」を用いて非同期処理でリサイズする方法だ。転送する画像のデータサイズが約60TBから約30TBとおよそ半分になるため、推定転送時間も8.6日と約半分に短縮された。転送の際にリサイズ用オンプレミスサーバが不要なこともメリットだった。ZOZOが商品画像のオンプレミスサーバからS3への移行方法として最終的に選んだのは、この方法だった。
移行後もLambdaで運用 クラウド移行の効果は
S3への移行後にアップロードされた新規画像のリサイズには、移行時に利用したのと同じLambdaを使用している。移行時に移行後と同じシステムを利用することで、膨大な画像の処理能力を事前に検証できるメリットを狙ったという。ユーザーが新規画像をS3の一次受けバケット(ファイルストレージ)にアップロードすると、Lambdaが画像をリサイズし、S3のオリジナル画像用バケットとリサイズ画像用バケットに分けて格納する(写真2)。
導入を検証していた当時の課題に、S3のGETリクエストの制限があった。当時のS3には秒間800リクエストの制限があったが、オンプレミスのサーバへのリクエスト数を測ったところ秒間795リクエストと上限に迫っていた。オリジナル画像とリサイズ画像でS3バケットを分けるなど、S3の構成を工夫することで改善したが、万全とは言えなかった。結果的には2018年7月に発表されたS3の性能向上によって秒間5500リクエストまでできるようになり、ひとまず考慮する必要がなくなった。
スケールアップの難しいオンプレミスサーバからS3へ移行したことで、増え続ける商品画像データの容量を気にせずシステムを運用できるようになった。バックアップサーバを含むオンプレミスサーバの管理からも解放された。画像関連のディスク修理やサーバのリプレース、夜間の保守作業がなくなったことで、保守管理コストを削減できたという。
リサイズにLambdaを利用することで、画像リサイズ用のサーバを用意する必要がなくなり、リサイズシステムの運用で管理しなければいけないものがコードのみになった。また柴田氏は「従来ずっと同じリサイズシステムを利用していたことによる、メンテナンスやチューニングなどの保守管理の属人化が解消された」と話す。
S3のGETリクエスト制限問題は解消されたものの、ZOZOTOWNのビジネス規模が急拡大した際には、同様の問題に直面する可能性はゼロではない。クラウドサービスは常に、個別のユーザー企業の要求を全て満たすわけではないからだ。それでも膨大なWebコンテンツのデータ管理について考えるとき、ZOZOTOWNのようなクラウドの導入は一つの選択肢となるのではないだろうか。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[o9ソリューションズ・ジャパン株式会社] 「改正物流効率化法対策」徹底解説 総物流費を抑制するサプライチェーン戦略 -
製品資料
[o9ソリューションズ・ジャパン株式会社] 「サプライチェーン最適化」実践ガイド:効果的な意思決定を実現する秘訣とは? -
製品資料
[株式会社リンプレス] 非デジタル/IT人材を「自走するDX推進者」に変えるための育成ロードマップ -
市場調査・トレンド
[ワンアイルコンサルティング株式会社] AI時代の組織設計:「判断と責任」を人に残すための2つの原則とは? -
技術文書・技術解説
[ワンアイルコンサルティング株式会社] システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
1200万円のSaaS導入を回避 スギ薬局「運用費10万円」のAIエージェント構築術
-
2
「完璧な設計」なのに3000万円溶けた AWSの失敗事例から学ぶ3つの教訓
-
3
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
4
高額な「AI PC」を一般従業員も使えたら? 費用のハードルを一気に下げる方法
-
5
二極化する生成AI活用 「一部の社員しか使いこなせない」をどう解消すべきか
-
6
LLMの「過学習」、正しく説明している文章はどれ?
-
7
公式ストアの“防波堤”が消える「スマホ法」の衝撃 今必要な対策とは
-
8
IT調達担当者が知るべき「IT機器 大インフレ時代の前向きな選択肢」
-
9
高信頼セキュアネットワーク、アラクサラ統合で広がるフォーティネットの選択肢
-
10
「AIバブル」は崩壊するのか? 熱狂の後に来る“尻拭い”と4つの防衛策
ホワイトペーパーランキング PR
-
1
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
2
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
3
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
4
DX/AI投資の壁を突破、現代の最高財務責任者が直面する課題と克服のヒント
-
5
「Google Workspace」活用事例34選、先進の生成AIによる組織変革の全貌
-
6
生成AIで文書活用を進めるには? 効率化と安全性をどう両立する
-
7
「人員を増やす」という選択肢はない 情シスが負の連鎖から抜け出すには?
-
8
「問題が深刻化しやすいプロジェクト管理」から脱却する方法とは?
-
9
Linuxのスキルを証明する“激推し”の認定資格はこれだ
-
10
NTTドコモが実践したクラウド統合監視 業務量2倍でも残業削減を実現できた理由
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー