ヤマムギ

growing hard days.

*

WordPress W3 Total Cache のDatabaseCacheをAmazon ElastiCacheのmemcachedに格納する

      2020/01/05


このブログのアーキテクチャは現在こちらです。

データベースは、Amazon Aurora Serverlessを使用しています。
アイドル状態が5分続けば停止するようにしています。
開発検証用の機能かもしれませんが、CloudFrontやElastiCacheを使うことで、コスト効率の向上につながらないか試してみます。

Memcached 用 Amazon ElastiCache を使用して WordPress を高速化するに習って、Database CacheをAmazon ElastiCacheのmemcachedに格納してみます。

セキュリティグループの作成

ElastiCace用のセキュリティグループをあらかじめ作成しました。
11211番ポートに対して、webサーバーからのトラフィックのみ許可するように、ソースはEC2が使用しているセキュリティグループIDを指定しました。

Amazon ElastiCacheの作成

サブネットグループの作成

ElastiCacheダッシュボードでサブネットグループを選択して作成します。
VPCとAZ、サブネットを選択します。
インターネットから直接アクセスする必要はないので、プライベートサブネットを選択しました。

Memcachedの作成

ElastiCacheダッシュボードで[作成]ボタンをクリックしました。

任意の名前を入力して、ノードのタイプを選択しました。
私は一番低いt3.microにしました。

詳細設定であらかじめ作成しておいた、サブネットグループとセキュリティグループを設定しました。

W3 Total Cacheの設定

WordPress管理画面にログインして、設定メニューから、W3 Total Cacheの設定をします。
W3 Total Cacheがすでにインストール済みの環境で設定しました。

[General Setting]で[Database Cache]を有効にして、[Satabase Cache Method]で[Memcached]を選択しました。

この時点ではデフォルト設定のローカルにMemcachedサーバがないので警告が表示されます。

左のメニューペインで、[Database Cache]を選択して、[Memcached hostname:port]にElastiCacheのエンドポイントとポート番号を入力して保存します。

私はなるべくデータベースコネクションを減らしたかったので、キャッシュ保持期間を1日にしてみました。
保存しました。

Memcachedの確認

確認用のEC2インスタンスを別途起動して、webサーバー用のセキュリティグループ、IAMロール(SystemsManagerなどの権限)を設定しました。
ターミナル操作は、セッションマネージャから実行して確認しました。

memcached-tool を使いたかったので、memcachedをインストールしました。
あとは、telnetでも確認したかったのでtelnetをインストールしてます。

キャッシュされている情報が確認できました。

telnet接続後は、 stats や stats itemsでキャッシュされていることが確認できました。


最後までお読みいただきましてありがとうございました!

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

i

【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。

 - AWS , , ,

ad

ad

  関連記事

AWS認定ソリューションアーキテクトアソシエイトのサンプル問題

AWS認定ソリューションアーキテクトアソシエイトのサンプル問題の解説を会社のブロ …

AWS Toolkit for Eclipseで「Error Message: Unable to find a region via the region provider chain. Must provide an explicit region in the builder or setup environment to supply a region.」

AWS Toolkit for Eclipseをセットアップ(2021年版)の環 …

Cloud9 Python3でpipも3にする

このブログは、2019/10/20に書いた、 Cloud9のAMIがCloud9 …

AWS EC2 Amazon Linuxにmauticをインストールする(Sendgrid, Nginx, MySQL on RDS)

mauticをAmazon LinuxとNginx,MySQL on RDSにイ …

AWS Organizationsからアカウントを新規作成してみて

AWS Organizationsでアカウントを新規作成することがありましたので …

AWSのサービス数を数えてみました(2020/5/23)

何をもってサービスという単位にするかというのはあるかもしれませんが、とりあえず情 …

EC2 Ubuntu DesktopにRDP

Ubuntu Desktopが必要になりましたので、こちらのAWS EC2でデス …

ALBのヘルスチェックでPHPとMySQL接続をチェック

当ブログで504エラーが発生して、オートスケーリングにより自動でインスタンスが置 …

ads.txtをS3に配置してCloudFrontで設定する

ads.txtのダウンロード ads.txt設置してねってメールが来てました。 …

AWS Lambda Layersのアーカイブファイルをダウンロードする

Cloud9にLambda Layersをダウンロードしたかったので検索してみた …