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

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

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

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

ECサイトに通知機能をつける

 ECサイトの運営においては「利用者と密なコミュニケーションによって顧客を逃がさない」という戦略が重要だ。そのためには、利用者に対するメールやSMS、プッシュなどの通知機能が不可欠である。だが、これらの通知機能自体はECサイトの本質ではないだけに、なるべく手間をかけずに実装したい。AWSには手間をかけずに通知機能を実装するためのマネージドサービスが色々と用意されている。

一斉配信のための「Amazon SES(Simple Email Service)」

 SESは、メールを多数の利用者に一斉に配信できるマネージドサービスである。「SPF(Sender Policy Framework)」や「DKIM(DomainKeys Identified Mail)」といったメールに信頼性を持たせる仕組みが組み込まれており「メールが自動的にスパムフィルタに引っかかり迷惑メールフォルダに入ってしまう」といった課題をクリアできる。マネージドサービスのため、Eメールサーバーの管理、ネットワーク構成、IPアドレスの評価といったインフラの課題はすべてAWSが担保してくれる。多数の利用者にメールを定期的に送る必要がある場合には不可欠なサービスになるだろう。

モバイルプッシュのための「Amazon SNS(Simple Notification Service)」

図3:非同期のアーキテクチャーが組める図3:非同期のアーキテクチャーが組める
拡大画像表示

 SNSはプッシュ通知のためのサービスである。最大の特徴は、そのプロトコルの多さだ。EメールはもちろんSMSへの通知や、iOS/AndroidなどへのPush通信もできる。個別のユーザーアクションに対して多様な方法でコミュニケーションを取りたい場合、SNSを使って通知機能を実装することは重要なアーキテクチャーになる。ちなみにSNSは、HTTPやイベントドリブンの「Lambda」へも通知できるので、外部APIやシステムとのコミュニケーションにもSNSを使うと良いだろう。

 非同期のアーキテクチャーも組める(図3)。例えば、SNSからSQSに通知し、そのSQSをEC2からポーリング処理すれば、リクエストだけを先に受け付け、実際の処理はCPU能力に合わせて順番に行うといったことができる。要件に合わせて実装してみてはどうだろうか。

通知結果を分析するための「Pinpoint」

 通知機能を実装し利用すれば、気になるのは、その通知結果だろう。その際に有効なサービスが行動分析の「Pinpoint」である。クライアント側にSDKを組み込み、利用者が「どんなデバイスを使用しているか」「いつ、どのくらい自社のアプリを使用しているのか」といった属性値を集計できる。

 Pinpointで集計した属性値に基づき、一定のクラスタを対象にプッシュ通知を実施する。例えば「1カ月アプリを使用していない利用者にキャンペーンを知らせる」などである。そして、キャンペーンを通知した利用者のうち、どれくらいがアプリにアクセスしたのかを継続的に分析することで、キャンペーンの内容やタイミング、対象クラスタを調整する。最も必要なタイミングに最も効果的なアクションを導く“攻めの通知”を行うなら、Pinpointを活用し内容をより良く修正していくと良いだろう。

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

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

PAGE TOP