自動スケーリング
自動スケーリングは、 IBM Cloud® Databases for Redis デプロイメント上のリソース使用量の短期間から中期間のトレンドに対応するように設計されています。 使用可能にすると、指定した間隔でデプロイメントが検査されます。 リソースが不足している場合は、リソースがデプロイメントに追加されます。 リソースを監視するには、IBM Cloud® Monitoringの統合を使用します。これを使用すると、メモリー、ディスク・スペース、ディスク I/O の使用量のメトリックが提供されます。
ディスクまたは RAM あるいはその両方を自動スケーリングするようにデプロイメントを設定できます。
一般的なオートスケーリングパラメータ:
- 一定期間における使用量に基づくスケーリングのタイミング
- メンバーあたりのリソースのパーセンテージとしての、スケーリングする量
- 秒、分、時間のいずれかで測定されるスケーリング頻度
- スケーリングのハード制限。その制限でデプロイメントはスケーリングを停止します。

メモリー - メモリーの自動スケーリングはディスク I/O 使用率に基づきます。読み取り/書き込みの負荷の増加に応じてディスク・キャッシュ用のメモリーを増やすためです。 追加メモリーによってより多くのキャッシングをサポートし、ディスク入出力における負荷を軽減できることが利点です。
Redis をキャッシュとして構成している場合、デプロイメントで自動スケーリングをトリガーするために使用できるパラメーターは現在ありません。 メモリー使用量に基づく自動スケーリング構成は、現在使用できません。
ディスク - ディスクの自動スケールリングによってスケーリングできるのは、ディスク使用量が特定のしきい値に達した場合、またはディスク入出力の使用状況が特定のしきい値に達した場合、あるいはその両方が生じた場合です。 (UI で「or」は、inclusive or
、|
、v
として機能します) デプロイメントで使用可能な IOPS の量は、ディスク・サイズに応じて GB ごとに 10 IOPS の比率で増加します。
CPUとRAMの自動スケーリングは、Isolated Computeではサポートされていません。 ディスクの自動スケーリングが可能。 隔離されたインスタンスをプロビジョニングした場合、または自動スケーリング付きのデプロイメントから切り替えた場合は、IBM Cloud® Monitoring統合 を使用してリソースを監視してください。 インスタンスにリソースを追加するには、デプロイメントを手動でスケールします。
リソースの数値は、デプロイメント内のデータベース・ノード 1 台あたりの数値です。 例えば、 Redis デプロイメント内に 2 つのデータ・メンバーがあり、このデプロイメントのスケールがディスク 10 GB、RAM 1 GB に設定されている場合は、それぞれのメンバーに 10 GB のディスクと 1 GB の RAM が与えられていることになります。 このデプロイメントに追加されたリソースの合計は、ディスク 20 GB および RAM 2 GB になります。
自動スケーリングに関する考慮事項
-
デプロイメントをスケール・アップすると、データベースが再始動する場合があります。 より容量の大きいホストにデプロイメントを移行する必要がある場合は、移行の一環としてデータベースが再始動されます。
-
ディスクをスケール・ダウンすることはできません。
-
いくつかのスケーリング操作は他の操作と比べて、実行時間が長くなることがあります。 基礎的なハードウェア・リソースをさらにプロビジョニングするために、RAM またはディスクを大幅に増やすと、少しだけ増やす場合に比べて時間が長くかかる可能性があります。
-
自動スケーリング操作は、IBM Cloud® Activity Tracker Event Routing でログに記録されます。
-
制限:
- いずれの場合であっても、60 秒未満の間隔でスケーリングするように設定することはできません。
- 1会員あたりの最大ディスク容量は4TB。
- 各メンバーの最大RAMは112GB。
-
自動スケーリングで、ディスクやメモリーの使用率が減少しているデプロイメントをスケール・ダウンすることはできません。 デプロイメントにプロビジョンされた RAM は、将来の必要に備えて、手動でデプロイメントをスケールダウンしない限り保持されます。 デプロイメントにプロビジョンされたディスクは、ディスクをスケールダウンすることはできないのでそのまま保持されます。
-
デプロイメントにリソースを追加する必要が生じることがそれほど多くないか稀な場合は、デプロイメントを手動でスケーリングできます。
CLI における自動スケーリングの構成
cdb deployment-autoscaling
コマンドを使用して、CLIからデプロイのオートスケーリングパラメータを取得します。
ibmcloud cdb deployment-autoscaling <INSTANCE_NAME_OR_CRN> member
cdb deployment-autoscaling-set
コマンドでJSONオブジェクトまたはファイルを使用して、CLIからオートスケーリング・パラメーターを有効化および設定する。
ibmcloud cdb deployment-autoscaling-set <INSTANCE_NAME_OR_CRN> member '{"autoscaling": { "memory": {"scalers": {"io_utilization": {"enabled": true, "over_period": "5m","above_percent": 90}},"rate": {"increase_percent": 10.0, "period_seconds": 300,"limit_mb_per_member": 125952,"units": "mb"}}}}'
CPUとRAMの自動スケーリングは、Isolated Computeではサポートされていません。 ディスクの自動スケーリングが可能。 隔離されたインスタンスをプロビジョニングした場合、または自動スケーリング付きのデプロイメントから切り替えた場合は、IBM Cloud® Monitoring統合 を使用してリソースを監視してください。 インスタンスにリソースを追加するには、デプロイメントを手動でスケールします。
API における自動スケーリングの構成
/deployments/{id}/groups/{group_id}/autoscaling
エンドポイントに'GET
リクエストを送信して、APIを通じてデプロイのオートスケーリングパラメータを取得します。
curl -X GET https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/groups/{group_id}/autoscaling
-H 'Authorization: Bearer <>' \
エンドポイントに'POST
リクエストを送信して、APIを通じてデプロイのオートスケーリングパラメータを有効にし、設定します。 自動スケーリングを有効にするには、scalers
(io_utilization
または capacity
) を true
に設定します。
curl -X PATCH https://api.{region}.databases.cloud.ibm.com/v4/ibm/deployments/{id}/groups/member/autoscaling -H 'Authorization: Bearer <>'
-H 'Content-Type: application/json'
-d '{"autoscaling": {
"memory": {
"scalers": {
"io_utilization": {
"enabled": true,
"over_period": "5m",
"above_percent": 90}
},
"limits": {
"scale_increase_percent": 10.0,
"scale_period_seconds": 30,
"scale_maximum_mb": 125952,
"units": "mb"
}
}
}'
現在有効になっているスケーラーを'false
に設定して'PATCH
リクエストを送信することで、オートスケーリングを無効にする。 すべてを false
に設定すると、デプロイメントで自動スケーリングが無効になります。
CPUとRAMの自動スケーリングは、Isolated Computeではサポートされていません。 ディスクの自動スケーリングが可能。 隔離されたインスタンスをプロビジョニングした場合、または自動スケーリング付きのデプロイメントから切り替えた場合は、IBM Cloud® Monitoring統合 を使用してリソースを監視してください。 インスタンスにリソースを追加するには、デプロイメントを手動でスケールします。