自動スケーリング

自動スケーリングは、IBM Cloud® Databases for MongoDB デプロイメントの短期的または中期的なリソース使用量の傾向に対応するように設計されています。 使用可能にすると、指定した間隔でデプロイメントが検査されます。 リソースが不足している場合は、リソースがデプロイメントに追加されます。 リソースを監視するために、IBM Cloud® Monitoring統合を使用します。これによって、メモリー、ディスク量、ディスク入出力の使用率に関するメトリックを利用できるようになります。

ディスクまたは RAM あるいはその両方を自動スケーリングするようにデプロイメントを設定できます。

一般的なオートスケーリングパラメータ:

  • 一定期間における使用量に基づくスケーリングのタイミング
  • メンバーあたりのリソースのパーセンテージとしての、スケーリングする量
  • 秒、分、時間のいずれかで測定されるスケーリング頻度
  • スケーリングのハード制限。その制限でデプロイメントはスケーリングを停止します。

メモリ - メモリの自動スケーリングは、ディスクI/O利用率に基づいて行われ、読み取り/書き込みの負荷が増加するにつれて、ディスク・キャッシングにより多くのメモリを提供します。 追加メモリーによってより多くのキャッシングをサポートし、ディスク入出力における負荷を軽減できることが利点です。 メモリー使用量に基づく自動スケーリング構成は、現在使用できません。

ディスク - ディスクの自動スケールリングによってスケーリングできるのは、ディスク使用量が特定のしきい値に達した場合、またはディスク入出力の使用状況が特定のしきい値に達した場合、あるいはその両方が生じた場合です。 (UI で「or」は、inclusive or|v として機能します) デプロイメントで使用可能な IOPS の量は、ディスク・サイズに応じて GB ごとに 10 IOPS の比率で増加します。

CPUとRAMの自動スケーリングは、Isolated Computeではサポートされていません。 ディスクの自動スケーリングが可能。 隔離されたインスタンスをプロビジョニングした場合、または自動スケーリング付きのデプロイメントから切り替えた場合は、IBM Cloud® Monitoring統合 を使用してリソースを監視してください。 インスタンスにリソースを追加するには、デプロイメントを手動でスケールします。

リソースの数値は、デプロイメント内のデータベース・ノード 1 台あたりの数値です。 例えば、データ・メンバーが 3 台存在する MongoDB デプロイメントを、ディスク 10 GB と RAM 1 GB を指定してスケーリングした場合は、各メンバーがディスク 10 GB と RAM 1 GB を取得することになります。 このデプロイメントに追加されるリソースの合計は、ディスク 30 GB と RAM 3 GB になります。

自動スケーリングに関する考慮事項

  • デプロイメントをスケール・アップすると、データベースが再始動する場合があります。 より容量の大きいホストにデプロイメントを移行する必要がある場合は、移行の一環としてデータベースが再始動されます。

  • ディスクをスケール・ダウンすることはできません。

  • いくつかのスケーリング操作は他の操作と比べて、実行時間が長くなることがあります。 基礎的なハードウェア・リソースをさらにプロビジョニングするために、RAM またはディスクを大幅に増やすと、少しだけ増やす場合に比べて時間が長くかかる可能性があります。

  • 自動スケーリング操作は、IBM Cloud® Activity Tracker Event Routing でログに記録されます。

  • 制限:

    • いずれの場合であっても、60 秒未満の間隔でスケーリングするように設定することはできません。
    • 1会員あたりの最大ディスク容量は4TB。
    • 各メンバーの最大RAMは112GB。
  • 自動スケーリングで、ディスクやメモリーの使用率が減少しているデプロイメントをスケール・ダウンすることはできません。 デプロイメントにプロビジョンされた RAM は、将来の必要に備えて、手動でデプロイメントをスケールダウンしない限り保持されます。 デプロイメントにプロビジョンされたディスクは、ディスクをスケールダウンすることはできないのでそのまま保持されます。

  • デプロイメントにリソースを追加する必要がまれにしかない、またはほとんどない場合は、デプロイメントを手動でスケーリングできます。

UI における自動スケーリングの構成

「自動スケーリング」パネルは、デプロイメントの_「管理」ページの「リソース」_タブにあります。 スケーリングを有効にするには、パラメーターを入力します。 次に、ボックスにチェック・マークを付けて、使用しているパラメーターを有効にします。 忘れずに、保存する構成について**「変更を保存」**をクリックし、変更内容を有効にします。

自動スケーリングを無効にするには、使用しなくなったパラメーターのボックスのチェック・マークを外します。 すべてのボックスのチェック・マークを外すと、自動スケーリングは無効になります。 **「変更を保存」**をクリックして、構成を保存します。

CPUとRAMの自動スケーリングは、Isolated Computeではサポートされていません。 ディスクの自動スケーリングが可能。 隔離されたインスタンスをプロビジョニングした場合、または自動スケーリング付きのデプロイメントから切り替えた場合は、IBM Cloud® Monitoring統合 を使用してリソースを監視してください。 インスタンスにリソースを追加するには、デプロイメントを手動でスケールします。

CLI における自動スケーリングの構成

cdb deployment-autoscaling コマンドを使用すると、CLI でデプロイメントの自動スケーリングのパラメーターを取得できます。

ibmcloud cdb deployment-autoscaling <INSTANCE_NAME_OR_CRN> member

CLI を使用して自動スケーリングのパラメーターを有効にして設定するには、cdb deployment-autoscaling-set コマンドで JSON オブジェクトまたはファイルを使用します。

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 における自動スケーリングの構成

GET 要求を /deployments/{id}/groups/{group_id}/autoscaling エンドポイントに送信して、API によってデプロイメントの自動スケーリングのパラメーターを取得できます。 自動スケーリングは、目的の scalers (io_utilization または capacity) を true に設定することで有効化されます。

curl -X GET -H "Authorization: Bearer $APIKEY" 'https://api.{region}.databases.cloud.ibm.com/v4/ibm/deployments/{id}/groups/member/autoscaling'

API を使用してデプロイメントの自動スケーリングのパラメーターを有効にして設定するには、エンドポイントに POST 要求を送信します。 自動スケーリングを有効にするには、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,
                "scale_period_seconds": 30,
                "scale_maximum_mb": 125952,
                "units": "mb"
            }
        }
    }
}'

自動スケーリングを無効にするには、現在有効になっているスケーリング機能を false に設定して PATCH 要求を送信します。 すべてを false に設定すると、デプロイメントで自動スケーリングが無効になります。

CPUとRAMの自動スケーリングは、Isolated Computeではサポートされていません。 ディスクの自動スケーリングが可能。 隔離されたインスタンスをプロビジョニングした場合、または自動スケーリング付きのデプロイメントから切り替えた場合は、IBM Cloud® Monitoring統合 を使用してリソースを監視してください。 インスタンスにリソースを追加するには、デプロイメントを手動でスケールします。