AWS ElastiCacheでのRedisの設定
Commerce 2.4.3以降、Amazon EC2でホストされているインスタンスでは、ローカル Redis インスタンスの代わりにAWS ElastiCacheを使用できます。
前提条件
-
Create a Redis OSS serverless cache- AWS Management Consoleから、EC2 インスタンスの同じリージョンとVPCにRedis キャッシュを作成します。 手順については、AWS Elasticache ドキュメント を参照してください。
-
EC2 Commerce インスタンスへの接続を確認する
-
EC2 インスタンスへのSSH接続を開きます
-
EC2 インスタンスで、Redis クライアントをインストールします。
code language-shell sudo apt-get install redis -
EC2 セキュリティグループにインバウンドルールを追加します:タイプ
- Custom TCP, port - 6379, Source - 0.0.0.0/0 -
ElastiCache Cluster セキュリティグループにインバウンドルールを追加します:タイプ
- Custom TCP, port - 6379, Source - 0.0.0.0/0 -
Redis CLIに接続します。
code language-shell redis-cli -h <ElastiCache Primary Endpoint host> -p <ElastiCache Primary Endpoint port>
-
クラスターを使用するようにCommerceを設定する
Commerceは、複数のタイプのキャッシュ設定をサポートしています。 一般的に、キャッシュ設定はフロントエンドとバックエンドに分割されます。 フロントエンド キャッシュはdefaultに分類され、任意のキャッシュ タイプに使用されます。 カスタマイズしたり、下位レベルのキャッシュに分割したりすることで、パフォーマンスを向上させることができます。 共通のRedis設定は、デフォルトのキャッシュとページキャッシュを独自のRedis Database (RDB)に分離することです。
setup コマンドを実行して、Redis エンドポイントを指定します。
Redis用Commerceをデフォルトのキャッシュとして設定するには:
bin/magento setup:config:set --cache-backend=redis --cache-backend-redis-server=<ElastiCache Primary Endpoint host> --cache-backend-redis-port=<ElastiCache Primary Endpoint port> --cache-backend-redis-db=0
Redis ページキャッシュ用にCommerceを設定するには:
bin/magento setup:config:set --page-cache=redis --page-cache-redis-server=<ElastiCache Primary Endpoint host> --page-cache-redis-port=<ElastiCache Primary Endpoint port> --page-cache-redis-db=1
セッションストレージにRedisを使用するようにCommerceを設定するには:
bin/magento setup:config:set --session-save=redis --session-save-redis-host=<ElastiCache Primary Endpoint host> --session-save-redis-port=<ElastiCache Primary Endpoint port> --session-save-redis-log-level=4 --session-save-redis-db=2
接続性の確認
CommerceがElastiCacheと通信していることを確認するには:
-
Commerce EC2 インスタンスへのSSH接続を開きます。
-
Redis モニターを起動します。
code language-shell redis-cli -h <ElastiCache-Primary-Endpoint-host> -p <ElastiCache-Primary-Endpoint-port> monitor -
Commerce UIでページを開きます。
-
ターミナルの キャッシュ出力を確認します。