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

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

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

ターゲット追跡スケーリングポリシー設定は、メトリクスとターゲット値が定義されている 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 メトリクスの平均値。

EngineCPUUtilizationDatabaseMemoryUsageCountedForEvictPercentage、および 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 }