ターゲット追跡スケーリングポリシー - Amazon ElastiCache

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ターゲット追跡スケーリングポリシー

ターゲット追跡スケーリングポリシーで、メトリクスを選択してターゲット値を設定します。 ElastiCache Valkey または Redis OSS Auto Scaling では、スケーリングポリシーをトリガーする CloudWatch アラームを作成および管理し、メトリクスとターゲット値に基づいてスケーリング調整を計算します。スケーリングポリシーは、指定されたターゲット値、またはそれに近い値にメトリクスを維持するため、必要に応じてシャードを追加または削除します。ターゲットの追跡スケーリングポリシーは、メトリクスをターゲット値近くに維持することに加えて、負荷パターンの変動によるメトリクスの変動に合わせて調整し、フリートの容量の急速な変動を最小化します。

たとえば、設定されたターゲット値を持つ事前定義された平均 ElastiCachePrimaryEngineCPUUtilization メトリクスを使用するスケーリングポリシーを考慮してください。このようなポリシーは、指定されたターゲット値で、またはその近くでCPU使用率を維持できます。

事前定義メトリクス

定義済みメトリクスは、特定の CloudWatch メトリクスの特定の名前、ディメンション、統計 (average) を参照する構造です。Auto Scaling ポリシーでは、クラスターの次の事前定義されたメトリクスのいずれかを定義します。

事前定義済みメトリクス名 CloudWatch メトリクス名 CloudWatch メトリクスディメンション 不適格なインスタンスタイプ
ElastiCachePrimaryEngineCPUUtilization

EngineCPUUtilization

ReplicationGroupId、ロール = プライマリ

なし
ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage

DatabaseCapacityUsageCountedForEvictPercentage

Valkey または Redis OSS レプリケーショングループのメトリクス

なし
ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage

DatabaseMemoryUsageCountedForEvictPercentage

Valkey または Redis OSS レプリケーショングループのメトリクス

R6gd

データ階層インスタンスタイプは、メモリと の両方にデータを保存するためElastiCacheDatabaseMemoryUsageCountedForEvictPercentage、 を使用できませんSSD。データ階層型インスタンスの想定されるユースケースは、メモリ使用率を 100% にしSSD、必要に応じて補充することです。

シャードの Auto Scaling 基準

事前定義されたメトリクスが Target 設定以上であることを検出した場合、シャードの容量が自動的に増加します。 ElastiCache Valkey または Redis を使用すると、クラスターシャードは、ターゲットからのばらつき率と現在のシャードの 20% という 2 つの数値のうち大きい方に等しい数だけOSSスケールアウトされます。スケールインの場合、全体的なメトリクス値が定義されたターゲットの 75% 未満でない限り、自動スケールイン ElastiCache は行われません。

スケールアウトの例では、50個のシャードを持っている場合

  • ターゲットが 30% 違反した場合、 ElastiCache Valkey または Redis は 30% OSSスケールアウトし、クラスターあたり 65 個のシャードになります。

  • ターゲットが 10% 違反した場合、 ElastiCache Valkey または Redis はデフォルトで最低 20% OSSスケールアウトし、クラスターあたり 60 個のシャードになります。

スケールインの例では、ターゲット値を 60% を選択した場合、メトリクスが 45% 以下 (ターゲット 60% を 25% 下回る) になるまで、 ElastiCache Valkey または Redis は自動スケールインOSSしません。

Auto Scaling に関する考慮事項

次の考慮事項に注意が必要です。

  • ターゲットの追跡スケーリングポリシーでは、指定されたメトリクスがターゲット値を超えている場合、スケールアウトする必要があると見なされます。指定されたメトリクスがターゲット値を下回ると、ターゲット追跡スケーリングポリシーを使用してスケールアウトすることはできません。Valkey または Redis ElastiCache を使用すると、クラスター内の既存のシャードのターゲットから少なくとも 20% の偏差だけシャードをOSSスケールアウトできます。

  • 指定されたメトリクスに十分なデータがない場合、ターゲットの追跡スケーリングポリシーによってスケールされません。不十分なデータの使用率は低いと解釈されないため、スケールインされません。

  • ターゲット値と実際のメトリクスデータポイント間にギャップが発生する場合があります。これは、Valkey または Redis OSS Auto Scaling ElastiCache では、追加または削除する容量を決定するときに、常に切り上げまたは切り下げによって保守的に動作するためです。これにより、不十分な容量を追加したり、必要以上に容量を削除することを防ぎます。

  • アプリケーションの可用性を高めるために、サービスのスケールアウトはメトリクスに比例して可能な限り高速に行われますが、スケールインはより抑制されています。

  • Valkey クラスターまたは Redis OSSクラスター ElastiCache を使用する には、それぞれが異なるメトリクスを使用するという条件で、複数のターゲット追跡スケーリングポリシーを設定できます。 ElastiCache (Redis OSS) Auto Scaling の目的は、常に可用性に優先順位を付けることです。そのため、ターゲット追跡ポリシーのスケールアウトまたはスケールインの準備が整っているかどうかによって動作が異なります。ターゲット追跡ポリシーのいずれかでスケールアウトする準備ができると、サービスがスケールアウトされますが、すべてのターゲット追跡ポリシー (スケールイン部分が有効) でスケールインする準備ができている場合にのみスケールインされます。

  • Valkey または Redis OSS Auto Scaling ElastiCache がターゲット追跡スケーリングポリシーに対して管理する CloudWatch アラームを編集または削除しないでください。 ElastiCache Auto Scaling は、スケーリングポリシーを削除するとアラームを自動的に削除します。

  • ElastiCache Auto Scaling では、クラスターシャードを手動で変更することはできません。これらの手動調整は、スケーリングポリシーにアタッチされている既存の CloudWatch アラームには影響しませんが、これらの CloudWatch アラームをトリガーするメトリクスに影響を与える可能性があります。

  • Auto Scaling によって管理されるこれらの CloudWatch アラームは、クラスター内のすべてのシャードのAVGメトリクスで定義されます。したがって、ホットシャードを持つと、次のいずれかのシナリオが発生する可能性があります。

    • CloudWatch アラームをトリガーするいくつかのホットシャードへの負荷のために不要になったスケーリング

    • アラームに影響しているすべてのシャードAVGに集約されているため、必要に応じてスケーリングを行わない。

  • ElastiCache クラスターあたりのノードには、引き続き Valkey または Redis のOSSデフォルト制限が適用されます。したがって、Auto Scaling を選択するときに、最大ノード数がデフォルトの制限を超えると予測される場合は、[AWS サービス制限] で制限の増加をリクエストし、制限タイプ [インスタンスタイプごとのクラスターあたりのノード] を選択します。

  • スケールアウト時に必要な十分な ENIs (Elastic Network Interfaces) VPCが に用意されていることを確認します。詳細については、「Elastic Network Interface」を参照してください。

  • から利用できる容量が十分でない場合EC2、 ElastiCache Auto Scaling は容量が使用可能になるまでスケーリングされず、遅延します。

  • ElastiCache (Redis OSS) スケールイン中の Auto Scaling では、シリアル化後のアイテムサイズが 256 MB を超えるスロットを持つシャードは削除されません。

  • スケールイン中に、結果として得られるシャード設定で利用可能なメモリが不足している場合、シャードは削除されません。