AWS での Magento - クイックスタートリファレンス

AWS での Magento
クイックスタートリファ
レンスデプロイガイド
AWS での Magento クイックス
タートリファレンスデプロイガイド
AWS での Magento: クイックスタートリファレンスデプロイガイド
Copyright © 2017 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner
that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not
owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by
Amazon.
AWS での Magento クイックス
タートリファレンスデプロイガイド
Table of Contents
ホーム ............................................................................................................................................... 1
クイックスタートについて ........................................................................................................... 2
概要 .................................................................................................................................................. 3
AWS での Magento .................................................................................................................... 3
コスト ....................................................................................................................................... 3
AWS のサービス ........................................................................................................................ 4
アーキテクチャ .................................................................................................................................. 6
AWS コンポーネント .................................................................................................................. 6
Magento コンポーネント ............................................................................................................. 9
設計 ................................................................................................................................................ 12
Amazon RDS for MySQL ........................................................................................................... 12
Amazon EC2 ウェブサーバーインスタンス ................................................................................... 12
Amazon S3 .............................................................................................................................. 13
その他の考慮事項 ...................................................................................................................... 13
デプロイメント ................................................................................................................................. 14
ここで取り上げる内容 ............................................................................................................... 14
ステップ 1. アカウントを準備する .............................................................................................. 15
ステップ 2. Magento ソフトウェアをダウンロードする .................................................................. 17
ステップ 3(a): 新しい Amazon VPC 内に起動する ......................................................................... 18
ステップ 3(b): 既存の Amazon VPC 内に起動する ......................................................................... 22
ステップ 4. デプロイをテストする .............................................................................................. 23
セキュリティ .................................................................................................................................... 29
IAM ......................................................................................................................................... 29
OS セキュリティ ...................................................................................................................... 29
セキュリティグループ ............................................................................................................... 29
リソース .......................................................................................................................................... 31
フィードバック ................................................................................................................................. 33
ドキュメントの改訂 .......................................................................................................................... 34
.............................................................................................................................................. 34
iii
AWS での Magento クイックス
タートリファレンスデプロイガイド
AWS クラウドの Magento
クイックスタートリファレンスデプロイガイド
Karthik Krishnan 2015 # 9 #
このクイックスタートリファレンスデプロイガイドは、Magento Community Edition クラスターをアマ
ゾン ウェブ サービス (AWS) クラウドにデプロイするために必要なアーキテクチャ上の考慮事項と設
定手順を含み、Magento は、e コマースウェブサイトのオープンソースのコンテンツ管理システムで
す。Magento は、Open Software License (OSL 3.0) でライセンス付与されます。
このガイドは、Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Virtual Private Cloud (Amazon
VPC)、Amazon Relational Database Service (Amazon RDS)、および Amazon Simple Storage Service
(Amazon S3) などのサービスを使用して AWS で Magento をデプロイする際のベストプラクティス
について説明します。また、AWS アカウントへの直接的なデプロイや起動に利用できる自動 AWS
CloudFormation テンプレートへのリンクを示します。
このガイドは、AWS クラウドでの Magento ワークロードの実装や拡張を検討している IT インフラストラ
クチャアーキテクト、管理者、DvOps プロフェッショナルを対象としています。
以下のリンクは参考情報です。クイックスタートを起動する前に、アーキテクチャ、設定、ネットワーク
セキュリティなどの、このガイドで説明されている考慮事項を確認してください。
• クイックスタートを起動し、AWS アカウントの
新しい Amazon VPC に Magento をデプロイし
ます (既存の Amazon VPC に Magento をデプロ
イする方法については、「デプロイ (p. 14)」
セクションを参照してください。デプロイ時間:
15 ~ 30 分 (サンプルデータをインストールする
かどうかによって変わります)
• テンプレート表示により、デプロイを自動化す
る AWS CloudFormation テンプレートのセット
アップを確認します。テンプレートは、起動中
にカスタマイズしたり、他のプロジェクト用に
ダウンロードして拡張したりできます。
Note
クイックスタートリファレンスデプロイを実行する際は、AWS サービスの利用料金を負担する
必要があります。価格は変更されることがあります。詳細については、「コスト (p. 3)」セク
ションや使用する AWS サービスの料金表ページを参照してください。
1
AWS での Magento クイックス
タートリファレンスデプロイガイド
クイックスタートについて
クイックスタートについて
クイックスタートは、AWS クラウドでの主要なワークロード向けに自動化されているリファレンスデプ
ロイです。各クイックスタートでは、セキュリティと可用性に関する AWS ベストプラクティスに沿っ
て、AWS で特定のワークロードをデプロイするために必要な AWS のコンピューティング、ネットワー
ク、ストレージ、その他のサービスを起動、設定、実行します。
2
AWS での Magento クイックス
タートリファレンスデプロイガイド
AWS での Magento
概要
AWS での Magento
Magento は、e コマースウェブサイトのオープンソースのコンテンツ管理システムです。AWS により、柔
軟かつスケーラブルでコスト効率の優れた方法で AWS クラウドに Magento をデプロイするためのインフ
ラストラクチャをセットアップできます。このリファレンスデプロイにより、設定タスクとデプロイタス
クを自動化し、Magento Community Edition クラスターを素早く構築できます。
自動デプロイは、Magento バージョン 1.9.2 を実行するクラスターを、オプションのサンプルデータとと
もに構築します。
このガイドでは、AWS クラウドでの Magento Community Edition 1.9.2 のデプロイを説明しま
す。Magento 製品の使用情報は扱いません。Magento の使用に関する一般的なガイダンスとベストプラク
ティスについては、Magento ウェブサイトの「Magento Community Edition ユーザーガイド」を参照して
ください。
コスト
このデプロイは、選択した設定に Magento Community Edition 1.9.2 を自動的に起動します。このクイック
スタートリファレンスデプロイの実行中に使用した AWS サービスのコストは、お客様が負担します。ク
イックスタートを使用しても追加コストは発生しません。コストは、デプロイする設定のストレージやコ
ンピューティングによって異なります。
次の表に、このガイドの発行時点での一部設定オプションのコスト見積もりを示します。
ウェブサー
バーインス
タンス (イン
スタンス数)
Amazon
RDS MySQL
デプロイの
タイプ
Amazon
RDS スト
レージ (GiB)
Amazon
RDS インス
タンスタイ
プ
ストレージ
タイプ
プロビジョ
ンド IOPS
(PIOPS)
コスト/月*
($)
t2.micro (1)
Single-AZ
5
db.t2.micro
gp2
該当なし
0**
m3.2xlarge
(2)
Single-AZ
16
db.m3.2xlarge gp2
該当なし
1,321
3
AWS での Magento クイックス
タートリファレンスデプロイガイド
AWS のサービス
ウェブサー
バーインス
タンス (イン
スタンス数)
Amazon
RDS MySQL
デプロイの
タイプ
Amazon
RDS スト
レージ (GiB)
Amazon
RDS インス
タンスタイ
プ
m4.4xlarge
(2)
Single-AZ
16
c3.4xlarge
(2)
Single-AZ
c3.4xlarge
(2)
ストレージ
タイプ
プロビジョ
ンド IOPS
(PIOPS)
コスト/月*
($)
db.m4.4xlarge gp2
該当なし
2,165
500
db.m3.2xlarge io1
500
1,959
マルチ AZ
500
db.m3.2xlarge io1
500
2,838
r3.4xlarge
(4)
マルチ AZ
1,000
db.r3.4xlarge io1
1,000
5,925
r3.8xlarge
(4)
マルチ AZ
1,000
db.r3.8xlarge io1
1,000
15,118
*価格は変更されることがあります。詳細については、使用する各 AWS サービスの料金表ページや AWS
簡易見積りツールを参照してください。このクイックスタートには、複数のスタックを起動するネスト
された AWS CloudFormation テンプレートが含まれます。正確な料金情報を得るには、AWS 簡易見積り
ツールで各スタックのデータを個別に入力する必要があります。
**無料利用枠: 対象の詳細については、AWS 無料利用枠のウェブページを参照してください。
AWS のサービス
このクイックスタートで使用される AWS の主要コンポーネントには、次の AWS サービスが含まれます
(AWS を初めて利用する場合は、AWS ドキュメントの「はじめに」セクションを参照してください)。
• Amazon EC2 – Amazon Elastic Compute Cloud (Amazon EC2) サービスは、様々なオペレーティングシ
ステムで仮想マシンインスタンスを起動できるようにします。既存の Amazon マシンイメージ (AMI) か
ら選択するか、または独自の仮想マシンイメージをインポートできます。
• Amazon VPC – Amazon Virtual Private Cloud (Amazon VPC) サービスは、AWS クラウドの隔離された
プライベートなセクションをプロビジョニングし、定義した仮想ネットワークで AWS サービスや他の
リソースを起動できるようにします。独自の IP アドレス範囲の選択、サブネットの作成、ルートテーブ
ルとネットワークゲートウェイの設定など、仮想ネットワーク環境を完全にコントロールできます。
• AWS CloudFormation – AWS CloudFormation は、関連する AWS リソースのコレクションを容易に作成
および管理し、整った予測可能な方法でプロビジョニングおよび更新できるようにします。テンプレー
トを使用して、必要なすべての AWS リソース (Amazon EC2 インスタンスなど) を説明します。リソー
スを作成、設計して、それぞれの依存関係を考える必要はありません。AWS CloudFormation がすべて
を処理します。
• Amazon RDS – Amazon Relational Database Service (Amazon RDS) により、クラウド内で MySQL の
デプロイを簡単にセットアップ、運用、拡張することができます。Amazon RDS を使用すると、コスト
効率が良く、サイズ変更が可能なハードウェア容量で、拡張性ある MySQL を数分でデプロイすること
ができます。
• Auto Scaling – Auto Scaling により、高可用性を維持し、Amazon EC2 インスタンスフリートを自動的
に増減することで容量を管理できます。Auto Scaling を使用すると、需要が急激に増える時間帯にはイ
ンスタンス容量を増やし、ダウンタイム時にはインスタンス量を減らすことにより、最適な利用環境で
フリートを実行することができます。
• Elastic Load Balancing – Elastic Load Balancing は、アプリケーションへのトラフィックを複数の
Amazon EC2 インスタンスに自動的に分散します。
4
AWS での Magento クイックス
タートリファレンスデプロイガイド
AWS のサービス
• Amazon S3 – Amazon Simple Storage Service (Amazon S3) – セキュリティ、耐久性、拡張性の高いオ
ブジェクトのストレージを提供します。この Magento デプロイは、Amazon S3 を使用し、ウェブサー
バーインスタンスによって共通メディアアセットを共有および取得します。
• IAM – AWS Identity and Access Management (IAM) を使用すると、AWS のサービスおよびリソースに
対するお客様のユーザーのアクセスを安全にコントロールすることができます。IAM を使用することに
より、ユーザー、アクセスキーなどの認証情報、およびユーザーがアクセスできる AWS リソースを制
御するアクセス権限を集中管理できます。
5
AWS での Magento クイックス
タートリファレンスデプロイガイド
AWS コンポーネント
アーキテクチャ
AWS CloudFormation は、関連する AWS リソースのコレクションを容易に作成および管理し、整った予
測可能な方法でプロビジョニングおよび更新できるようにします。
Note
このクイックスタートは、ネステッド AWS CloudFormation テンプレートで自動化されます。主
なテンプレートは、ネットワーク関連リソースを最初に構築した後、ウェブサーバーインスタン
スと Amazon RDS MySQL のために 2 つの独立したテンプレートを起動します。メインテンプ
レートを削除すると、スタック全体が削除されます。
AWS 簡易見積りツール はネストされたスタックをサポートしていません。料金情報を正確に把
握するには、各スタックの費用を個別に見積もる必要があります。
AWS のコンポーネント
エンドツーエンドのデプロイのデフォルトのパラメータ (Amazon VPC を新規作成) でこのクイックスター
トを実行すると、AWS クラウドで次の AWS コンポーネントがデプロイおよび設定されます。
• 複数のアベイラビリティーゾーンで Amazon VPC が 3 つのサブネットで設定されます。各サブネッ
トは、プライベートおよびパブリックサブネットで設定されます。アベイラビリティーゾーンが
3 つ未満のリージョンでデプロイを起動すると、2 つのアベイラビリティーゾーンだけでサブネッ
トリソースが作成されます。パブリックサブネットは、PublicSubnet0、PublicSubnet1、および
PublicSubnet2 と呼ばれます。プライベートサブネットは、、PrivateSubnet0、PrivateSubnet1、お
よび PrivateSubnet2 と呼ばれます。
• アウトバウンドのインターネット接続とインバウンドの SSH (Secure Shell) アクセスのため、ネット
ワークアドレス変換 (NAT) インスタンスがパブリックサブネットにデプロイされ、Elastic IP アドレ
ス (EIP) で設定されます。NAT インスタンスは、プライベートネットワーク内で起動されるすべての
Amazon EC2 インスタンスのインターネットアクセスに使用されます。
• MySQL データベースエンジンは、Amazon RDS 経由で PrivateSubnet0 にデプロイされます。マルチ
AZ 配備を選択した場合、セカンダリデータベースが PrivateSubnet1 に同期的にデプロイされます。こ
れにより、高可用性を確保し、プライマリデータベースから自動的にフェイルオーバーすることができ
ます。
6
AWS での Magento クイックス
タートリファレンスデプロイガイド
AWS コンポーネント
• Amazon EC2 ウェブサーバーインスタンスはプライベートサブネットで起動されます。SSH 経由でこれ
らのインスタンスに接続するには、NAT インスタンスを使用する必要があります。これは、ウェブサー
バーインスタンスがパブリックネットワーク内にないためです。
• Elastic Load Balancing がデプロイされ、複数のウェブサーバーインスタンスにトラフィックが自動的に
分散されます。
• Auto Scaling が有効化され、需要の急増があった場合には容量が増え、トラフィックが少ない場合には
容量が減ります。デフォルトのインストールでは、インスタンス容量を上下にスケーリングするための
上限しきい値と下限しきい値が CPU ベースで設定されます。これらのしきい値は、起動時とデプロイ
の後に変更できます。
• デプロイプロセスには、AWS サービスへの詳細に調整されたアクセス許可を持つ AWS Identity and
Access Management (IAM) インスタンスロールが必要です。
• 各インスタンスや機能に適したセキュリティグループにより、必要なプロトコルやポートのみにアクセ
スが制限されます。たとえば、Amazon EC2 ウェブの HTTP サーバーポートへのアクセスは、Elastic
Load Balancing に制限されます。セキュリティグループは、ウェブサーバーインスタンスによって
Amazon RDS MySQL DB インスタンスへのアクセスも制限します。
図 1 は、デフォルトパラメータでクイックスタートを起動した場合に AWS クラウドに構築される
Amazon VPC インフラストラクチャを示します (スペースに制約があるため、アベイラビリティーゾーン
3 は表示されません)。
7
AWS での Magento クイックス
タートリファレンスデプロイガイド
AWS コンポーネント
8
AWS での Magento クイックス
タートリファレンスデプロイガイド
Magento コンポーネント
図 1: Amazon VPC Magento クイックスタートのアーキテクチャ
Magento コンポーネント
クイックスタートは、前提条件として必要な次のソフトウェアとともに Magento Community Edition バー
ジョン 1.9.2 をデプロイします。
• オペレーティングシステム: Amazon Linux x86-64
• ウェブサーバー: Apache HTTP Server 2.4
• データベース: MySQL 5.6 ~ Amazon RDS
• プログラミング言語: PHP 5.5 (必要な拡張子を含む)
このクイックスタートは次の追加ソフトウェアもデプロイします。
• phpmyadmin: ウェブサーバーにインストールされるデータベース管理ユーティリティ
• phpinfo.php file: PHP とその拡張子に関する情報を表示
• magento-check.php: Magento の要件を検証
• Magento サンプルデータ (オプション): カスタムテーマのテストを実現し、ウェブストアを表示
これらのユーティリティの詳細については、Magento のウェブサイトで「Installing and Verifying Magento
Community Edition (CE) and Enterprise Edition (EE)」を参照してください。
図 2 は、デフォルトのパラメータでクイックスタートを実行した場合に AWS クラウドに構築される
Magento アーキテクチャを示します。(スペースに制約があるため、アベイラビリティーゾーン 3 は表示
されません)。
9
AWS での Magento クイックス
タートリファレンスデプロイガイド
Magento コンポーネント
10
AWS での Magento クイックス
タートリファレンスデプロイガイド
Magento コンポーネント
図 2: AWS でのクイックスタート Magento アーキテクチャ
11
AWS での Magento クイックス
タートリファレンスデプロイガイド
Amazon RDS for MySQL
設計上の考慮事項
Magento は堅牢な e コマースプラットフォームで、ニーズに応じた様々なオプションとともにデプロイで
きます。このクイックスタートは、AWS クラウドの Magento によって e コマースソリューションを迅速
に構築するための優れた開始点を提供します。以下のセクションでは、大規模なデプロイの設計上の考慮
事項とパフォーマンスを最適化するためのオプションについて説明します。
Amazon RDS for MySQL
Amazon RDS for MySQL のデプロイは、パラメータのセットと選択した DB インスタンスに適した設定で
事前設定されます。Amazon RDS は、自動ソフトウェアパッチ、データベースバックアップ、ユーザーが
定義した保持期間のバックアップストレージ、ポイントインタイムリカバリをサポートします。
Amazon RDS は、3 つのタイプのストレージ (マグネティック、汎用 (SSD)、Provisioned IOPS (SSD)) を
サポートしています。汎用 (SSD) ストレージは、プロビジョニングされた GiB あたり 3 IOPS の一定の
ベースラインを持ち、3,000 IOPS までバースト可能です。高レベルのパフォーマンスを確保するには、
Provisioned IOPS (SSD) を使用して、DB インスタンスあたり 1,000 IOPS ~ 30,000 IOPS のプロビジョ
ニングを行うことを検討します (実際の最大 IOPS は少なくなる可能性があります)。データベースインス
タンスごとに最大 3 TiB のストレージ、30,000 IOPS をプロビジョニングできます。データへのアクセス
頻度が低い小規模なデータベースワークロードでは、マグネティックストレージを使用することを推奨し
ます。実行中のクラスターでは、標準ストレージから Provisioned IOPS ストレージに変換できます (サー
バーへの影響として可用性が不足します)。
実稼働のワークロードのために可用性と信頼性を強化するには、マルチ AZ 配置オプションを使用する必
要があります。このオプションにより、プライマリデータベースからのフェイルオーバーが自動化され、
別のアベイラビリティーゾーンで実行されているセカンダリデータベースが同期レプリケートされます。
このオプションではさらに、単一のデータベースのキャパシティを超えたスケールアウトが可能です (読
み取りの多いデータベースワークロードの場合)。
Amazon EC2 ウェブサーバーインスタンス
デプロイは Apache HTTP Server 2.4 を Amazon Linux x86-64 を実行している Amazon EC2 インスタンス
にインストールします。Elastic Load Balancing が、ウェブサイトの負荷をこれらのインスタンスに自動的
に分散するために使用されます。さらに、すべてのインスタンスが、Amazon EC2 フリートを動的に管理
する Auto Scaling グループで起動されます。デプロイは、CPU 利用率の上下しきい値を設定し、負荷に応
じて Amazon EC2 インスタンスの数を自動的に上下にスケールします。instances up or down depending
12
AWS での Magento クイックス
タートリファレンスデプロイガイド
Amazon S3
on load. デフォルトのポリシーは、CPU の負荷が 10 分間で 90% を超えると新しいインスタンスを追加
し、CPU の負荷が 10 分間で 70% を下回るとインスタンスを削除します。
Auto Scaling グループ内のインスタンスの最大数を指定することができ、Auto Scaling のグループはこの
サイズよりも大きくなることはありません。グループの作成時、またはそれ以降の任意の時点で、希望す
る容量を指定することもできます。Auto Scaling は、グループに必要な数のインスタンスがあることを確
認します。これらのオプションは、クイックスタートの起動時に設定可能です。
クイックスタートは、様々な Amazon EC2 インスタンスタイプをサポートします。本稼働用デプロイを開
始する前に、クラスターをベンチマークし、必要なレベルのパフォーマンスを達成できていることを確認
することが推奨されます。高可用性を確保するため、異なるアベイラビリティーゾーンで 2 つ以上のウェ
ブサーバーインスタンスを使用することが推奨されます。
Amazon S3
このクイックスタートは、デプロイ中にサンプルの Magento データをインストールするためのオプショ
ンを提供します (詳細については、Magento インストールガイドの「オプションサンプルデータをインス
トールする」セクションを参照してください)。このオプションを選択すると、サンプルに由来する共通
メディアアセットが Amazon S3 に保存されます。ウェブサーバーインスタンス間の統合アクセスを提供
するため、FUSE ファイルシステム (s3fs) がインストールされます。s3fs により、ローカルファイルシス
テムとして Amazon S3 バケットをマウントできます。これにより、ファイルがネイティブかつ透過的に
Amazon S3 に保存されます。
Note
このクイックスタートは、Amazon EC2 インスタンスのファイルストレージサービスである
Amazon Elastic File System (Amazon EFS) を使用しません。複数の Amazon EC2 インスタンス
が 1 つの Amazon EFS ファイルシステムに同時にアクセスすることができるため、複数のイン
スタンスで実行されている作業負荷およびアプリケーションに共通のデータソースを提供できま
す。このガイドの発行時点で、プレビューリリースとして Amazon EFS が使用できます。これ
は、将来的なリファレンスで、ウェブサーバーノードへの共通メディアアセットの読み取り/書き
込みの手段としてサポートされる予定です。詳細については、Amazon EFS に関するドキュメン
トを参照してください。
その他の考慮事項
Amazon ElastiCache は、AWS クラウドでメモリ内キャッシュをデプロイおよび操作するためのウェブ
サービスです。このクイックスタートは、ElastiCache を自動的にデプロイしませんが、サービスを使用
して Redis または Memcached をキャッシング層としてセットアップすることが推奨されます (いずれ
も Magento でサポートされています)。ElastiCache は、これらのサービスのデプロイに関連する運用の
オーバーヘッドを削減し、アプリケーションのロード時間を短縮する手段を提供します。詳細について
は、Amazon ElastiCache に関するドキュメントを参照してください。
セッション管理を処理するために、Amazon DynamoDB を使用することが推奨されます。Amazon
DynamoDB は、あらゆる規模のアプリケーションで、1 桁ミリ秒単位の安定したレイテンシーを実
現する、高速かつフレキシブルな NoSQL データベースサービスです。完全マネージド型のクラウド
データベースで、ドキュメントとキー値のストアモデルの両方をサポートしています。詳細について
は、Amazon DynamoDB に関するドキュメントを参照してください。
このデプロイは、プライベートサブネットですべての Amazon EC2 インスタンスを起動します。外部への
アクセスは、パブリックサブネットにある NAT インスタンス経由でルーティングされます。NAT インス
タンスの可用性を高める方法については、AWS ウェブサイトの記事「Amazon VPC NAT NAT インスタン
スの高可用性: 例」を参照してください。
13
AWS での Magento クイックス
タートリファレンスデプロイガイド
ここで取り上げる内容
デプロイメント
このクイックスタートで提供される AWS CloudFormation テンプレートは、AWS インフラストラクチャ
をブートストラップし、Magento クラスターの AWS クラウドへのデプロイをゼロから自動化します。こ
のセクションの手順に従って、AWS アカウントを設定し、テンプレートをカスタマイズし、ソフトウェア
をアカウントにデプロイしてください。
ここで取り上げる内容
AWS に Magento クラスターをデプロイする手順は、次のステップで構成されています。詳細な手順につ
いては、各ステップのリンクをクリックしてください。
• ステップ 1. AWS アカウントを準備する (p. 15)
• まだ AWS アカウントを持っていない場合は、サインアップしてアカウントを作成します。
• スタックを AWS にデプロイするリージョンを選択します。
• リージョンにキーペアを作成します。
• Amazon EC2 インスタンスと Amazon EBS ボリュームのアカウント制限を確認し、必要に応じて制
限の引き上げをリクエストします。
• ステップ 2. Magento ソフトウェアをダウンロードする (p. 17)
• 無料の Magento アカウントを作成します (まだ作成していない場合)。
• Magento Community Edition と (オプションで) Magento のサンプルデータをダウンロードします。
• Amazon S3 バケットを作成し、Magento ソフトウェアをこのバケットに追加します。
クイックスタートを新規または既存のいずれの Amazon VPC にデプロイするかに応じて、ステップ 3(a)
またはステップ 3(b) を選択します。
• ステップ 3(a). AWS アカウント (新しい Amazon VPC) 内にクイックスタートを起動する (p. 18)
クイックスタートを起動して Magento を新しい Amazon VPC にデプロイすると、このクイックスター
トに含まれる AWS CloudFormation テンプレートが以下の操作を自動化します。
• Amazon VPC をセットアップします。
• Magento のデプロイ中に必要な様々なネットワークリソースを作成します。これには、Amazon
VPC、NAT インスタンス、Amazon RDS MySQL DB インスタンス、セキュリティグループ、IAM
ロールの複数のアベイラビリティーゾーン内のプライベートサブネットやパブリックサブネットなど
が含まれます。
14
AWS での Magento クイックス
タートリファレンスデプロイガイド
ステップ 1. アカウントを準備する
• セキュリティ設定を完全に自動化して各インスタンスに最小の権限を指定し、ファイアウォールオプ
ションを設定してノードと Elastic Load Balancing の間のアクセスを開放します。
• Magento の前提条件として必要なソフトウェアをウェブサーバーインスタンスにインストールし
ます。オプションのサンプルデータをインストールすることを選択する場合、クイックスタート
は、s3fs を経由して Amazon S3 バケットをウェブサーバー間にドライブとしてマウントし、Amazon
S3 バケットに共通のメディアアセットをインストールします。
• ステップ 3(b). AWS アカウント (既存の Amazon VPC) 内にクイックスタートを起動する (p. 22)
このクイックスタートは、既存の Amazon VPC に Magento クラスターをデプロイするための独立した
テンプレートを提供します。複数のアベイラビリティーゾーンのパブリックサブネットとプライベート
サブネットで Amazon VPC を既に構築していて、Amazon VPC 内に Magento をデプロイする場合は、
このオプションを使用します。テンプレートは、ステップ 3(a) での Amazon VPC の作成を除いたすべ
てのステップを自動化します。
• ステップ 4. Magento のデプロイをテストする (p. 23)
• SSH を経由してウェブサーバーインスタンスに接続します。
• Magento のインストールと管理パネルを検証します。
• Amazon RDS MySQL のインストールを検証します。
• サンプルウェブストアのインストールが成功していることを検証します (オプションのサンプルデー
タをインストールしている場合)。
ステップ 1. AWS アカウントを準備する
1.
AWS アカウントを取得済みでない場合は、http://aws.amazon.com で画面上の指示に従って作成しま
す。 サインアップ手順の一環として、通話呼び出しを受け取り、電話のキーパッドを用いて PIN を入
力することが求められます。
2.
ナビゲーションバーのリージョンセレクターを使用し、AWS に Magento クラスターをデプロイする
Amazon EC2 リージョンを選択します。
Amazon EC2 のロケーションは、リージョンとアベイラビリティーゾーンで構成されています。
リージョンは、独立した地理的領域に分散して存在します。このクイックスタートは、Magento ク
ラスターに M4 インスタンスタイプを使用します。M4 インスタンスタイプは現在、AWS GovCloud
(US)、中国 (北京)、および 南米 (サンパウロ) を除くすべての AWS リージョンで利用可能です。
図 3: Amazon EC2 リージョンを選択する
15
AWS での Magento クイックス
タートリファレンスデプロイガイド
ステップ 1. アカウントを準備する
ヒント
データセンターや社内ネットワークに最も近いリージョンを選択して、AWS で実行されてい
るシステム間、および企業ネットワーク上のシステムとユーザー間のネットワークレイテン
シーを削減するためにリージョンを選択することを検討します。
3.
任意のリージョンでキーペアを作成します。これを行うには、Amazon EC2 コンソールのナビゲー
ションペインで [Key Pairs]、[Create Key Pair] を選択し、名前を入力して [Create] を選択します。
図 4: キーペアを作成する
Amazon EC2 はパブリックキー暗号を使用して、ログイン情報の暗号化と復号化を行います。インス
タンスにログイン可能にするには、キーペアを作成する必要があります。Linux では、キーペアを使
用して SSH ログインを認証します。
4.
必要に応じて、デプロイする Amazon EC2 インスタンスタイプのためにサービス上限緩和申請を実行
します。これを行うには、AWS サポートセンターで、[Create Case]、[Service Limit Increase]、[EC2
instances] の順に選択し、上限緩和フォームのフィールドに入力します。
インスタンス数のデフォルト制限は選択するインスタンスタイプによって異なり、現在は 2 ~ 20 で
す (Amazon EC2 FAQ ページを参照)。他にもこのインスタンスタイプを使用するデプロイが既に存在
している場合、またはこのリファレンスデプロイでデフォルト制限を超過することが見込まれる場合
は、上限緩和を申請する必要があります。新しいサービスの上限が有効になるには、数日かかる場合
があります。詳細については、『AWS ドキュメント』の「Amazon EC2 サービスの制限」を参照し
てください。
16
AWS での Magento クイックス
タートリファレンスデプロイガイド
ステップ 2. Magento ソフトウェアをダウンロードする
図 5: サービスの上限緩和を申請する
ステップ 2. Magento ソフトウェアをダウンロード
する
クイックスタートを起動する前に、Amazon S3 バケットに Magento Community Edition ソフトウェア (お
よびオプションで Magento のサンプルデータ) をダウンロードする必要します。クイックスタートを起動
する場合、ダウンロードしたファイルへのフルパスをメインの AWS CloudFormation テンプレートへの入
力として指定します。これにより、クイックスタートが Magento を自動的にインストールします。
1.
2.
Magento アカウント (無料) をまだ取得していない場合は、アカウントを作成します。
Magento Community Edition ダウンロードページから Magento Community Edition バージョン 1.9.2
フルリリースをダウンロードします。ダウンロード形式として .tar.gz を選択します。公開時の最新フ
ルリリースはmagento-1.9.2.1.tar.gz です。
17
AWS での Magento クイックス
タートリファレンスデプロイガイド
ステップ 3(a): 新しい Amazon VPC 内に起動する
3.
(オプション) サンプルストアをセットアップする場合、同じページから Magento サンプルデー
タをダウンロードします。ダウンロード形式として .tar.gz を選択します (例: magento-sampledata-1.9.1.0.tar-2015-02-11-08-18-26.gz)。
4.
『Amazon S3 入門ガイド』の手順に従って Amazon S3 バケットを作成します。
5.
『Amazon S3 入門ガイド』の手順に従って、ダウンロードファイルを Amazon S3 バケットに追加し
ます。
6.
ダウンロードファイルへのフルパスをメモします。ステップ 3 で、AWS CloudFormation テンプレー
トのパラメータを設定する際は、これらのパスを指定します。
たとえば、Amazon S3 バケットの名前が mymagentobucket の場合、MagentoReleaseMedia パラメー
タを次のように設定します。
s3://mymagentobucket/magento-1.9.2.1.tar-2015-08-03-06-35-45.gz
サンプルデータを mymagentobucket にダウンロードしている場合は、MagentoSampleData パラメータ
を次のように設定します。
s3://mymagentobucket/magento-sample-data-1.9.1.0.tar-2015-02-11-08-18-26.gz
ステップ 3(a). AWS アカウント (新しい Amazon
VPC) 内にクイックスタートを起動する
このステップでは、Amazon VPC をセットアップする AWS CloudFormation テンプレートを起動し、ネッ
トワークリソースを作成し、セキュリティとファイアウォールのオプションを設定し、Magento ソフト
ウェア、as discussed earlier (p. 14) をインストールします。
1.
AWS CloudFormationテンプレートを AWS アカウントに起動します。
テンプレートは、デフォルトで 米国西部 (オレ
ゴン) リージョンで起動されます。ナビゲーショ
ンバーのリージョンセレクターを使用すること
で、リージョンを変更できます。デプロイ時間:
ベースライン Magento デプロイに約 15 分、サ
ンプルデータをインストールする場合は最大 30
分
Note
このクイックスタートリファレンスデプロイの実行中に使用した AWS サービスのコスト
は、お客様が負担します。このクイックスタートを使用しても追加コストは発生しません。
様々なインスタンスタイプとストレージ設定の費用の見積については、「費用 (p. 3)」のセ
クションを参照してください。価格は変更されることがあります。詳細については、このク
イックスタートで使用する各 AWS サービスの料金表ページを参照してください。
テンプレートをダウンロードし、実装の開始点として使用することもできます。
2.
[Select Template] ページで、スタック名とテンプレートソースをデフォルト設定のままにし、[Next]
を選択します。
18
AWS での Magento クイックス
タートリファレンスデプロイガイド
ステップ 3(a): 新しい Amazon VPC 内に起動する
3.
[Specify Parameters] ページで、テンプレートのパラメータを確認します。次の表にこれらのパラメー
タの説明を示します。入力が必要なパラメータの値を指定し、必要に応じて他の値をカスタマイズし
ます。終了したら、[Next] を選択します。
ネットワーク設定*
パラメータ
Default
説明
VPCCIDR
10.0.0.0/16
作成している Amazon VPC の
CIDR ブロック。
PrivateSubnetCIDR0
10.0.128.0/19
アベイラビリティーゾーン 0
のプライベートサブネットの
CIDR ブロック。
PrivateSubnetCIDR1
10.0.64.0/19
アベイラビリティーゾーン 1
のプライベートサブネットの
CIDR ブロック。
PrivateSubnetCIDR2
10.0.0.0/19
アベイラビリティーゾーン 2
のプライベートサブネットの
CIDR ブロック。
PublicSubnetCIDR0
10.0.160.0/20
アベイラビリティーゾーン 0 の
パブリックサブネットの CIDR
ブロック。
PublicSubnetCIDR1
10.0.96.0/20
アベイラビリティーゾーン 1 の
パブリックサブネットの CIDR
ブロック。
PublicSubnetCIDR2
10.0.32.0/20
アベイラビリティーゾーン 2 の
パブリックサブネットの CIDR
ブロック。
RemoteAccessCIDR
0.0.0.0/0
SSH を使用して NAT インス
タンスに接続するための IP
CIDR。
KeyName
####
NATInstanceType
t2.medium
既存のパブリック/プライベー
トキーペアを指定することで、
起動後にインスタンスに安全に
接続できます。AWS アカウン
トを準備した際に、ステップ
1 (p. 15) で作成したキーペ
アです。
NAT インスタンスの Amazon
EC2 インスタンスタイプ。
*ネットワーク管理者として経験が豊富でない限りは、CIDR ブロックのパラメータはデフォルト値を
使用することが推奨されます。
Amazon RDS MySQL パラメータ
パラメータ
Default
説明
DBAllocatedStorage
16
MySQL のサイズ (GiB単位)。
19
AWS での Magento クイックス
タートリファレンスデプロイガイド
ステップ 3(a): 新しい Amazon VPC 内に起動する
パラメータ
Default
説明
DBAutoMinorVersionUpgrade
true
DB インスタンスを、Amazon
RDS でサポートされている新
しい MySQL マイナーバージョ
ンに自動的にアップグレードす
るかどうかを決定します。
DBBackupRetentionPeriod
7
自動 DB スナップショットが保
持される日数。
DBInstanceClass
db.m3.2xlarge
Amazon RDS の DB インスタン
スクラス。
DBIops
1,000
DB ストレージのプロ
ビジョニングされた
IOPS。DBStorageType パラ
メータが io1 に設定された場合
(Provisioned IOPS が選択され
た場合) にのみ使用されます。
DBMasterUsername
管理者
データベース管理者アカウント
のユーザー名。
DBMasterUserPassword
Admin-123456
データベース管理者アカウント
のパスワード。
DBMultiAZ
false
Multi-AZ RDS デプロイが必要
な場合は [true] に設定します。
DBName
QuickstartMySQLDB
MySQL RDS インスタンスの初
期データベースの名前。
DBPubliclyAccessible
false
データベースインスタンスがイ
ンターネット接続 (パブリック
サブネット) の場合は [true] に
設定します。
DBStorageType
gp2
データベースインスタンスに関
連付けられたストレージタイ
プ。
パラメータ
Default
説明
WebServerInstanceType
m3.2xlarge
ウェブサーバーインスタンスの
Amazon EC2 インスタンスタイ
プ。
WebServerMinSize
1
ウェブサーバーの Auto Scaling
グループの Amazon EC2 イン
スタンスの最小数。
WebServerMaxSize
1
ウェブサーバーの Auto Scaling
グループの Amazon EC2 イン
スタンスの最大数。
ウェブサーバーの設定
20
AWS での Magento クイックス
タートリファレンスデプロイガイド
ステップ 3(a): 新しい Amazon VPC 内に起動する
パラメータ
Default
説明
WebServerDesiredCapacity
1
デプロイが成功とみなされる前
の、Auto Scaling グループ内の
Amazon EC2 インスタンスの必
要数。
ExistingIamInstanceProfile
-
ウェブサーバーインスタンスの
オプションのインスタンスプロ
ファイル名。このパラメータを
空欄にすると、プロファイル名
が自動作成されます。
パラメータ
Default
説明
BucketNamePrefix
magentoquickstart
Magento のインストール後
に Magento ストアメディア
アセットを保持する Amazon
S3 バケットのプレフィックス
(バケット名のサフィックスは
vpcid)。
MagentoReleaseMedia
####
MagentoSampleData
-
(オプション) Magento サ
ンプルデータファイル
へのフルパス (ステップ
2 (p. 17) でダウンロー
ドした場合) (s3://mybucket/
magento-sampledata-1.9.1.0.tar-2015-02-11-08-18-26.gz)
パラメータ
Default
説明
通知 E メール
-
(オプション) Amazon EC2 サー
バー群上のスケーリングアク
ションの有無を通知するE メー
ルアドレス。
Magento オプション
ステップ 2 (p. 17) でダ
ウンロードした Magento
tar.gz ファイルへのフ
ルパス (s3://mybucket/
magento-1.9.2.1.tar-2015-08-03-06-35-45.gz)。
その他のオプション
Note
テンプレートをダウンロードして編集し、固有のデプロイシナリオに基づいた独自のパラ
メータを作成することもできます。
4.
[Options] ページでは、スタック内のリソースのタグ (キー値のペア) を指定し、追加オプションを設
定できます。終了したら、[Next] を選択します。
5.
[Review] ページで、設定を確認して確定します。
21
AWS での Magento クイックス
タートリファレンスデプロイガイド
ステップ 3(b): 既存の Amazon VPC 内に起動する
6.
[Create] を選択してスタックをデプロイします。
図 6 のようにステータスフィールドに [CREATE_COMPLETE] が表示されたら、Magento クラスター
の準備は完了しています。
Note
このクイックスタートは、ネステッド AWS CloudFormation テンプレートで自動化されま
す。主なテンプレートは、ネットワーク関連リソースを最初に構築した後、ウェブサーバー
インスタンスと Amazon RDS MySQL のために 2 つの独立したテンプレートを起動します。
メインテンプレートを削除すると、スタック全体が削除されます。
図 6: Magento クラスターを正常に作成
ステップ 3(b). AWS アカウント (既存の Amazon
VPC) 内にクイックスタートを起動する
既存の Amazon VPC がある場合も、クイックスタートを使用して Magento クラスターを構築できます。
デプロイの手順は、ステップ 3(a) (p. 18) と同じですが、ネットワークパラメータの設定のみが異なり
ます。これは、既に Amazon VPC 内に 3 つのプライベートサブネットと 3 つのパブリックサブネット (名
前については次の表を参照) を作成していることを前提としています。CIDR 範囲の代わりに、次の表に
従って対応するサブネットの ID を指定します。他の全てのオプションは同じままです。
22
AWS での Magento クイックス
タートリファレンスデプロイガイド
ステップ 4. デプロイをテストする
テンプレートは、デフォルトで 米国西部 (オレゴ
ン) リージョンで起動されます。ナビゲーション
バーのリージョンセレクターを使用することで、
リージョンを変更できます。デプロイ時間: ベー
スライン Magento デプロイに約 15 分、サンプル
データをインストールする場合は最大 30 分
パラメータ
Default
説明
PublicSubnet0
subnet-ID (####)
アベイラビリティーゾーン 0 の
PublicSubnet0 の ID
PublicSubnet1
subnet-ID (####)
アベイラビリティーゾーン 1 の
PublicSubnet1 の ID
PublicSubnet2
subnet-ID (####)
アベイラビリティーゾーン 2 の
PublicSubnet2 の ID
PrivateSubnet0
subnet-ID (####)
アベイラビリティーゾーン 0 の
PrivateSubnet0 の ID
PrivateSubnet1
subnet-ID (####)
アベイラビリティーゾーン 1 の
PrivateSubnet1 の ID
PrivateSubnet2
subnet-ID (####)
アベイラビリティーゾーン 2 の
PrivateSubnet2 の ID
ステップ 4. Magento のデプロイをテストする
AWS CloudFormation テンプレートが正常にスタックを作成している場合、すべてのウェブサーバーノー
ドは、AWS アカウントにインストールされたソフトウェアを実行します。Magento スタックに接続する
には、図 7 に示すように Elastic Load Balancing エンドポイントの URL を使用します。
23
AWS での Magento クイックス
タートリファレンスデプロイガイド
ステップ 4. デプロイをテストする
図 7: Elastic Load Balancing Magento スタックのエンドポイント URL
この URL は図 8 のように、インストールを確認するリンクとストアへのリンクが記載されたページを表
示します。
図 8: Elastic Load Balancing Magento スタックのエンドポイント
Magento のインストールをテストするには、このページの確認リンクを選択します。このリンク
は、Magento の前提条件として必要なすべてのソフトウェアのインストールを確認します。
24
AWS での Magento クイックス
タートリファレンスデプロイガイド
ステップ 4. デプロイをテストする
図 9: Magento の確認ページ
Magento ストアにアクセスするには、Magento スタックの Elastic Load Balancing エンドポイント上のス
トアリンクを選択します。図 10 に、オプションのサンプルデータをインストールした場合のウェブスト
アを示します。
25
AWS での Magento クイックス
タートリファレンスデプロイガイド
ステップ 4. デプロイをテストする
図 10: オプションのサンプルデータがインストールされている場合の Magento ストア
MySQL データベースと同じユーザー名とパスワードで、Magento 管理パネルにアクセスできます。以降
のログインでアカウントのセキュリティを確保するため、必ずユーザー名とパスワードを変更してくださ
い。
ウェブサーバーインスタンスにアクセスして MySQL を検証するには、SSH を使用して NAT インス
タンスに接続します。これを行うには、Amazon EC2 コンソールで NAT インスタンスを選択した後、
[Connect] を選択します。
26
AWS での Magento クイックス
タートリファレンスデプロイガイド
ステップ 4. デプロイをテストする
図 11: NAT インスタンスへの接続
SSH を使用して NAT インスタンスに接続すると、同様の方法で任意のウェブサーバーノードに接続でき
ます (ノードを選択して [Connect] を選択し、SSH コマンドを見つけます)。
重要
ウェブサーバーノードに接続するには、プライベートキー (.pem) ファイルが必要です。プライ
ベートキー (.pem) ファイルを NAT インスタンスにコピーします。例:
scp –i mykey.pem mykey.pem ec2-user@NAT-public-ip:/home/ec2-user/mykey.pem
図 12 に示すように、ウェブサーバーインスタンスから MySQL 接続をテストします。Amazon S3 バケッ
トが s3fs 経由でウェブサーバーノード間にドライブとしてマウントされ、/mnt/magento から共通メディ
アアセットにアクセスできるようになります。
27
AWS での Magento クイックス
タートリファレンスデプロイガイド
ステップ 4. デプロイをテストする
図 12: TMySQL 接続をテストする
28
AWS での Magento クイックス
タートリファレンスデプロイガイド
IAM
セキュリティ
AWS クラウドが提供するスケーラブルで信頼性の高いプラットフォームは、顧客がアプリケーションや
データを素早く安全にデプロイすることを可能にします。
AWS インフラストラクチャでシステムを構築すると、お客様と AWS の間でセキュリティ上の責任が分担
されます。この共有モデルにより、ホストオペレーティングシステムや仮想化レイヤーから、サービスが
実行されている施設の物理的なセキュリティまで、コンポーネントが AWS によって運用、管理、制御さ
れるため、運用上の負担を軽減させることができます。一方で、ゲストオペレーティングシステム (アッ
プデートやセキュリティパッチを含む)、その他の関連するアプリケーション、ならびに AWS より提供さ
れるセキュリティグループのファイアウォールの設定に関する責任と管理はお客様に任されます。AWS の
セキュリティの詳細については、AWS セキュリティセンターを参照してください。
AWS Identity and Access Management (IAM)
このソリューションは、最小限の特権アクセスを持つ IAM ロールを利用しています。プロビジョニングさ
れたインスタンスで SSH キー、シークレットキー、またはアクセスキーを保存することは必要なく、また
推奨されません。
OS セキュリティ
クラスターノードのルートユーザーには、デプロイプロセス中に指定された SSH キーでのみアクセスでき
ます。AWS はこれらの SSH キーを保存しないため、SSH キーを紛失するとこれらのインスタンスにアク
セスできなくなる場合があります。
オペレーティングシステムパッチは、お客様の責任において定期的に実行する必要があります。
個のセキュリティグループ
セキュリティグループは、1 つ以上のインスタンスのトラフィックを制御するファイアウォールとして機
能します。インスタンスを起動するときに、1 つ以上のセキュリティグループとインスタンスを関連付
けます。各セキュリティグループに対してルールを追加し、関連付けられたインスタンスに対するトラ
フィックを許可します。セキュリティグループのルールはいつでも変更できます。新しいルールは、セ
キュリティグループに関連付けられているインスタンスすべてに自動的に適用されます。
29
AWS での Magento クイックス
タートリファレンスデプロイガイド
セキュリティグループ
このソリューションの一部として作成されて各インスタンスに割り当てられたセキュリティグループ
は、Magento に必要な様々な機能へのアクセスが確保されるように、可能な限り制限されます。クラス
ターが起動され実行された後に、必要に応じてさらにアクセスを制限する場合は、セキュリティグループ
を確認することが推奨されます。
30
AWS での Magento クイックス
タートリファレンスデプロイガイド
その他のリソース
AWS サービス
• はじめに
• AWS CloudFormation
• Amazon EC2:
• Linux インスタンスのユーザーガイド
• リージョンとアベイラビリティーゾーン
• キーペア
• インスタンスストア
• よくある質問
• AWS Identity and Access Management:
• ユーザーガイド
• IAM の利点
• Auto Scaling
• Elastic Load Balancing
• Amazon S3:
• 入門ガイド
• 開発者ガイド
• Amazon RDS:
• ユーザーガイド
• Amazon RDS での MySQL
• Amazon VPC:
• ドキュメント
• NAT インスタンスの高可用性
• AWS セキュリティセンター
Magento
• Magento Community Edition ソフトウェア
• Magento Community Edition のインストールと検証
• Magento Community Edition ユーザーガイド
31
AWS での Magento クイックス
タートリファレンスデプロイガイド
s3fs
• GitHubs の 3fs-fuse
追加のクイックスタートリファレンスデプロイ
• AWS クイックスタートのホームページ
32
AWS での Magento クイックス
タートリファレンスデプロイガイド
フィードバックの送信
質問やコメントを歓迎しています。AWS クイックスタートディスカッションフォーラムにフィードバック
を投稿してください。
GitHub リポジトリでは、このクイックスタートのテンプレートとスクリプトをダウンロードし、カスタマ
イズ内容を他のユーザーと共有できます。
33
AWS での Magento クイックス
タートリファレンスデプロイガイド
ドキュメントの改訂
日付
変更
場所
2015 年 9 月 日
初版発行
–
通知
このデプロイガイドは、情報提供のみを目的としています。本書は、発行時点における AWS の現行製品
と慣行を表したものであり、それらは予告なく変更されることがあります。お客様は本文書の情報およ
び AWS 製品の使用について独自に評価する責任を負うものとします。これらの情報は、明示または黙示
を問わずいかなる保証も伴うことなく、「現状のまま」提供されるものです。本文書内のいかなるもの
も、AWS、その関係者、サプライヤ、またはライセンサーからの保証、表明、契約的なコミットメント、
条件や確約を意味するものではありません。お客様に対する AWS の責任は AWS 契約によって規定され
ています。また、本文書は、AWS とお客様との間の契約に属するものではなく、また、当該契約が本文書
によって修正されることもありません。
34