Magento on AWS 2017バージョンでスケーラブルなECサイトを構築してみる
こんにちわ。大阪のガノタです。
今回は、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で最終的に作成される構成は下記のようになります。これは公式ドキュメントに記載されている構成図です。
それでは、各ステップについて見ていきたいと思います。
Step2:Magentoのダウンロード
Step1は割愛させて頂き、Step2から見てみます。
Step 2. Download the Magento Software - Magento on AWS
Step3でCloudFormationを利用しますが、Magentoのソースコードは事前にS3に保存しておく必要があります。 Magentoのソースコードは公式サイトからダウンロードします。
ダウンロードには、Magentoの公式サイトでアカウントを作成する必要があります。(アカウントの作成は無料です)
氏名やメールアドレスなどを記入します。
アカウントを作成できたら、Community Editionの最新バージョンをダウンロードします。
Open Source Ecommerce Software & Solutions | Magento
今回はサンプルデータも同梱されている「Full Release with Sample Data (ZIP with sample data)」 をダウンロードします。 ファイルは「tar.gz」のものを選択します。
ダウンロードできたらS3に保存します。CloudFormationはこのS3バケットからMagentoのソースコードを取得して、サーバに展開する仕組みになっています。
Step3:CloudFormationによる環境構築
新しいテンプレートではEFSが利用されているので、オレゴンリージョンで作成します。
「公式ドキュメントのStep3」 のページで、VPCの作成についてオプションが2つ用意されています。今回は新規にVPCを作成しようと思うので「Option 1」 をクリックします。
クリックすると、CloudFormationのページが開くので、必要に応じてパラメータを指定していきます。
今回は簡単に確認したかったのでSSLの指定は無しにしています。本番利用する際は「SSL Certificate ARN」 のパラメータを設定するようにして下さい。
各パラメータの内容は下記のドキュメント詳細が記載されています。
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
下記ようなトップページが表示されることを確認します。
サンプルデータも登録済みなので、下記のように商品を参照することができます。これはヒートテックのようです。
次に管理画面にログインしてみます。先程のCloudFormationの「Output」にあった「AdminURL」 のパスをURLに追加してアクセスします。
下記のようなログイン画面が出るので、CloudFormationのパラメータで指定した「AdminUserName」 と「AdminPassword」 を入力してサインインします。
下記のようなダッシュボードが表示されるとOKです。
AWSリソースについても少し確認してみます。オートスケーリングのスケーリングポリシーは下記の様にCPU使用率がトリガーになっていました。
- スケールアウト条件:CPU使用率が10分間で90%を超えた場合に新しいインスタンスを追加
- スケールイン条件:CPU使用率が10分間で70%を下回るとインスタンスを削除
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サイトを作成される際のご参考にしていただければと思います。
以上です。