

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

# ターゲット追跡スケーリングポリシー
<a name="AutoScaling-Scaling-Policies-Target"></a>

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

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

## 事前定義メトリクス
<a name="AutoScaling-Scaling-Criteria-predfined-metrics"></a>

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


****  

| 事前定義済みメトリクス名 | CloudWatch メトリクス名 | CloudWatch メトリクスディメンション | 不適格なインスタンスタイプ  | 
| --- | --- | --- | --- | 
| ElastiCachePrimaryEngineCPUUtilization |  `EngineCPUUtilization`  |  ReplicationGroupId、ロール = プライマリ  | なし | 
| ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage |  `DatabaseCapacityUsageCountedForEvictPercentage`  |  Valkey または Redis OSS レプリケーショングループメトリクス  | なし | 
| ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage |  `DatabaseMemoryUsageCountedForEvictPercentage`  |  Valkey または Redis OSS レプリケーショングループメトリクス  | R6gd | 

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

## シャードの Auto Scaling 基準
<a name="AutoScaling-Scaling-Criteria"></a>

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

スケールアウトの例では、50個のシャードを持っている場合
+ ターゲットが 30% 超えた場合、ElastiCache は 30% スケールアウトするため、クラスターあたり 65 個のシャードになります。
+ ターゲットが 10% 超えた場合、ElastiCache はデフォルトで最小値 20% スケールアウトするため、クラスターあたり 60 個のシャードになります。

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

## Auto Scaling に関する考慮事項
<a name="AutoScaling-Scaling-Considerations"></a>

次の考慮事項に注意が必要です。
+ ターゲットの追跡スケーリングポリシーでは、指定されたメトリクスがターゲット値を超えている場合、スケールアウトする必要があると見なされます。指定されたメトリクスがターゲット値を下回っている場合、ターゲットの追跡スケーリングポリシーを使用してスケールアウトすることはできません。Valkey と Redis OSS に対応した ElastiCache は、クラスター内の既存のシャードのターゲットについて最小偏差の 20% 分だけシャードをスケールアウトします。
+ 指定されたメトリクスに十分なデータがない場合、ターゲットの追跡スケーリングポリシーによってスケールされません。不十分なデータの使用率は低いと解釈されないため、スケールインされません。
+ ターゲット値と実際のメトリクスデータポイント間にギャップが発生する場合があります。これは、ElastiCache の Auto Scaling が追加または削除する容量を決定するときに、その数を切り上げまたは切り捨てて常に控えめに動作するためです。これにより、不十分な容量を追加したり、必要以上に容量を削除することを防ぎます。
+ アプリケーションの可用性を高めるために、サービスのスケールアウトはメトリクスに比例して可能な限り高速に行われますが、スケールインはより抑制されています。
+ それぞれが異なるメトリクスを使用していれば、Valkey と Redis OSS に対応した ElastiCache クラスターに対して複数のターゲット追跡スケーリングポリシーを設定できます。ElastiCache Auto Scaling の目的は常に可用性を優先することであるため、その動作は、ターゲット追跡ポリシーがスケールアウトまたはスケールインの準備ができているかどうかに応じて異なります。ターゲット追跡ポリシーのいずれかでスケールアウトする準備ができると、サービスがスケールアウトされますが、すべてのターゲット追跡ポリシー (スケールイン部分が有効) でスケールインする準備ができている場合にのみスケールインされます。
+ ターゲットの追跡スケーリングポリシーのために ElastiCache の Auto Scaling が管理する CloudWatch アラームを編集または削除しないでください。ElastiCache の自動スケーリングでは、スケーリングポリシーを削除するときに、アラームが自動的に削除されます。
+ ElastiCache の自動スケーリングにより、クラスターシャードを手動で変更できなくなることはありません。これらの手動調整は、スケーリングポリシーにアタッチされている CloudWatch アラームに影響しませんが、これらの CloudWatch アラームをトリガーする可能性のあるメトリクスに影響する可能性があります。
+ Auto Scaling によって管理されるこれらの CloudWatch アラームは、クラスター内のすべてのシャードでの AVG メトリクスで定義されます。したがって、ホットシャードを持つと、次のいずれかのシナリオが発生する可能性があります。
  + CloudWatch アラームをトリガーするいくつかのホットシャードへの負荷が原因で、必要のない場合にスケーリングする
  + アラームが違反しないように影響を及ぼすすべてのシャードで集約された AVG が原因で、必要な場合にスケーリングしない。
+ クラスターあたりのノードに対する ElastiCache のデフォルト制限は引き続き適用されます。したがって、Auto Scaling を選択するときに、最大ノード数がデフォルトの制限を超えると予測される場合は、[[AWS サービス制限](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)] で制限の増加をリクエストし、制限タイプ [**インスタンスタイプごとのクラスターあたりのノード**] を選択します。
+ スケールアウト時に必要な、VPC で十分な ENI（Elastic Network Interfaces）が使用可能であることを確認します。詳細については、「[Elastic Network Interface](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html)」を参照してください。
+ EC2 の容量が十分にない場合、ElastiCache の自動スケーリングは、容量が利用可能になるまで、スケールせず、遅延します。
+ スケールイン中の ElastiCache for Redis OSS Auto Scaling では、シリアル化後のアイテムサイズが 256 MB を超えるスロットを持つシャードは削除されません。
+ スケールイン中に、結果として得られるシャード設定で利用可能なメモリが不足している場合、シャードは削除されません。