翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
スケーリングポリシーの定義
ターゲット追跡スケーリングポリシー設定は、メトリクスとターゲット値が定義されている JSON ブロックで表されます。JSON ブロックとしてスケーリングポリシー設定をテキストファイルに保存できます。 AWS CLI または Application Auto Scaling API を呼び出すときに、そのテキストファイルを使用します。ポリシー設定構文の詳細については、Application Auto Scaling API リファレンスの「TargetTrackingScalingPolicyConfiguration」を参照してください。
ターゲット追跡スケーリングポリシー設定を定義するには、次のオプションを使用できます。
事前定義メトリクスの使用
事前定義されたメトリクスを使用することで、ElastiCache Auto Scaling のターゲット追跡で動作する ElastiCache Auto Scalingポリシーをすばやく定義できます。
現在、ElastiCache は、NodeGroup Auto Scaling で次の定義済みメトリクスをサポートしています。
-
ElastiCachePrimaryEngineCPUUtilization — クラスター内のすべてのプライマリノードでの CloudWatch の
EngineCPUUtilization
メトリクスの平均値。 -
ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage — クラスター内のすべてのプライマリノードでの CloudWatch の
DatabaseMemoryUsageCountedForEvictPercentage
メトリクスの平均値。 -
ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage — クラスター内のすべてのプライマリノードでの CloudWatch の
ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage
メトリクスの平均値。
EngineCPUUtilization
と DatabaseMemoryUsageCountedForEvictPercentage
、および DatabaseCapacityUsageCountedForEvictPercentage
メトリクスの詳細については、「CloudWatch メトリクスの使用状況のモニタリング」を参照してください。スケーリングポリシーで事前定義メトリクスを使用するには、スケーリングポリシーのターゲット追跡構成を作成します。この設定は、事前定義メトリクスの PredefinedMetricSpecification
と、そのメトリクスのターゲット値の TargetValue が含まれている必要があります。
次の例では、ElastiCache for Valkey および Redis OSS クラスターのターゲット追跡スケーリングの一般的なポリシー設定について説明します。この設定では、ElastiCachePrimaryEngineCPUUtilization
事前定義メトリクスを使用して、クラスターの全プライマリノードでの平均 CPU 使用率 40% に基づいてクラスターが調整されます。
{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" } }
カスタムメトリクスの使用
カスタムメトリクスを使用することで、カスタム要件を満たすターゲット追跡スケーリングポリシーを定義できます。スケーリングに比例して変化する ElastiCache メトリクスに基づいて、カスタムメトリクスを定義することができます。ElastiCache のすべてのメトリクスがターゲット追跡に使用できるわけではありません。メトリクスは、有効な使用率メトリクスで、インスタンスの使用頻度を示す必要があります。クラスター内のシャードの数に比例してメトリクスの値を増減する必要があります。この比例的な増加または減少は、比例的にスケールアウトするため、またはシャードの数にメトリクスデータを使用するために必要です。
次の例では、スケーリングポリシーのターゲット追跡設定について説明します。この設定では、カスタムメトリクスは、 という名前のクラスター内のすべてのシャードの平均 CPU 使用率 50% に基づいて ElastiCache for Redis OSS クラスターを調整しますmy-db-cluster
。
{ "TargetValue": 50, "CustomizedMetricSpecification": { "MetricName": "EngineCPUUtilization", "Namespace": "AWS/ElastiCache", "Dimensions": [ { "Name": "ReplicationGroup","Value": "my-db-cluster" }, { "Name": "Role","Value": "PRIMARY" } ], "Statistic": "Average", "Unit": "Percent" } }
クールダウン期間の使用
ScaleOutCooldown
の値を秒単位で指定して、クラスターをスケールアウトするためのクールダウン期間を追加することができます。同様に、ScaleInCooldown
の値を秒単位で追加して、クラスターをスケールインするためのクールダウン期間を追加することができます。詳細については、アプリケーション Auto Scaling API リファレンスの「TargetTrackingScalingPolicyConfiguration」を参照してください。
次の例では、スケーリングポリシーのターゲット追跡設定について説明します。この設定では、ElastiCachePrimaryEngineCPUUtilization
事前定義されたメトリクスを使用して、そのクラスター内のすべてのプライマリノードの平均 CPU 使用率 40% に基づいて ElastiCache for Redis OSS クラスターを調整します。この構成では、10 分間のスケールインのクールダウン期間と 5 分間のスケールアウトのクールダウン期間が提供されます。
{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }