[クラウド活用パターン辞典〜Amazon Web Servicesを使い倒す!〜]

AWSでECサイトを構築する【第3回】

2017年4月10日(月)清野 剛史(クラスメソッドAWS事業部ソリューションアーキテクト)

前回までにクラウドの「可用性の担保」や「負荷対策」を解説した。今回は、それらを元にして、「ECサイトの構築」をテーマにしたアーキテクチャーを実際に構築していきたい。

ECサイトに検索機能をつける

 最後は検索機能だ。ECサイト内に検索機能を持たせる場合、その検索内容によって、それぞれコードをアプリケーションに組み込む必要がある。インデクシングをデータに施したりスピードを保ったりするためのキャッシングなどを考え、HDD容量を事前に調整する必要もある。これらの作業は“熟練の勘”のようなものが必要だった割には、ECの本質とは直接には関わらず費用対効果が悪かった。

 AWSでは、そうした検索サービスがフルマネージド化されており、面倒なハード上の調整やスケーリングなどはすべてAWSが担ってくれる。管理者は検索機能を手軽に装着できる。AWSの検索サービスには「CloudSearch」と「Elasticsearch Service」があり、それぞれに特徴があり、どちらを選ぶかは要件と運用時にリソースをどの程度かけられるかで決めると良い。

CloudSearch

 フリーテキスト検索、ブール型検索などのほか、自動入力の候補表示、適切度ランク付け、フィールドの重み付け、地理空間検索などができるサービスである。一般的なワード検索であれば、CloudSearchを使えば数時間でその機能が実装できてしまう。

 CloudSearchの最大の特徴は「機能が既に揃っている」という点だ。ボリュームも自動的にスケールするし、インターフェースも用意されている。開発側はほとんど何も考える必要がなく、極めて少ないリソースで検索機能を実装できる。運用でも、再インデックスや検索トラフィックに対するスケールアウトなどECサイトの規模や利用者の変化に対してもAWS側で最適化してくれる。管理者は本来のEC戦略に集中できる。

Elasticsearch Service

 米Elasticが提供する「Elasticsearch」という検索ソリューションをAWSに組み込んだサービスである。Elasticsearchが誇る細かいヒット設計や複雑なデータ構造を検索するのには最適だ。例えば「メガネ」 → 「サングラス」 → 「メーカー名」などのネストしたインデックスの検索や、単語の部分一致など、要件に合わせた細かな商品検索やタグ検索を行う際に力を発揮する。

 さて、これらを踏まえてAWSにてECサイトを構築する場合の構成図を考えたのが図4である。これはいわゆる「全部のせ」の状態だ。ランニングコストやリソース、スキルなどを考えて、ここから調整していくのが良いだろう。

図4:AWSのサービスを“全部のせ”したECサイトの構成図4:AWSのサービスを“全部のせ”したECサイトの構成
拡大画像表示

 次回は、最近一般的な用語になりつつある「サーバレスシステム」について考える。

筆者プロフィール

清野 剛史(せいの・つよし)
クラスメソッド AWS事業部ソリューションアーキテクト。北海道札幌市にてサーバーサイドプログラマー、フロントエンドエンジニアなどを経て2014年7月よりクラスメソッドに参画。AWS全般のコンサルタントを中心にIoT、AIなどの新規技術のR&D事業にも従事する。好きなAWSのサービスは「Lambda」「AWS IoT」

バックナンバー
クラウド活用パターン辞典〜Amazon Web Servicesを使い倒す!〜一覧へ
関連記事

AWSでECサイトを構築する【第3回】 [ 4/4 ] 前回までにクラウドの「可用性の担保」や「負荷対策」を解説した。今回は、それらを元にして、「ECサイトの構築」をテーマにしたアーキテクチャーを実際に構築していきたい。

PAGE TOP