スケーリングポリシーの定義 - Amazon ElastiCache

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

スケーリングポリシーの定義

ターゲット追跡スケーリングポリシー設定は、メトリクスとターゲット値が定義されているJSONブロックによって表されます。スケーリングポリシー設定は、テキストファイルにJSONブロックとして保存できます。 AWS CLI または Application Auto Scaling を呼び出すときに、そのテキストファイルを使用しますAPI。ポリシー設定構文の詳細については、Application Auto Scaling APIリファレンスTargetTrackingScalingPolicyConfigurationの「」を参照してください。

ターゲット追跡スケーリングポリシー設定を定義するには、次のオプションを使用できます。

事前定義メトリクスの使用

事前定義されたメトリクスを使用することで、 ElastiCache (Redis OSS) Auto Scaling のターゲット追跡で動作する Valkey または Redis OSSクラスター ElastiCache を持つ のターゲット追跡スケーリングポリシーをすばやく定義できます。

現在、 は NodeGroup Auto Scaling で以下の事前定義されたメトリクス ElastiCache をサポートしています。

  • ElastiCachePrimaryEngineCPUUtilization – クラスター内のすべてのプライマリノードにわたる CloudWatchのEngineCPUUtilizationメトリクスの平均値。

  • ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage – クラスター内のすべてのプライマリノード CloudWatch にわたる のDatabaseMemoryUsageCountedForEvictPercentageメトリクスの平均値。

  • ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage – クラスター内のすべてのプライマリノード CloudWatch にわたる のElastiCacheDatabaseCapacityUsageCountedForEvictPercentageメトリクスの平均値。

EngineCPUUtilizationDatabaseMemoryUsageCountedForEvictPercentage、および DatabaseCapacityUsageCountedForEvictPercentage メトリクスの詳細については、「 CloudWatch メトリクスの使用のモニタリング」を参照してください。スケーリングポリシーで事前定義メトリクスを使用するには、スケーリングポリシーのターゲット追跡構成を作成します。この設定には、事前定義されたメトリクスPredefinedMetricSpecificationの と TargetValue 、そのメトリクスのターゲット値の を含める必要があります。

次の例では、Valkey または Redis OSSクラスター ElastiCache を使用する のターゲット追跡スケーリングの一般的なポリシー設定について説明します。この設定では、ElastiCachePrimaryEngineCPUUtilization事前定義されたメトリクスを使用して、クラスター内のすべてのプライマリノードの平均CPU使用率が 40% に基づいてクラスターを調整します。

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" } }

カスタムメトリクスの使用

カスタムメトリクスを使用することで、カスタム要件を満たすターゲット追跡スケーリングポリシーを定義できます。スケーリングに比例して変化するメトリクスに基づいて、カスタム ElastiCache メトリクスを定義できます。すべての ElastiCache メトリクスがターゲット追跡に機能するわけではありません。メトリクスは、有効な使用率メトリクスで、インスタンスの使用頻度を示す必要があります。クラスター内のシャードの数に比例してメトリクスの値を増減する必要があります。この比例的な増加または減少は、比例的にスケールアウトするため、またはシャードの数にメトリクスデータを使用するために必要です。

次の例では、スケーリングポリシーのターゲット追跡設定について説明します。この設定では、カスタムメトリクスは、 という名前のクラスター内のすべてのシャードの平均CPU使用率 50% に基づいて ElastiCache (Redis OSS) クラスターを調整しますmy-db-cluster

{ "TargetValue": 50, "CustomizedMetricSpecification": { "MetricName": "EngineCPUUtilization", "Namespace": "AWS/ElastiCache", "Dimensions": [ { "Name": "RelicationGroup","Value": "my-db-cluster" }, { "Name": "Role","Value": "PRIMARY" } ], "Statistic": "Average", "Unit": "Percent" } }

クールダウン期間の使用

ScaleOutCooldown の値を秒単位で指定して、クラスターをスケールアウトするためのクールダウン期間を追加することができます。同様に、ScaleInCooldown の値を秒単位で追加して、クラスターをスケールインするためのクールダウン期間を追加することができます。詳細については、Application Auto Scaling APIリファレンスTargetTrackingScalingPolicyConfigurationの「」を参照してください。

次の例では、スケーリングポリシーのターゲット追跡設定について説明します。この設定では、ElastiCachePrimaryEngineCPUUtilization事前定義されたメトリクスを使用して、そのクラスター内のすべてのプライマリノードの平均CPU使用率 40% に基づいて ElastiCache (Redis OSS) クラスターを調整します。この構成では、10 分間のスケールインのクールダウン期間と 5 分間のスケールアウトのクールダウン期間が提供されます。

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }