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
関連記事
-
-
RDSの拡張モニタリングを有効にしました
RDS for MySQLです。 変更メニューで、[拡張モニタリングを有効にする …
-
-
Cloud9のデフォルト設定での権限確認(AWS managed temporary credentials)
Cloud9の環境を作成した際のデフォルトアクセス権限は、環境を作成したIAMユ …
-
-
PyCharmにAWS CloudFormationプラグインをインストールして入力補完してみる
JetBrainsのPython統合開発環境(IDE)のPyCharmを1年ちょ …
-
-
IAM Access Analyzerの検出をEventBridgeルールで検知して通知する
やりたかったことは使用可能としているリージョンのIAM Access Analy …
-
-
AWS SSOのIDソースをAD Connectorにしました
オンプレミス想定のActive DirectoryにVPN接続して、AD Con …
-
-
Amazon Kinesis Data StreamsにTwitter検索データを送信する
Kinesis Data Streamsの作成 ストリーム名とシャード数を決定す …
-
-
VPC環境でLambdaを100同時実行してプライベートIPアドレスを確認した
2019年9月発表のLambda 関数が VPC 環境で改善されます以降に、VP …
-
-
RocketChat(EC2インスタンス)でCPU80%以上を10分間継続したら再起動する
先日、数日間のやり取り用で完全に使い捨てとして使っているRocketChatで、 …
-
-
EC2ハードウェア専有インスタンス(Dedicated Instances)を起動して請求書を確認してみました
EC2ハードウェア専有インスタンスのサイトには、次の料金と表記されています。 * …
-
-
百聞は一見にしかず!AWSセルフペースラボの無料ラボ!
※2019年5月12日現在に試してみた記録です。 AWSセルフペースラボとは A …








