Auto Scaling ポリシー
スケーリングポリシーには、次のコンポーネントがあります。
-
ターゲットメトリクス – Valkey と Redis OSS に対応した ElastiCache Auto Scaling で、スケールするタイミングと量を判断するために使用される CloudWatch のメトリクス。
-
最小容量と最大容量 – スケーリングに使用されるシャードまたはレプリカの最小数および最大数。
重要
Auto Scaling ポリシーの作成中に、現在の容量が設定された最大容量よりも大きい場合、ポリシーの作成時に maxCapacity にスケールインします。同様に、現在の容量が設定された最少容量よりも小さい場合は、最小容量にスケールアウトします。
-
クールダウン期間 – スケールインまたはスケールアウトアクティビティが完了してから別のスケールアウトアクティビティが開始されるまでの時間 (秒)。
-
サービスにリンクされたロール — AWS Identity and Access Management (IAM) ロールは、特定の AWS サービスにリンクされています。サービスにリンクされたロールは、ユーザーに代わってサービスから AWS の他のサービスを呼び出すために必要なすべてのアクセス許可を備えています。ElastiCache の Auto Scaling は、ユーザーに代わって、この
AWSServiceRoleForApplicationAutoScaling_ElastiCacheRGというロールを自動的に生成します。 -
スケールインアクティビティの有効化または無効化 - ポリシーに対してスケールインアクティビティを有効化または無効化できます。
Auto Scaling のターゲットメトリックス
このタイプのポリシーでは、ターゲット追跡スケーリングポリシー設定で、事前定義されたメトリクスまたはカスタムメトリクスとそのメトリクスのターゲット値を指定します。Valkey と Redis OSS に対応した ElastiCache Auto Scaling は、スケーリングポリシーをトリガーする CloudWatch アラームを作成および管理し、メトリクスとターゲット値に基づいてスケーリング調整を計算します。スケーリングポリシーは、指定されたターゲット値、またはそれに近い値にメトリクスを維持するため、必要に応じてシャード/レプリカを追加または削除します。メトリクスをターゲット値に近い値に維持することに加えて、ターゲット追跡スケーリングポリシーは、変化するワークロードによるメトリクスの変動に適応します。そのようなポリシーは、クラスターに使用可能なシャード/レプリカ数の急速な変動の最小化もします。
たとえば、事前定義された平均 ElastiCachePrimaryEngineCPUUtilization メトリクスを使用するスケーリングポリシーを考慮してください。そのようなポリシーは、70 パーセントなどの指定された使用率に、またはそれに近い割合に CPU 使用率を維持できます。
注記
各クラスターについては、各ターゲットメトリクスに対して 1 つの Auto Scaling ポリシーのみを作成できます。
最小容量と最大容量
シャード
Valkey と Redis OSS に対応した ElastiCache の自動スケーリングでスケールできるシャードの最大数を指定できます。この値は、250 以下で、最小 1 である必要があります。自動スケーリングで管理するシャードの最小数も指定できます。この値は 1 以上で、最大シャードで指定された値である 250 以下である必要があります。
レプリカ
Valkey と Redis OSS に対応した ElastiCache の自動スケーリングで管理されるレプリカの最大数を指定できます。この値は、1 以下にする必要があります。自動スケーリングが管理するレプリカの最小数も指定できます。この値は 1 以上で、最大レプリカで指定された値である 5 以下である必要があります。
通常のトラフィックに必要なシャード/レプリカの最小数と最大数を決定するには、モデルに対するトラフィックの予想レートで Auto Scaling の設定をテストします。
注記
ElastiCache の自動スケーリングポリシーは、定義した最大サイズに達するまで、またはサービス制限が適用されるまで、クラスター容量を増加させます。この制限の拡大をリクエストするには、「AWS のサービスの制限」を参照し、制限タイプとして [Nodes per cluster per instance type (インスタンスタイプごとのクラスターあたりのノード)] を選択します。
重要
トラフィックがないときにスケールインする バリアントのトラフィックがゼロになった場合、ElastiCache は、指定されたインスタンスの最小数に自動的にスケールインします。
クールダウン期間
クラスターのスケールインやスケールアウトに影響するクールダウン期間を追加することで、ターゲット追跡スケーリングポリシーの応答性を調整できます。クールダウン期間を設定すると、その期間が過ぎるまでその後のスケールインやスケールアウトのリクエストがブロックされます。これにより、スケールインリクエストのための Valkey と Redis OSS に対応した ElastiCache クラスターにおけるシャード/レプリカの削除、およびスケールアウトリクエストのためのシャード/レプリカの作成が遅れます。以下のクールダウン期間を指定できます。
-
スケールインアクティビティは、クラスターのシャード/レプリカ数を減らします。スケールインのクールダウン期間は、スケールインアクティビティが完了してから別のスケールインアクティビティが開始されるまでの時間 (秒) を指定します。
-
スケールアウトアクティビティは、クラスターのシャード/レプリカ数を増やします。スケールアウトのクールダウン期間は、スケールアウトアクティビティが完了してから別のスケールアウトアクティビティが開始されるまでの時間 (秒) を指定します。
スケールインやスケールアウトのクールダウン期間が指定されない場合、スケールアウトのデフォルトは 600 秒で、スケールインのデフォルトは 900 秒です。
スケールインアクティビティの有効化または無効化
ポリシーに対してスケールインアクティビティを有効化または無効化できます。スケールインアクティビティを有効にすると、スケーリングポリシーはシャード/レプリカを削除できます。スケールインアクティビティが有効な場合、スケーリングポリシーのスケールインのクールダウン期間がスケールインアクティビティに適用されます。スケールインアクティビティを無効にすると、スケーリングポリシーはシャード/レプリカを削除できなくなります。
注記
必要に応じてスケーリングポリシーで ElastiCache のシャード/レプリカを作成できるように、スケールアウトアクティビティを常に有効にしておきます。