Comments
Description
Transcript
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