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統合環境およびスターター環境でのサービス設定については、次の手順を使用します。
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 テンプレートによって異なります。 現在のプロジェクトテンプレートで指定されたバージョンを使用します。 詳しくは、 サービスの設定を参照してください。
同じサービス IDを保持している場合でも、type値をredis:<version>からvalkey:<version>に変更しても、キャッシュ データとセッション データが保持されると仮定しないでください。 移行を新しいキャッシュの作成として扱います。既存のキャッシュとセッションデータは保持される保証はなく、移行が完了するとユーザーはログアウトされます。
サービス関係の設定
.magento.app.yamlで、アプリケーションとValkey サービスとの関係を設定します。
relationships:
valkey: "cache:valkey"
関係キーvalkeyは、アプリケーションがサービスにアクセスするために使用する名前です。 値cache:valkeyは、.magento/services.yamlで定義されたサービス IDとサービス タイプを参照しています。
credis クライアントライブラリを介してValkeyと通信します。このクライアントライブラリは、デフォルトでプレーン PHP ソケットを介して動作します。 パフォーマンスを向上させるには、.magento.app.yamlでredis PHP拡張機能を有効にします。 credisは、使用可能な場合、コンパイルされた拡張機能を自動的に使用します。| code language-yaml |
|---|
|
変更をコミットしてデプロイする
設定の変更を追加、コミット、プッシュします。
git add .magento/services.yaml .magento.app.yaml
git commit -m "Enable Valkey service"
git push origin <branch-name>
デプロイメントが完了したら、Valkey サービス関係が使用可能であることを確認します。
services.yamlおよび.magento.app.yaml設定ファイルを更新することで、インストール済みサービスのソフトウェアバージョンを変更できます。 サービスのアップグレードまたはダウングレードに関するガイダンスについては、 サービスバージョンの変更を参照してください。 このセルフサービス方式は、Pro ステージング環境または実稼動環境には適用されません。Configure servicesのPro サービスのサポート を参照してください。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 |
|---|
|
応答の例
| code language-text |
|---|
|
バージョンとビルドの詳細は環境によって異なります。 表示されたサンプルバージョンを必須またはユニバーサルサービスバージョンとして扱わないでください。
Pro ステージング環境と実稼動環境では、次を実行します。
| code language-terminal |
|---|
|
応答の例
| code language-text |
|---|
|
バージョンとビルドの詳細は環境によって異なります。 表示されたサンプルバージョンを必須またはユニバーサルサービスバージョンとして扱わないでください。
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と一致しません。 サービス関係の確認を参照してください。