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などの権限)を設定しました。
ターミナル操作は、セッションマネージャから実行して確認しました。
|
1 2 |
$ sudo yum -y install memcached telnet |
memcached-tool を使いたかったので、memcachedをインストールしました。
あとは、telnetでも確認したかったのでtelnetをインストールしてます。
|
1 2 |
$ memcached-tool xxxxxxxx.apne1.cache.amazonaws.com:11211 dump |
キャッシュされている情報が確認できました。
|
1 2 |
$ telnet xxxxxxxx.apne1.cache.amazonaws.com 11211 |
telnet接続後は、 stats や stats itemsでキャッシュされていることが確認できました。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Amazon SageMakerプロジェクトを使用してMLパイプラインを構築
SageMakerプロジェクトの作成 SageMaker Studioの左ナビゲ …
-
-
Amazon LinuxにRedmine 環境構築(エラーと対応をそのまま記載版)
Amazon Linuxにgit + Redmineの環境を構築してみます。 自 …
-
-
Amazon Aurora Serverless 課金確認
Amazon Aurora Serverlessを使い始めてみましたの記事で書い …
-
-
MySQL WorkbenchからRDSに接続する
MySQL WorkbenchからAWS RDSのMySQLに接続するために、「 …
-
-
東京リージョンの1つのAZ(apne1-az2)でt3.nanoスポットインスタンスが拒否されちゃいました
拒否されちゃいました ちょっとした検証をしようとしてて、t3.nanoのスポット …
-
-
NATインスタンスを作成する
プライベートサブネットのEC2インスタンスからカスタムメトリクスとCloudWa …
-
-
Amazon Connectで電話を転送する
かかってきた電話を転送するようにしました。 問い合わせフローで[終了/転送]から …
-
-
Amazon Q Developer for CLIをmacOSにインストールしました
2025/3/26のAWS Expert Online for JAWSの「Am …
-
-
AWS Organizationsのルートユーザー管理(Root user management)でメンバーアカウントのルートユーザー認証を無効にしました
2024年11月発表のAWS Organizations を使用するお客様のため …
-
-
AWS Organizationsでアカウントを50作って指定したOUに移動するスクリプト
AWS Organizationsでアカウントを50個作る必要がありましたので、 …








