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

このページでは、さまざまなエラーのシナリオと、それらのエラーを解決するためのガイダンスについて説明します。

レプリケーションのシナリオ

このセクションでは、クラスタで発生する可能性のあるレプリケーションの問題について説明します。

レプリケーションの遅延をモニタリングするにはどうすればよいですか?

Memorystore for Redis Cluster には /cluster/replication/maximum_offset_diff 指標があります。この指標は、プライマリ クラスタ内のノードの最大レプリケーション オフセット差分(バイト単位)をモニタリングします。

レプリケーション オフセット差分を小さくすることで、レプリカは完全同期オペレーションよりも頻繁に、かつ低コストで増分同期オペレーションを実行できます。

maximum_offset_diff 指標のしきい値を設定することをおすすめします。しきい値を超えると、Memorystore for Redis Cluster はアラートで通知します。

クラスタのノードタイプ に基づいて、次のようにしきい値を設定することをおすすめします。

  • ノードタイプが redis-shared-core-nanoredis-standard-smallredis-highmem-mediumredis-highcpu-mediumredis-standard-large の場合は、しきい値を 64 MB 未満に設定します。

  • ノードタイプが redis-highmem-xlarge または redis-highmem-2xlarge の場合は、しきい値を 1 GB 未満に設定します。

接続性エラーのシナリオ

このセクションでは、インスタンスで発生する可能性がある接続性の問題について説明します。

ファイアウォール ルールによる接続エラー

ファイアウォール ルールでは、Memorystore for Redis Cluster で使用されるポートをブロックすることによる接続エラーが発生することがあります。インスタンスの両方の Private Service Connect エンドポイントで、ポート 11000 ~ 13047 を許可リストに登録します。これらの エンドポイントの詳細については、予約済みのネットワーク アドレスをご覧ください。

組織のポリシーによる接続エラー

組織のポリシーで、Memorystore for Redis Cluster インスタンスへの Private Service Connect 接続をブロックできます。

組織のポリシーで .restrictPrivateServiceConnectProducer ポリシーを使用している場合は、フォルダ番号 961333125034(Memorystore for Redis Cluster 専用のフォルダ)を許可リストに登録します。次に例を示します。

name: organizations/Consumer-org-1/policies/compute.restrictPrivateServiceConnectProducer
spec:
    rules:
      - values:
          allowedValues:
          - under:folders/961333125034

組織のポリシーで .disablePrivateServiceConnectCreationForConsumers ポリシーを使用している場合は、SERVICE_PRODUCERS を許可リストに登録する必要があります。次に例を示します。

name: organizations/Consumer-org-1/policies/compute.disablePrivateServiceConnectCreationForConsumers
spec:
    rules:
      - values:
          allowedValues:
          - SERVICE_PRODUCERS

CPU 使用率のシナリオ

このセクションでは、クラスタで発生する可能性のある CPU 使用率の問題について説明します。

クラスタの出力バッファの容量が不足する

クラスタの出力バッファの容量が不足した場合は、次の操作を行います。

  • maxmemory パラメータに小さい値を設定します。
  • allkeys-lru maxmemory ポリシーを使用します。

クラスタのメモリがいっぱいになり、新しい書き込みが発生すると、Memorystore for Redis Cluster はクラスタのmaxmemory ポリシーに基づいてキーを削除し、書き込み用にスペースを確保します。allkeys-lru ポリシーは、キーセット全体から、最も長い間使用されていない(LRU)キーを削除します。

クラスタの maxmemory と使用メモリをモニタリングすることをおすすめします。これにより、クラスタがプロビジョニングされたクラスタ容量に達したかどうかを確認できます。 また、maxmemory パラメータの値を小さくすると、オーバーヘッド用のスペースが増えます。

永続性のシナリオ

このセクションでは、クラスタで発生する可能性のある永続性の問題について説明します。

書き込みトラフィックが、AOF の書き換えによるスペースの圧縮と再利用を行う Memorystore for Redis Cluster の能力を超えている

この状況が発生すると、Append-Only File(AOF)は書き換えプロセスで管理できるよりも速く増加します。これにより、ディスクが枯渇し、書き込みエラーが発生し、レプリカの作成と完全同期を必要とするオペレーションがブロックされます。

Memorystore for Redis Cluster は、書き込みスループットを調整するためのガードレールを実装しました。 これにより、AOF の書き換えは、持続的な高書き込みワークロードに対応できます。