データベースのトラフィックが予期せず急増した場合、手動でのインスタンスのスケールアップには時間がかかります。また、スケールダウンを忘れると、不要になったリソースに対して料金を支払うことになります。Database Autonomy Service (DAS) を利用した性能自動スケーリングは、両方向のスケーリングを自動的に処理します。CPU 使用率がしきい値を超えるとインスタンスがスケールアップし、負荷が減少するとスケールダウンします。
仕組み
スケーリングの動作は、クラウドディスクインスタンスとプレミアムローカルディスクインスタンスで異なります。
クラウドディスクインスタンス (ESSD および高性能ディスク)
[観測ウィンドウ]の期間中、システムは CPU 使用率を定期的にチェックします。平均 CPU 使用率が [CPU トリガーしきい値] 以上になるたびに、インスタンスは 1 段階スケールアップします。CPU、メモリ、IOPS、最大接続数がすべて同時に増加します。このプロセスは、インスタンスが設定した[最大仕様]に達するまで繰り返されます。
スケールダウンは、次の両方の条件が満たされた場合にトリガーされます:
-
インスタンスが[クールダウン期間]中でないこと。
-
[スケールダウン観測ウィンドウ] (観測ウィンドウ + 10 分) の期間中、CPU 使用率が 99%以上の時間にわたって 30%未満の状態を維持していること。
システムは、スケールアップ前の仕様に段階的にスケールダウンします。
設定変更中に最大 30 秒間の一時的な切断が発生する場合があります。オフピーク時に変更をスケジュールし、アプリケーションに再接続メカニズムが備わっていることを確認してください。
プレミアムローカルディスクインスタンス (汎用)
[スケールアップ観測ウィンドウ]の期間中、CPU 使用率がしきい値以上になると、CPU コア数が 2 倍になります。追加された CPU コア 1 つにつき、IOPS が 1,000 増加します。メモリと最大接続数は増加せず、最初の倍増の後はそれ以上のスケールアップは行われません。
ホストのリソースが不足している場合 (確率 1% 未満)、スケールアップは実行されません。
[スケールダウン観測ウィンドウ]の期間中、CPU 使用率が 99%以上の時間にわたって 30%未満の状態を維持すると、スケールダウンがトリガーされます。CPU と IOPS の両方がスケールアップ前のレベルに戻ります。
プレミアムローカルディスクのスケールアップおよびスケールダウン操作は、インスタンスの切り替えなしに 30 秒以内に完了し、ユーザーが体感できる影響はありません。
前提条件
開始する前に、次のことを確認してください:
-
次のすべてを満たす ApsaraDB RDS for MySQL インスタンス:
-
課金方法:サブスクリプションまたは従量課金 (サーバーレスインスタンスは自動的にスケーリングされるため、設定は不要です)
-
ストレージクラス:クラウドディスク (汎用または専用) またはプレミアムローカルディスク (汎用)
-
製品シリーズ:High-availability Edition
-
インスタンスタイプ:Standard Edition
-
リージョン:DAS 異常検出機能をサポートしている
-
-
スケールアップのコストを賄うのに十分なアカウント残高
クラウドディスクを使用する旧世代のインスタンスタイプのインスタンスでは、性能自動スケーリングはサポートされていません。この機能を使用するには、まず旧世代のインスタンスタイプを現行のインスタンスタイプに変更してください。
制限事項と副作用
読み取り専用インスタンス
プライマリインスタンスの自動スケールアップ設定は、その読み取り専用インスタンスには適用されません。各読み取り専用インスタンスごとに、個別に自動スケールアップを設定してください。
プライマリ/セカンダリ スイッチオーバー後
スケールアップ操作はプライマリインスタンスでのみ実行されます。スケールアップ後にスイッチオーバーが発生した場合:
-
新しいプライマリインスタンス (元のセカンダリインスタンス) は、トリガー条件を満たすと自動的にスケールアップまたはスケールダウンされます。
-
新しいセカンダリインスタンス (元のプライマリインスタンス) は、スケールダウン条件を満たすと自動的に元の仕様にスケールダウンされます。
機能有効化の副作用
-
インスタンスのマイナーバージョンが最新でない場合、最新バージョンにアップグレードされます。
-
自動スケールアップを有効にすると、AliyunServiceRoleForDAS サービスリンクロールが DAS に付与され、DAS が ApsaraDB リソースにアクセスできるようになります。
課金
クラウドディスクインスタンス (汎用および専用)
スケールアップ後は、新しいインスタンスタイプに基づいて課金されます。料金はリージョンと新しい仕様によって異なります。詳細については、購入ページをご参照ください。
プレミアムローカルディスクインスタンス (汎用)
従量課金制で、時間単位で請求されます。
計算式: CPU コアあたりの料金 × 追加CPUコア数 × スケールアップ期間 (時間)
例:中国 (杭州) のインスタンスには 4 CPU コアがあります。スケールアップ後、コア数は 8 コアになります。スケールアップは 30 分間続きます。単価はコア時あたり 0.083 USD です。コア時あたり 0.083 USD0.083 (単価) × 4 (追加されたコア数) × 0.5 (時間) = 0.166 USD
料金 = 0.083 × 4 × 0.5 = USD 0.166
リージョン別の単価 (USD/コア時)
| リージョン | 単価 |
|---|---|
| 中国 (張家口)、中国 (ウランチャブ) | 0.063 |
| 香港 (中国)、韓国 (ソウル) | 0.134 |
| 日本 (東京) | 0.100 |
| マレーシア (クアラルンプール) | 0.102 |
| シンガポール、インドネシア (ジャカルタ) | 0.155 |
| ドイツ (フランクフルト)、英国 (ロンドン) | 0.078 |
| 米国 (バージニア)、米国 (シリコンバレー) | 0.129 |
| UAE (ドバイ) | 0.091 |
| その他のリージョン | 0.083 |
性能自動スケーリングの有効化
クラウドディスクインスタンス
-
[RDS インスタンス] ページに移動します。ページの左上で、インスタンスが配置されているリージョンを選択し、インスタンス ID をクリックします。
-
[構成情報] セクションで、[性能自動スケーリング] の横にある [設定] をクリックします。
-
ダイアログボックスで、次のパラメーターを設定し、[OK] をクリックします。
| パラメーター | 説明 |
|---|---|
| [性能自動スケーリング] | このスイッチをオンにして、機能を有効化します。 |
| [観測ウィンドウ] | システムが CPU 使用率をチェックする期間です。[スケールダウン観測ウィンドウ]は、この値に 10 分を加えたものと等しくなります。たとえば、これを 30 分に設定した場合、スケールダウンの観測ウィンドウは 40 分になります。 |
| [CPU トリガーしきい値] | 自動スケールアップをトリガーする平均 CPU 使用率。CPU 使用率がこの値以上になると、スケールアップがトリガーされます。 |
| [最大仕様] | 自動スケールアップの上限。現在のインスタンス仕様より大きい必要があります。現在の仕様は設定に表示されます。 |
| [クールダウン期間] | 連続する 2 回のスケールアップまたはスケールダウン操作間の最小間隔。DAS はクールダウン期間中も監視を続けますが、スケーリングはトリガーしません。クールダウン期間と観測ウィンドウが同時に終了し、CPU 使用率がしきい値に達した場合、DAS は両方の期間が終了したときにスケーリングをトリガーします。 |
| [自動スケールダウン] | 有効にすると、インスタンスがクールダウン期間を終了し、スケールダウン観測ウィンドウ中に CPU 使用率が 99%以上の時間にわたって 30%未満を維持した場合、システムはインスタンスをスケールアップ前の仕様に段階的にスケールダウンします。 |
自動スケールダウン機能は、新しいアーキテクチャ (kindcode=18) バージョンでのみ安定して実行されることが保証されています。DescribeDBInstanceAttribute API を実行して、インスタンスのアーキテクチャバージョンを確認してください。
プレミアムローカルディスクインスタンス
-
[RDS インスタンス] ページに移動します。ページの左上で、インスタンスが配置されているリージョンを選択し、インスタンス ID をクリックします。
-
ダイアログボックスで、次のパラメーターを設定し、[OK] をクリックします。
| パラメーター | 説明 |
|---|---|
| [性能自動スケーリング] | このスイッチをオンにして、機能を有効化します。 |
| [スケールアップ観測ウィンドウ] | システムが CPU 使用率をチェックしてスケールアップをトリガーするかどうかを判断する期間。 |
| [CPU トリガーしきい値] | 自動スケールアップをトリガーする平均 CPU 使用率。CPU 使用率がこの値以上になると、スケールアップがトリガーされます。 |
| [スケールダウン観測ウィンドウ] | システムが CPU 使用率をチェックしてスケールダウンをトリガーするかどうかを判断する期間。この期間の 99%以上にわたって CPU 使用率が 30%未満を維持した場合、スケールダウンがトリガーされます。 |
よくある質問
インスタンスがシリーズの上限に達した場合はどうすればよいですか?
より高い仕様のシリーズのインスタンスを購入します。次に、DTS を使用して新しいインスタンスにデータを移行します。
スケールアップ中もインスタンスは継続的に監視されますか?
はい。たとえば、[観測ウィンドウ]が 5 分で、スケールアップに 10 分かかる場合、合計経過時間は 15 分です。スケールアップ中、システムはインスタンスを監視しますが、現在のスケールアップが完了するまで次のスケールアップはトリガーしません。スケールアップが完了した後、[観測ウィンドウ]内の CPU 使用率がまだしきい値以上の場合、別のスケールアップがトリガーされます。これは、インスタンスが[最大仕様]に達するまで繰り返されます。
次のステップ
-
自動スケーリングがニーズを満たさない場合は、手動でインスタンスをスケーリングできます: インスタンス仕様の変更。
-
トラフィックのピークが予測可能な時間に発生する場合は、スケジュールに基づくスケーリングを使用して、事前に設定した時間にスケールアウトし、ピークが終了したときに元のインスタンスタイプを自動的に復元します。