Magento on AWS 2017バージョンでスケーラブルなECサイトを構築してみる

Magento2

こんにちわ。大阪のガノタです。
今回は、MagentoでECサイトを構築するクイックスタートについてご紹介します。このクイックスタートは以前からAmazonより公開されていましたが、Magentoのバージョンが古い状態になっていました。

しかし、2017年3月20日にアップデートされたことで、MagentoのバージョンやAWS構成もアップデートされましたので、早速試してみたいと思います。

Quick Start Update: Deploying Magento on the AWS Cloud

概要

このクイックスタートでは大きく4ステップから構成されています。

  • Step1:AWSアカウントの作成
  • Step2:Magentoのダウンロード
  • Step3:CloudFormationによる環境構築
  • Step4:確認

構成

CloudFormationで最終的に作成される構成は下記のようになります。これは公式ドキュメントに記載されている構成図です。

11-magento-architecture

Architecture - Magento on AWS

それでは、各ステップについて見ていきたいと思います。

Step2:Magentoのダウンロード

Step1は割愛させて頂き、Step2から見てみます。

Step 2. Download the Magento Software - Magento on AWS

Step3でCloudFormationを利用しますが、Magentoのソースコードは事前にS3に保存しておく必要があります。 Magentoのソースコードは公式サイトからダウンロードします。

ダウンロードには、Magentoの公式サイトでアカウントを作成する必要があります。(アカウントの作成は無料です)

01-magento-reg

氏名やメールアドレスなどを記入します。

02-magento-info

アカウントを作成できたら、Community Editionの最新バージョンをダウンロードします。

Open Source Ecommerce Software & Solutions | Magento

今回はサンプルデータも同梱されている「Full Release with Sample Data (ZIP with sample data)」 をダウンロードします。 ファイルは「tar.gz」のものを選択します。

ダウンロードできたらS3に保存します。CloudFormationはこのS3バケットからMagentoのソースコードを取得して、サーバに展開する仕組みになっています。

01-magento-with-sampledata

Step3:CloudFormationによる環境構築

新しいテンプレートではEFSが利用されているので、オレゴンリージョンで作成します。

「公式ドキュメントのStep3」 のページで、VPCの作成についてオプションが2つ用意されています。今回は新規にVPCを作成しようと思うので「Option 1」 をクリックします。

02-newvpc

クリックすると、CloudFormationのページが開くので、必要に応じてパラメータを指定していきます。
今回は簡単に確認したかったのでSSLの指定は無しにしています。本番利用する際は「SSL Certificate ARN」 のパラメータを設定するようにして下さい。

12-parameters

各パラメータの内容は下記のドキュメント詳細が記載されています。

Step 3. Launch the Quick Start - Magento on AWS

CloudFormationによるスタックの作成は30分ほどかかるので、気長に待ちましょう。

Step4:確認

スタックの作成が完了すると、「Output」 にELBのDNS名やECサイトのURLが表示されます。
URLを独自ドメインで指定していた場合は、ELBのDNS名をCNAMEに登録しておきます。(Route53を利用している場合は、ALIASレコードがオススメです)

Step 4. Test Your Magento Deployment - Magento on AWS

03-access

下記ようなトップページが表示されることを確認します。

04-magento-hp

サンプルデータも登録済みなので、下記のように商品を参照することができます。これはヒートテックのようです。

07-sample

次に管理画面にログインしてみます。先程のCloudFormationの「Output」にあった「AdminURL」 のパスをURLに追加してアクセスします。

05-adminurl

下記のようなログイン画面が出るので、CloudFormationのパラメータで指定した「AdminUserName」「AdminPassword」 を入力してサインインします。

06-adminmagento

下記のようなダッシュボードが表示されるとOKです。

08-admindashboard

AWSリソースについても少し確認してみます。オートスケーリングのスケーリングポリシーは下記の様にCPU使用率がトリガーになっていました。

  • スケールアウト条件:CPU使用率が10分間で90%を超えた場合に新しいインスタンスを追加
  • スケールイン条件:CPU使用率が10分間で70%を下回るとインスタンスを削除

09-scalingpolicy

EFSも作成されています。

10-efs

以前との違い

バージョンアップ前後での主な変更点は以下になります。
以前のバージョンは2015年のものなので、その後のAWSサービスのアップデートを取り入れた形になっていることが分かります。

変更箇所 バージョンアップ前 バージョンアップ後
NAT NATインスタンス NAT Gateway
コンテンツ共有 S3(s3fs) EFS
Redis 無し(追加を推奨) オプション選択
Webサーバ Apache2.4 Nginx
PHP PHP5.5 PHP7
Magentoバージョン 1.9.x 2.1.x

最後に

今回はMagentoを使ったクイックスタートのご紹介でしたが、ECサイトを作成される際のご参考にしていただければと思います。

以上です。

AWS Cloud Roadshow 2017 福岡