ビジネスが拡大し、データ量が増加し、新しいサービスや機能がリリースされると、データベースへのアクセス要求が増加し、コンピューティングリソースが不足します。 これらの問題を解決するには、CPUコアとメモリ容量を増やしてデータベースインスタンスをスケールアップします。 Database Autonomy Service (DAS) は、データベースインスタンスをスケールアップしてピーク時のトラフィックを処理できる自動パフォーマンススケーリング機能を提供します。 トラフィックが減少すると、DASはデータベースインスタンスを自動的にスケールダウンしてリソースの浪費を防ぎます。
前提条件
管理するデータベースインスタンスは、次の表に示すタイプのいずれかです。
データベースインスタンス
リージョン
汎用および専用のApsaraDB RDS for MySQL標準SSDまたはEnterprise SSD (ESSD) を使用するHigh-availability Editionインスタンス、ローカルディスクを使用する汎用ApsaraDB RDS for MySQL High-availability Editionインスタンス、および汎用ApsaraDB RDS for MySQL Enterprise Editionインスタンス
PolarDB for MySQLクラスターエディションクラスター
自動パフォーマンススケーリング機能は、異常検出機能に依存します。 自動パフォーマンススケーリング機能は、異常検出機能をサポートするリージョンのデータベースインスタンスに対してのみ有効にできます。 異常検出機能は、次のリージョンでサポートされています。
中国 (杭州) 、中国 (上海) 、中国 (深セン) 、中国 (河源) 、中国 (広州) 、中国 (青島) 、中国 (北京) 、中国 (張家口) 、中国 (フフホト) 、中国 (ウラン州) 、中国 (南京-地方地域) 、中国 (福州-地方地域) 、中国 (成都) 、中国 (鄭州-地方地域) 、中国 (香港) 、日本 (東京) 、韓国 (ソウル) 、シンガポール (クアラルンプール) 、インドネシア (ジャカルタ) 、フィリピン (マニラ) 、タイ (バンコク) 、オーストラリア (シドニー) クロージングダウン、アラブ首長国連邦 (ドバイ) 、SAU (リヤド-パートナー地域) 、ドイツ (フランクフルト) 、米国 (シリコンバレー) 、米国 (バージニア) 、および英国 (ロンドン)
説明DASは、以前は費用対効果の高いApsaraDB RDS for MySQLインスタンスとして知られていたYiTian ApsaraDB RDS for MySQLインスタンスの自動パフォーマンススケーリング機能をサポートしていません。
インスタンスタイプが廃止されているApsaraDB RDS for MySQLインスタンスでは、自動パフォーマンススケーリング機能はサポートされていません。 ApsaraDB RDS for MySQLインスタンスのインスタンスタイプが廃止された場合、インスタンスの自動パフォーマンススケーリング機能を有効にする前に、インスタンスのインスタンスタイプを変更する必要があります。 ApsaraDB RDS For MySQLインスタンスのインスタンスタイプを変更する方法の詳細については、「インスタンス仕様の変更」をご参照ください。
Alibaba Cloudアカウントの残高は、データベースインスタンスのスケールアップに必要なリソースの支払いに十分です。
DASに対してサービスにリンクされたロールが作成されます。 詳細については、「AliyunServiceRoleForDAS role」をご参照ください。
説明DASのサービスにリンクされたロールが作成されていない場合、システムは自動パフォーマンススケーリングが開始される前にロールを自動的に作成します。
自動パフォーマンススケーリングのプロセス
自動スケールアップ
インスタンスの自動スケールアップ機能を有効にすると、DASは、観察ウィンドウ内のデータベースインスタンスの平均CPU使用率に基づいて、データベースインスタンスを自動的にスケールアップします。
データベースインスタンスのスケールアップ後、フェールオーバー、ホストリソースの深刻な不足、既存の制御プロセスとの競合によるリソースの再割り当てなど、極端なシナリオが発生する可能性があります。 自動スケーリング機能を使用して、コアインスタンスの短期的なピークCPU使用率を評価し、長期的なピークCPU使用率に基づいてコアインスタンスの仕様をアップグレードすることを推奨します。
標準SSDまたはESSD、またはPolarDB For MySQL Cluster Editionクラスターを使用するApsaraDB RDS for MySQL High-availability Editionインスタンスの場合:
DASは、指定された範囲内の仕様を自動的に選択し、インスタンスの現在のワークロードに基づいてデータベースインスタンスをスケールアップします。 データベースインスタンスのスケールアップ後、DASはデータベースインスタンスのCPU使用率を監視します。 CPU使用率が指定されたしきい値を再度超えると、DASはデータベースインスタンスを再度スケールアップします。 このプロセスは、データベースインスタンスが指定した最大仕様にスケールアップされるまで繰り返されます。
ローカルディスクを使用する汎用ApsaraDB RDS For MySQL High-availability Editionインスタンスまたは汎用ApsaraDB RDS for MySQL Enterprise Editionインスタンスの場合:
DASは、CPUコアの数を元の数の2倍に増やします。 例えば、元のCPUコア数が4であれば、スケールアップ後のCPUコア数は8となる。 インスタンスのIOPSも増加します。 IOPSは、追加されたCPUコアごとに1,000増加します。 ホスト上のCPUリソースが不足している場合、スケールアップはトリガーされません。
説明DASは、CPUコアの数を元の数の2倍にのみ増やします。 その後、DASはCPUコアの数をさらに増やすことはできません。 たとえば、CPUコアの数を8に増やした後、DASはそれ以上16に増やすことができません。
自動スケールダウン
自動スケールダウン機能が有効化された後に自動スケールアップが実行されると、システムは自動的にインスタンス仕様を元の仕様に少しずつロールバックします。 これは、特定の要件が満たされる場合に適用されます。 ただし、自動スケールダウン機能が有効化される前に自動スケールアップが実行された場合、システムは、自動スケールダウン機能が有効化された後でも、インスタンス仕様を元の仕様にロールバックしません。
標準SSDまたはESSD、またはPolarDB For MySQL Cluster Editionクラスターを使用するApsaraDB RDS for MySQL High-availability Editionインスタンスの場合:
データベースインスタンスの自動スケールダウン/スケールイン機能を有効にした後、データベースインスタンスのCPU使用率が30% よりも低く、スケールダウン観察ウィンドウの99% よりも長い場合、静止期間が経過した後に自動スケールダウンがトリガーされます。 データベースインスタンスは、小さなデクリメントで元の仕様にスケールダウンされます。
重要スケールダウン観察ウィンドウの持続時間は、観察ウィンドウ
の持続時間 + 10分
に等しい。 たとえば、 監視期間の時間を30分に設定した場合、スケールダウン観察ウィンドウの時間は40分になります。標準SSDまたはESSDを使用するApsaraDB RDS For MySQL High-availability Editionインスタンスの場合、自動スケールダウン機能はkindCodeパラメーターが18に設定されているインスタンスでのみサポートされます。 APIを呼び出して、kindCodeパラメーターの値を照会できます。 詳細については、「DescribeDBInstanceAttribute」をご参照ください。
ローカルディスクを使用する汎用ApsaraDB RDS For MySQL High-availability Editionインスタンスまたは汎用ApsaraDB RDS for MySQL Enterprise Editionインスタンスの場合:
データベースインスタンスのCPU使用率がスケールダウン監視ウィンドウの99% よりも長い間30% より低い場合、DASはデータベースインスタンスのCPUコア数とIOPSを元の仕様に戻します。
データベースインスタンスの自動パフォーマンススケーリング機能を有効にすると、DASは最新のパラメーター設定に基づいてデータベースインスタンスを監視します。 データベースインスタンスが自動スケーリングの条件を満たすと、DASはデータベースインスタンスをスケールアップまたはスケールダウンします。
自動パフォーマンススケーリング機能の詳細については、「Auto scaling」をご参照ください。
課金
ApsaraDB RDS For MySQLインスタンスの場合:
ローカルディスクまたは汎用Enterprise Editionインスタンスを使用する汎用High-availability Editionインスタンス: 従量課金に基づいて課金され、料金は1時間に1回差し引かれます。
価格の計算式 :( CPUコアあたりの料金 × 追加されたCPUコアの数) × 分単位のスケールアップ期間
USD 0.083 (the unit price per CPU core-hour) × 4 (the number of CPU cores that are added) × 0.5 (the scaling duration measured in hours) = USD 0.166
. The unit price in the China (Hangzhou) region isUSD 0.083 per CPU core-hour.
標準SSDまたはESSDを使用する高可用性エディションインスタンス: スケールアップ後にアップグレードされたインスタンスの仕様に基づいて課金されます。 スケールアップの料金は、リージョンやアップグレードされたインスタンスの仕様など、インスタンスの構成によって異なります。 詳細については、「ApsaraDB RDS 購入ページ」をご参照ください。
PolarDB For MySQLクラスターの場合:
課金ルールの詳細については、「設定変更料金」をご参照ください。
例:
データベースインスタンスの自動パフォーマンススケーリング機能を有効にすると、DASはピーク時にデータベースインスタンスを自動的にスケールアップします。 これにより、読み取り /書き込みスループットが2倍になり、CPU使用率が90% 以上から25% に低下します。 データベースインスタンスは、約10時間の高負荷で実行できます。 トラフィックが減少し、CPU使用率が25% 未満に低下した後、DASはデータベースインスタンスを元の仕様にスケールバックします。
このようにして、DASはピーク時のトラフィックの急増を処理するためにデータベースインスタンスを管理し、ビジネスの安定性を確保します。
影響
標準SSDまたはESSDを使用するApsaraDB RDS For MySQL High-availability Editionインスタンス、またはPolarDB for MySQL Cluster Editionクラスターの場合、データベースインスタンスのスケールアップまたはスケールダウン時に、約30秒の一時的な接続が発生する場合があります。 この場合、アプリケーションがデータベースインスタンスに自動的に再接続するように構成されていることを確認してください。
PolarDB For MySQL Cluster Editionクラスターの場合、DASはクラスター内の単一ノードの仕様ではなく、クラスター全体の仕様のみをアップグレードまたはダウングレードします。
データベースインスタンスのデータベースエンジンが最新のマイナーバージョンでない場合、DASはデータベースインスタンスをスケールアップするときに最新のマイナーバージョンのデータベースエンジンを実行するようにデータベースインスタンスを更新します。 これにより、データベースインスタンスのパフォーマンスと安定性が保証されます。
スケーリング操作は、プライマリインスタンスに対してのみ実行されます。 プライマリインスタンスのスケーリング後にプライマリ /セカンダリスイッチオーバーがトリガーされた場合、次のいずれかの場合が発生します。
プライマリインスタンス (元のセカンダリインスタンス) がスケールアップまたはスケールダウンの指定されたトリガー条件を満たす場合、DASはプライマリインスタンス (元のセカンダリインスタンス) に対してスケーリング操作を実行します。
セカンダリインスタンス (元のプライマリインスタンス) がスケールダウンのために指定されたトリガー条件を満たす場合、DASはセカンダリインスタンス (元のプライマリインスタンス) を元の仕様にスケールバックします。
手順
DASコンソールにログインします。
左側のナビゲーションウィンドウで、インスタンスモニターをクリックします。
表示されるページで、管理するデータベースインスタンスを見つけ、インスタンスIDをクリックします。 インスタンス詳細ページが表示されます。
左側のナビゲーションウィンドウで、自律型センターをクリックします。
右上隅に自律型センターページで、Autonomy Service Settingsをクリックします。
のタブ Autonomous Function Managementパネルで、自治サービスを有効にします。
最適化とスロットリングタブでパラメーターを設定します。
標準SSDまたはESSDを使用するApsaraDB RDS for MySQLインスタンスまたはApsaraDB RDS for MySQL High-availability EditionインスタンスのAutomatic Performance Scalingを選択します。 ローカルディスクを使用する汎用ApsaraDB RDS for MySQL High-availability Editionインスタンスまたは汎用ApsaraDB RDS for MySQL Enterprise Editionインスタンスの場合、自動リソース弾力性 を選択します。 次に、次の表に示すパラメーターを設定します。
インスタンスタイプ
パラメーター
説明
汎用タイプ
CPU使用率 ≥
自動スケールアップのトリガーに基づくしきい値。 平均CPU使用率が指定された値以上の場合、自動スケールアップがトリガーされます。
標準SSDまたはESSDを使用する高可用性エディションインスタンス
監視期間
データベースインスタンスのパフォーマンスが観測される時間範囲。 DASは、特定の間隔で、観測期間中にデータベースインスタンスの平均CPU使用率をチェックします。 CPU使用率が指定されたしきい値に達すると、自動スケールアップがトリガーされます。
重要スケールダウン観察ウィンドウの持続時間は、観察ウィンドウ
の持続時間 + 10分
に等しい。 たとえば、 監視期間の時間を30分に設定した場合、スケールダウン観察ウィンドウの時間は40分になります。最大仕様
データベースインスタンスをスケールアップできる最大仕様。 データベースインスタンスのCPU使用率が指定されたしきい値に達すると、DASはデータベースインスタンスをスケールアップします。 次の 監視期間中にデータベースインスタンスのCPU使用率が指定されたしきい値に再度達した場合、DASはデータベースインスタンスを再度スケールアップします。 このプロセスは、データベースインスタンスが指定した最大仕様にスケールアップされるまで繰り返されます。
重要RDSインスタンスが1 CPUコアと2 GBのメモリを提供するインスタンスタイプを使用し、自動スケールアップがトリガーされた場合、RDSインスタンスの仕様は4 CPUコアと8 GBのメモリにアップグレードされます。 この場合、最大仕様を少なくとも4 CPUコアと8 GBのメモリに設定する必要があります。 そうでない場合、自動スケールアップは失敗します。
自動スケールダウン/スケールイン
自動スケールダウン/スケールイン を選択した後、データベースインスタンスのCPU使用率が30% 未満で、スケールダウン観察ウィンドウの99% よりも長い場合、静止期間が経過した後に自動スケールダウンがトリガーされます。 データベースインスタンスの仕様は、小さなデクリメントで元の仕様にスケールダウンされます。 スケールダウン観察ウィンドウの持続時間は、観察ウィンドウ
の持続時間 + 10分
に等しい。静止期間
2つの連続した自動スケールイン操作または2つのスケールアウト操作の最小間隔。 休止期間中、DASはインスタンスのCPU使用率を監視しますが、指定された条件が満たされても自動スケールアップまたはスケールダウンをトリガーしません。 静止期間と観察ウィンドウが同時に終了し、観察ウィンドウ内の平均CPU使用率が指定されたしきい値に達すると、DASは自動的にスケールアップまたはスケールダウンをトリガーします。
ローカルディスクを使用する汎用ApsaraDB RDS for MySQL High-availability Editionインスタンスと汎用ApsaraDB RDS for MySQL Enterprise Editionインスタンス
スケールアップ観察ウィンドウ
スケールアップのためのCPU使用率観察ウィンドウ。 DASは、特定の間隔で、観測期間中にデータベースインスタンスの平均CPU使用率をチェックします。 平均CPU使用率が指定されたしきい値に達すると、自動スケールアップがトリガーされます。
スケールバック観察ウィンドウ
スケールダウン用のCPU使用率観察ウィンドウ。 DASは、特定の間隔で監視ウィンドウ内のデータベースインスタンスのCPU使用率をチェックします。 CPU使用率がスケールダウン観察ウィンドウの99% より長い間30% より低い場合、自動スケールダウンがトリガーされます。
PolarDB For MySQLクラスターの場合、[自動スケールアップ /アウト] および [自動スケールダウン /イン] を選択し、次の表に示すパラメーターを設定します。
重要[自動スケールアップ /アウト] を選択した後、観測ウィンドウ内でクラスターのCPU使用率が指定したしきい値以上の場合、DASは観測ウィンドウの終了後にクラスターのワークロードに基づいてPolarDBクラスターを自動的にスケールアップします。 例えば、指定された閾値は70% であり、観察ウィンドウの指定された持続時間は5分であり、自動スケーリング動作を完了するのに必要な指定された時間量は10分である。 クラスタ内の単一ノードのCPU使用率が監視ウィンドウ内の70% を超えると、DASは自動的にクラスタをスケールアップします。 DASは、リアルタイムの読み書きトラフィックに基づいて、クラスターを自動的にスケールアウトまたはスケールアップします。 既定では、読み取りトラフィックが書き込みトラフィックを超えると、DASは自動的に読み取り専用ノードをクラスターに追加します。 書き込みトラフィックが読み取りトラフィックを超える場合、DASはクラスターの仕様を自動的にアップグレードします。 クラスターのプライマリノードのワークロードが高い場合、DASはクラスターの仕様を自動的にアップグレードします。
[自動スケールダウン /イン] を選択した後、クラスターのCPU使用率がスケールダウン観察ウィンドウの99% より長い間30% より低い場合、静止期間が終了した後に自動スケールダウンがトリガーされます。 クラスタの仕様は、小さなデクリメントで元の仕様にスケールダウンされます。 スケールダウン観察ウィンドウの持続時間は、観察ウィンドウ
の持続時間 + 10分
に等しい。クラスターのスケールアップ中に追加されたの読み取り専用ノードは、クラスターのスケールダウン中に1つずつ削除されます。 スケールアップ中にアップグレードされたクラスターは、スケールダウン中にダウングレードされます。 PolarDB For MySQL Cluster Editionクラスターの場合、DASはクラスター内の単一ノードの仕様ではなく、クラスター全体の仕様のみをアップグレードまたはダウングレードします。
パラメーター
説明
平均CPU使用率 ≥
自動スケールアップのトリガーに基づくしきい値。 平均CPU使用率が指定された値以上の場合、自動スケールアップがトリガーされます。
最大仕様
クラスターをスケールアップできる最大仕様。 自動スケールアップがトリガーされると、システムはPolarDB for MySQLクラスターを最大仕様まで少しずつスケールアップします。 たとえば、CPU仕様を4コアから8コアにアップグレードし、上限に達するまで16コアにアップグレードできます。
読み取り専用ノードの最大数
クラスターに含めることができる読み取り専用ノードの最大数。 自動スケールアップがトリガーされた後、上限に達するまで、ビジネス要件に基づいて1つまたは2つの読み取り専用ノードがPolarDB for MySQLクラスターに自動的に追加されます。
説明自動的に追加されるノードは、クラスターのデフォルトのエンドポイントに関連付けられます。 カスタムエンドポイントを使用する場合は、新しいノードを自動的に関連付ける パラメーターを設定して、これらのノードをエンドポイントに自動的に関連付けるかどうかを指定する必要があります。 新しいノードを自動的に関連付ける パラメーターの設定方法の詳細については、「PolarProxyの設定」をご参照ください。
観察ウィンドウ
観測ウィンドウ内でCPUの平均使用率が指定されたしきい値に達した場合、DASは観測ウィンドウの終了後にクラスターを自動的にスケールアップします。 これにより、クラスターはすべての読み取りおよび書き込み要求を処理できます。 たとえば、監視ウィンドウの指定時間が5分で、自動スケーリング操作を完了するのに必要な指定時間が10分の場合、スケーリング結果を確認するには15分待つ必要があります。
重要スケールダウン観察ウィンドウの持続時間は、観察ウィンドウ
の持続時間 + 10分
に等しい。 たとえば、観察ウィンドウの時間を30分に設定した場合、スケールダウン観察ウィンドウの時間は40分になります。静止期
2つの連続した自動スケールアップまたは2つの自動スケールダウンの最小間隔。 休止期間中、DASはクラスターのCPU使用率を監視しますが、指定された条件が満たされていても、自動スケールアップまたはスケールダウンをトリガーしません。 静止期間と観察ウィンドウが同時に終了し、観察ウィンドウ内の平均CPU使用率が指定されたしきい値に達すると、DASは自動的にスケールアップまたはスケールダウンをトリガーします。
[OK] をクリックします。
よくある質問
データベースインスタンスの仕様が上限に達した場合はどうすればよいですか。
上位エディションを実行するデータベースインスタンスを購入することを推奨します。 たとえば、High-availability Editionを実行し、専用インスタンスタイプを使用するApsaraDB RDS For MySQLインスタンスの最大仕様は、104 CPUコアと768 GBのメモリです。 次に、インスタンスデータを新しいインスタンスに移行します。 データベースインスタンスの仕様とデータ移行シナリオの詳細については、以下のトピックを参照してください。
ApsaraDB RDS for MySQL: 仕様とApsaraDB RDS for MySQLインスタンス間のデータ移行
PolarDB for MySQL: PolarDB for MySQL Enterprise Editionの計算ノード仕様とPolarDB for MySQLクラスター間のデータ移行
関連ドキュメント
ビジネストラフィックのピークが定期的に発生する場合は、インスタンスのスケジュール自動スケーリング機能を有効にできます。 システムは、事前設定されたポリシーに基づいてインスタンスをスケールアップし、指定されたスケールアウト期間が終了すると、インスタンスを元のインスタンス仕様に自動的にスケールダウンします。
インスタンスが自動パフォーマンススケーリング機能をサポートしていない場合は、インスタンスの仕様を手動で変更して、インスタンスをスケールアウトまたはスケールインできます。 詳細については、以下のトピックをご参照ください。
ApsaraDB RDS for MySQL: インスタンス仕様の変更
PolarDB for MySQL: クラスターの仕様を手動で変更