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

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

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

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

オートスケールにするか冗長構成にするか

 次に考えるべきはEC2の形態を(1)AutoScalingにするか、(2)単体のEC2を冗長的に偶数台配置するか、という選択だ。いずれにも利点と欠点がある。選択のポイントは「リクエストの増減が激しいかどうか」「サーバーがダウンした時の運用をどうするか」だろう。

 AutoScalingが有効なのは、リクエストが時間帯や曜日によって5倍や10倍も差があるといったサイトである。しかし、その増減度合いが急激な場合、例えば「木曜の夜9時から1時間、割引キャンペーンを実施するため必ず急激なアクセス増が見込まれる」といったケースでは、最初の数分間はAutoScalingがリクエスト増を検知してスケールアウトするのが追いつかず、毎週つながりにくい時間帯ができてしまう。その場合は単体EC2を配置し、手動またはスケジュールによってリクエスト増の20分前位に台数を増やしておくと良いだろう。

 サーバーがダウンした時は、バックアップしているAMIイメージを利用して新しいサーバーを立ち上げることになる。AutoScalingなら必要な台数(desired)に足りなければ自動でサーバーを立て直してくれる。クラウドの場合、OSより低いレベルの原因でサーバーがダウンした場合、その原因を探るのはAWSサポートと連携するなど骨の折れる作業になる。だがAutoScalingであれば「LifeCyclehook機能」を使うことで、サーバーがダウンした時に任意のコマンドを流せる。サーバーログなどをストレージサービスの「S3」に流しておけば障害探索の一助になるだろう。

この記事の続きをお読みいただくには、
会員登録(無料)が必要です
【次ページ】ECサイトに通知機能をつける
  • 1
  • 2
  • 3
  • 4
バックナンバー
クラウド活用パターン辞典〜Amazon Web Servicesを使い倒す!〜一覧へ
関連記事

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

PAGE TOP