WordPressブログにAmazonS3を実装する

アマゾンs3ワードプレス

注意: これを書いて以来、私たちはに移行しました フライホイール また、 コンテンツ配信ネットワーク StackPathCDNを搭載、Amazonよりもはるかに高速なCDN。378

プレミアムなエンタープライズホスティングプラットフォームを使用していない限り、次のようなCMSでエンタープライズパフォーマンスを実現することは困難です。 WordPress。 負荷分散、バックアップ、冗長性、レプリケーション、およびコンテンツ配信は安くはありません。

多くのIT担当者は、WordPressのようなプラットフォームを見て、それらを使用しているのは 無料です。。 ただし、無料は相対的なものです。 WordPressを一般的なホスティングインフラストラクチャに配置すると、数百人の同時ユーザーがサイトを完全に停止させることができます。 ブログのパフォーマンスを支援するために、今週、WordPressのインストールを変更して、Amazon S3(Amazon Simple Storage Service)のすべてのグラフィックをプッシュしました。 これにより、サーバーはPHP / MySQLを介してHTMLをプッシュするだけになります。

Amazon S3は、Web上のどこからでも、いつでも、任意の量のデータを保存および取得するために使用できるシンプルなWebサービスインターフェイスを提供します。 これにより、開発者は、Amazonが独自のWebサイトのグローバルネットワークを実行するために使用するのと同じ、拡張性が高く、信頼性が高く、高速で安価なデータストレージインフラストラクチャにアクセスできます。 このサービスは、規模のメリットを最大化し、それらのメリットを開発者に伝えることを目的としています。

サイトをAmazonS3に変換するには少し手間がかかりましたが、基本は次のとおりです。

  1. サインアップする Amazon Webサービス.
  2. S3用のFirefoxアドオンをロードします。 これにより、S3でコンテンツを管理するための優れたインターフェイスが提供されます。
  3. 加える バケット、この場合は追加しました www.martech.zone.
  4. ドメインレジストラにCNAMEを追加して、仮想ホスティング用にサイトからAmazonS3にサブドメインを指定します。
  5. AmazonS3用のWordPressプラグインをダウンロードしてインストールします。
  6. AWSアクセスキーIDとシークレットキーを設定し、[更新]をクリックします。
  7. 上で作成したサブドメイン/バケットを選択します このバケットを使用する 設定。

wp-amazon-s3-settings.png

次のステップは楽しい部分でした! S3から将来のコンテンツを提供するだけでなく、広告、テーマ、過去のメディアファイルを含むすべてのコンテンツを提供したかったのです。

  1. のフォルダを作成しました 広告, テーマアップロード S3の私のバケツに。
  2. 現在のすべてのコンテンツ(画像ファイルとメディアファイル)を該当するフォルダーにバックアップしました。
  3. テーマのCSSファイルを変更して、からすべての画像を取得しました www.martech.zone/themes.
  4. 私がした MySQLの検索と置換 S3サブドメインから表示されるメディアコンテンツへのすべての参照を更新しました。
  5. S3サブドメインのadsフォルダーから表示される広告のすべての画像参照を更新しました。

これからは、WordPressのデフォルトの画像アップロードダイアログを使用するのではなく、単にメディアをS3にアップロードする必要があります。 プラグインは、WordPress管理者のアップロード/挿入アイコンと同じ場所にS3アイコンを配置するという素晴らしい仕事をします。

すべてのデータを移動してS3で数日間実行すると、S0.12の料金が3ドルになるので、関連する料金については心配していません。おそらく、月に数ドルかかるでしょう。 プラス面として、たくさんの訪問者がいれば、現在のプラットフォームよりもはるかに多くのことを処理できるはずです。 私のサイトは約でホームページを読み込んでいます 以前の40%の時間、だから私は移動に非常に満足しています!

この動きの最も良い点は、実際には開発を必要としなかったことです。

28のコメント

  1. 1

    こんにちは、

    私はAmazonS3アカウントを持っていますが、物事を理解しようとした後、難しすぎるのでそのままにしました。 S3用のFirefoxアドインはそれをはるかに簡単にしますか?

    • 2

      こんにちはラミン、

      Firefoxアドオンは本当にパズルの重要な部分でした。 プラグインが機能する前に、絶対にバケットを配置する必要があります。これにより、プラグインが簡単になります。

      ダグ

  2. 3

    追加する必要があります。CNAMEを新しいものにポイントする必要があります your_unique_cloudfront_distribution_nameの代わりに.cloudfront.net your_unique_subdomain.s3.amazonaws.com。 しかしその後は、通常のS3バケットと同じように扱います。

    高速/低レイテンシのCloudFrontオプションを使用すると、コストが高くなります。 標準のS3バージョンに戻すことにした場合は、代わりにs3.amazonaws.comを指すようにCNAMEを切り替えてください。

    約XNUMX年前に書いたhttp://www.carltonbale.com/tag/amazon-s3/"a 興味のある人のためのAmaonS3に関するいくつかのブログ投稿。

  3. 4

    さらに速度を上げたい場合は、AmazonS3バケットをAmazonCloudFrontバケットに変えてください。これにより、真のグローバルマルチサーバーで低レイテンシのコンテンツ配信ネットワークが作成されます。 ここにすべての詳細へのリンクがあります: http://aws.amazon.com/cloudfront/faqs/

    また、wp-supercacheプラグインは、CPUの負荷とデータベースの呼び出しを大幅に削減するため、トラフィックの多いサイトで速度を大幅に向上させることができます。

    • 5

      とてもかっこいい、カールトン! つまり、これは非常に分散型ネットワークです。 アカマイ。 私は彼らがそれを利用できることに気づいていませんでした! いくつかの費用を見た後、私は利用するかもしれません。

      以前にwpを有効にしてキャッシュを行ったことがありますが、動的コンテンツがいくつかあるため、実際にリアルタイムでロードしたいコンテンツがキャッシュされることがあるため、非常に苦労しました。

      • 6

        ダグラス、

        彼らの説明から、Amazonはまったく異なることをしているように聞こえます、と彼らは言います:

        「AmazonCloudFrontは、世界中の主要市場で14のエッジロケーションを使用しています。 XNUMXつは米国にあります(アシュバーン、バージニア州、ダラス/フォートワース、テキサス州、ロサンゼルス、カリフォルニア州、マイアミ、フロリダ州、ニューアーク、ニュージャージー州、パロアルト、カリフォルニア州、シアトル、ワシントン州、セントルイス、ミズーリ州)。 XNUMXつはヨーロッパにあります(アムステルダム、ダブリン、フランクフルト、ロンドン)。 XNUMXつはアジア(香港、東京)にあります。」

        彼らは基本的にインターネットエクスチェンジを利用してエンドユーザーとの近さを活用していますが、アカマイのようなCDNは通常、ISPのネットワーク内でエンドユーザーにはるかに近いサーバーを持っています。

        アマゾンのやり方は、はるかに安くて効果的なアカマイです。

        ロジェリオ– http://www.itjuju.com/

  4. 7

    「WordPressのようなCMSでエンタープライズパフォーマンスを得る」のは難しいとは言えません。

    それはすべて、インフラストラクチャのセットアップ方法またはCMSのホスト方法にあります。
    Carltonがwp-supercacheプラグインの使用で指摘したように、CMS自体のコーディング方法もパフォーマンスに大きな役割を果たす可能性があります。

    wp-supercacheプラグインの機能が最初からワードプレスに組み込まれていればもっと良かったでしょうが、それにはフロントエンドを書き直す必要があります。 何ですか lightpress.org でした。

    静的コンテンツをS3のようなものにオフロードすることは、メインサーバーから処理と配信をオフロードするための良い方法です。 これは、Amazonのインフラストラクチャを利用して手間のかかる作業を行う簡単で便利な方法ですが、クレチン病のしきい値に達すると、Amazonは高価になり始め、社内でCDNを使用する方が安くなります。

    ロジェリオ– http://www.itjuju.com/

    PS
    私は少しの間その状況について考えていました。たった100人が集まって、毎月、彼らが通常支払うであろうまともなサーバーの価格を寄付すれば、ほとんど何でも処理できるホスティングインフラストラクチャを構築/まとめることができます。

  5. 8

    S0.12サービスの最初の数日間は3ドル。 数か月後にトピックを再検討し、トラフィックとコストの統計を表示しますか? コストがユニークビジターにどのように分類され、広告コストやその他の入力に対してどのように分類されるかを見るのは興味深いでしょう。

  6. 13

    Windowsの場合は、S3ブラウザを使用できます– http://s3browser.com 画像やスクリプトなどのファイルをAmazonS3にアップロードします。 ツールが必要です。

    そして、有用な投稿に感謝します!

  7. 14

    Amazon S3は、非常に価値のあるサービスです。 私はそれをCMSに統合する過程にあります。 Amazonサービスの観点ではなく、開発の観点から私が遭遇した唯一の問題は、ユーザーがPOSTを介してファイルをS3に直接透過的にアップロードすることを望み、ローカル宛てのテキストを組み込んだマルチパートフォームがある場合です。データベース、あなたは立ち往生しています。 ファイルをXNUMXつのフォームに分割するか、ajaxを使用して最初にファイルをアップロードしてから、正常にデータをローカルに送信する必要があります。

    誰かがより良い解決策を持っているなら、私に知らせてください:o)

    それにもかかわらず、大規模な高トラフィックファイルをホストするためのコスト削減は、そのようなシステムの開発を保証します。

    グラント

    抑制リスト管理システム

  8. 15

    こんにちは、

    素晴らしい記事。 説明どおりに手順を実行しましたが、画像をアップロードする管理パネルにS3ボタンが表示されません。 私の画像は、通常アップロードされたときにAmazonに保存されることに気づきました。これは、既存のすべての画像をコピーしてサーバー上の画像を削除できることを意味しますか?

    また、画像の出所を変更する必要がありますか、それともプラグインがこれを行いますか?

  9. 16

    こんにちはスコット、

    通常のアイコンの右側に、データベースのような小さなアイコンが表示されます。 これは、Amazonウィンドウをポップアップするためのアイコンです。 すべてのwp-content / uploadsをAmazonに移動し、同じパスがあることを確認しました…唯一の違いはサブドメインです。 彼らは http://www..。 そして今、彼らはimages.marketingtechblog.comにいます。 すべての画像をAmazonにコピーした後、PHPMyAdminを使用して検索を行い、src =” http://martech.zoneを置き換えて、src =” images.marketingtechblog.comに置き換えました。 ((https://martech.zone/wordpress/mysql-search-replace/)

    お役に立てば幸いです。 シームレスではありませんが、機能します。

    ダグ

  10. 17

    ちょっとダグラス、ありがとう、私はすべての画像が画像を指すようにDBを更新しました。しかし、いくつかの親指(ページ情報で見ると)はまだwwwに画像を示しています。

    これがサイト(www.gamefreaks.co.nz)です– a、フロントページにいくつかの大きなメモリの問題がありますが、ホスティングをシフトしたときにのみ開始されたため、ホスティングのプレッシャーの一部をS3にオフロードすることを検討しています。 😎

  11. 18

    ローカルサーバーにコピーを保存せずにS3にアップロードすることが可能かどうか知っていますか?

    TNX

  12. 19

    こんにちはスコット、S3プラグインはAmazonへの直接の独自のパスを提供するため、ファイルはローカルに保存されません。

  13. 20

    こんにちはジョー、

    グレートポスト!

    このワードプレスプラグインは「あなたが言及したもの」ですか

    http://tantannoodles.com/toolkit/wordpress-s3/

    WordPressの最新バージョンで動作しますか?

    しばらくの間更新されたとは思わないので、互換性があるかどうかを知りたいと思います。 ヘルプに感謝します

    • 21

      最新バージョンと互換性がありますが、正直なところ、その動作が気に入らないので、別のプロセスですべての画像をS3にシフトしてロードする必要があります。 実際には、別のプロセスを要求するのではなく、同期するWPとのより堅牢なCDN(コンテンツ配信ネットワーク)統合を構築する場合があります。

  14. 22
  15. 23

    これが「外部バケット」でも機能するかどうか知っていますか? これを私の友人のブログ用に設定し、彼に私のAWSアカウントのバケットを使用させたいと思います(私はすでに彼のユーザーアカウントを作成し、Amazon IAMツールを使用して彼に私のバケットのXNUMXつへのアクセスを許可しました)。

  16. 24

    素晴らしい記事です! 投稿していただきありがとうございます。 セットアップと実行を手伝ってくれました。

  17. 25
    • 26

      セリア、AWSの家に行く http://aws.amazon.com/ [マイアカウント/コンソール]ドロップダウンで、[セキュリティ資格情報]を選択します。 必要に応じてサインインします。 そこから、[アクセス資格情報]まで下にスクロールすると、アクセスキーIDが一覧表示されます。 このプラグインのキーIDのいずれかをコピーし、[表示]リンクをクリックして、長いシークレットアクセスキーを表示します。 それをコピーして、プラグイン設定にも貼り付けます。 その後、すべて設定する必要があります。

  18. 27
  19. 28

どう思いますか?

このサイトはAkismetを使用して迷惑メールを減らします。 コメントの処理方法を学ぶ.