今回はWordPressのプラグイン【Nephila clavata】を使ってS3にメディアファイルをアップロード出来るようにします。冗長化の基本は単一障害点を作らないことですが、
- EC2にはコンピューティング処理に専念させる
- S3に画像など静的ファイルを置く
- RDSはMultiAZにする
- ※CMSを採用する場合は、クラウドでスケールが容易なCMSを選択
上記を考慮に設計しておくと、後から容易にスケールしやすい環境がAWSでは簡単に作れます。また、S3は何重にも冗長化されており、耐障害性に強く設計されているので、障害部分をあまり気にしなくていいですね!ただS3の配信速度は遅いので、フロントにCDNであるCloudFrontを置いて配信するのが定番となっています。
AWS S3がよくわかる動画
Amazon S3 は重要なデータを保存するための耐久性のあるインフラストラクチャを提供し、オブジェクトの 99.999999999% の耐久性を実現するように設計されています。データは冗長化されて複数の施設に保存され、各施設では複数のデバイスに保存されます。
@see Amazon S3
Nephila clavataのインストール・設定
では、今回はWordPressからS3にアップロードが簡単に行えるプラグイン【Nephila clavata】のインストールと設定をご紹介します。
プラグイン【Nephila clavata】をインストールします。
【有効化】を行います。
【設定】をクリックします。
IAMユーザのアクセスキーID,シークレットアクセスキー、AWSリージョンとStorage Classを入力し選択し、【変更を保存】をクリックして下さい。
※アクセスキーがわからない場合は、【サービス】>> 【IAM】からIAMユーザを作成する事により取得出来ます。
次にS3バケット、S3 URLの入力を行いましょう。
S3バケット名、S3(私の環境ではCloudFront)のURLを入力します。
無事S3にアップロードが行われました。
余談として、ファイルサーバで定番のNFSは単一障害点になりやすくS3等があるAWS上では敬遠されがちですが、近々東京リージョンでもリリースされるだろうEFS(Elastic File System)はMultiAZの冗長化に対応で、EC2にマウントが出来るといったNFSの欠点を克服した形で利用出来るのが楽しみです。ネックとしては、EBSやS3に比べて料金が高めなこと、とても遅いところが考え所ですが、セキュリティが求められる時などEFSの特徴に合わせて設計したいですね。