Valkey サービスの設定

Valkeyは、クラウド インフラストラクチャ上のAdobe Commerceのオプションのバックエンド キャッシュ ソリューションです。 Valkeyは、Adobe Commerce 2.4.9以降、または2.4.5-p16、2.4.6-p14、2.4.7-p9、および2.4.8-p4以降のパッチリリースでデフォルトのキャッシュ設定を上書きする場合に必要です。

master ブランチを含むPro統合環境およびスターター環境でのサービス設定については、次の手順を使用します。

NOTE
Pro実稼動環境とステージング環境のサービス構成を変更するには、Adobe Commerce サポートチケットを送信してください。 スケジュール要件と顧客の可用性に関するガイダンスについては、サービスの設定​のPro サービス サポート ​を参照してください。

Valkeyの設定

RedisをValkeyに置き換えるには、次のファイルを更新します。

  • .magento/services.yaml
  • .magento.app.yaml

サービスの設定

.magento/services.yamlで、Redis サービス定義をValkey サービス定義に置き換えます。 <version>を、お使いのAdobe Commerce バージョンと現在のCloud テンプレートでサポートされているValkey バージョンに置き換えます。

cache:
  type: valkey:<version>

cache:
  type: valkey:8.0

例のバージョンは普遍的ではありません。 実際のデフォルトバージョンとサポートされているサービスバージョンは、Adobe Commerceのバージョンと現在のCloud テンプレートによって異なります。 現在のプロジェクトテンプレートで指定されたバージョンを使用します。 詳しくは、​ サービスの設定を参照してください。

WARNING
サービス IDを変更すると、既存のサービスが削除され、新しいサービスが作成されます。 削除されたサービス内の既存のデータは完全に削除されます。 サービスの名前を変更する前に、環境をバックアップします。

同じサービス IDを保持している場合でも、type値をredis:<version>からvalkey:<version>に変更しても、キャッシュ データとセッション データが保持されると仮定しないでください。 移行を新しいキャッシュの作成として扱います。既存のキャッシュとセッションデータは保持される保証はなく、移行が完了するとユーザーはログアウトされます。

サービス関係の設定

.magento.app.yamlで、アプリケーションとValkey サービスとの関係を設定します。

relationships:
  valkey: "cache:valkey"

関係キーvalkeyは、アプリケーションがサービスにアクセスするために使用する名前です。 値cache:valkeyは、.magento/services.yamlで定義されたサービス IDとサービス タイプを参照しています。

TIP
Adobe Commerceは、credis クライアントライブラリを介してValkeyと通信します。このクライアントライブラリは、デフォルトでプレーン PHP ソケットを介して動作します。 パフォーマンスを向上させるには、.magento.app.yamlredis PHP拡張機能を有効にします。 credisは、使用可能な場合、コンパイルされた拡張機能を自動的に使用します。
code language-yaml
runtime:
      extensions:
          - redis

変更をコミットしてデプロイする

設定の変更を追加、コミット、プッシュします。

git add .magento/services.yaml .magento.app.yaml
git commit -m "Enable Valkey service"
git push origin <branch-name>

デプロイメントが完了したら、Valkey サービス関係が使用可能であることを確認します。

TIP
最初のサービス設定の後、services.yamlおよび.magento.app.yaml設定ファイルを更新することで、インストール済みサービスのソフトウェアバージョンを変更できます。 サービスのアップグレードまたはダウングレードに関するガイダンスについては、​ サービスバージョンの変更を参照してください。 このセルフサービス方式は、Pro ステージング環境または実稼動環境には適用されません。Configure services​のPro サービスのサポート ​を参照してください。
NOTE
New Relicは、Valkeyへの移行後もRedisを表示する可能性があります。
New Relicは、環境がValkeyに移行された後も、引き続きキャッシュサービスをRedisと呼ぶことが予想されます。
ValkeyはRedisのオープンソースのフォークであり、一部のツールや統合機能は、明確なValkey ラベルではなくRedis命名を使用してサービスを識別し続けています。 この動作は、Redisがまだインストールされていることを必ずしも示しません。

Valkey設定のカスタマイズ

キャッシュ、セッション、L2、およびレプリカ接続に関する推奨事項については、実装プレイブックのベストプラクティスガイド​の「ValkeyとRedis サービス設定のベストプラクティス ​」を参照してください。

サービス関係の確認

デコードされたMAGENTO_CLOUD_RELATIONSHIPS オブジェクトを表示するには、設定をデプロイした後、アプリケーション コンテナから次のコマンドを実行します。

SSHを使用してリモートクラウド環境に接続し、次を実行します。

echo "$MAGENTO_CLOUD_RELATIONSHIPS" | base64 -d | json_pp

このコマンドは、設定されたすべてのサービス関係を表示します。 Valkey接続の詳細を特定するには、valkey関係を見つけます。

出力例

次の省略形の例は、valkey関係を示しています。 ユニバーサルスキーマではありません。

{
   "database" : [
      {
         "host" : "database.internal",
         "port" : 3306,
         "path" : "main",
         "scheme" : "mysql"
      }
   ],
   "opensearch" : [
      {
         "host" : "opensearch.internal",
         "port" : 9200,
         "path" : null,
         "scheme" : "http"
      }
   ],
   "valkey" : [
      {
         "host" : "valkey.internal",
         "port" : 6379,
         "path" : null,
         "scheme" : "valkey"
      }
   ]
}

出力は、環境とサービス設定によって異なります。 この例では、ホスト名、ポート、IP アドレス、クラスター名、サービスバージョン、ユーザー名、パスワードをハードコーディングしないでください。 ターゲット環境でMAGENTO_CLOUD_RELATIONSHIPSによって返される値を使用します。

jqが使用可能な場合は、Valkey関係のみを表示します。

printf '%s' "$MAGENTO_CLOUD_RELATIONSHIPS" \
  | base64 -d \
  | jq '{valkey: .valkey}'

サービス関係について詳しくは、​ サービスの設定を参照してください。

Valkey CLIの使用

Valkey関係がvalkeyであると仮定すると、MAGENTO_CLOUD_RELATIONSHIPSから返されたホストとポートをValkeyに接続するために使用します。

valkey-cli -h <host> -p <port>

valkey-cli -h valkey.internal -p 6379

インストール済みのValkey バージョンを取得する

統合環境

統合環境で、valkey関係によって返されるホストとポートを使用して、次を実行します。

code language-terminal
valkey-cli -h <host> -p <port> info | grep version

応答の例

code language-text
valkey_version:<installed-version>
gcc_version:<gcc-version>

バージョンとビルドの詳細は環境によって異なります。 表示されたサンプルバージョンを必須またはユニバーサルサービスバージョンとして扱わないでください。

Pro ステージングおよび実稼動

Pro ステージング環境と実稼動環境では、次を実行します。

code language-terminal
valkey-server -v

応答の例

code language-text
Valkey server v=<installed-version> ...

バージョンとビルドの詳細は環境によって異なります。 表示されたサンプルバージョンを必須またはユニバーサルサービスバージョンとして扱わないでください。

Valkeyのトラブルシューティング

キャッシュクリーンエラーは、Valkey設定のキャッシュでRedisを参照します

cache サービスがValkeyとして設定されている場合でも、デプロイ前のキャッシュクリーンのエラーで、エラーコード [107]clean-redis-cache)とConnection to Redis メッセージが表示される可能性があります。 ece-toolsは、バッキング キャッシュ サービスがRedisであるかValkeyであるかに関係なく、このエラーコードとメッセージをキャッシュ クリーン ステップに使用します。

関係ホストのName or service not knownなどのDNS エラーが原因で発生した場合、サービス関係が利用可能になる前にデプロイ手順が実行されるか、.magento.app.yamlの関係名が.magento/services.yamlのサービス IDと一致しません。 ​ サービス関係の確認を参照してください。

recommendation-more-help
commerce-on-cloud-help-cloud-guide