2021/02/09

Alibaba Cloud PolarDB のリソース自動運用機能(スケールアップ / スケールダウン)を実験してみたよ!

Alibaba Cloud PolarDB のオートスケール(スケールアップ / スケールダウン)を実験してみたよ!

クラウドでよく使うオートスケールはインスタンスの増減(スケールアウト / スケールイン)のイメージ月用ですよね

実は Alibaba Cloud PolarDB の Auto Scaling 機能はインスタンスの増減と拡大・縮小(スケールアップ / スケールダウン)にも対応していました。Database Autonomy Service(DAS)という、運用支援系のサービスと連動して設定されるので気付いてなかったのですが、今回ちょっとさわってみました。

結果としては以下の様な形でうまく動作していました、設定などを少し見ていきます。

image

Polarオートスケール

ちなみに Database Autonomy Service(DAS)は結構優秀なサービスなので是非さわって見て欲しいです
基本は無料ですし(オプション機能は有料です)

設定画面は以下の様なシンプルなものになっています。

「Automatic Scale-out」「Automatic Scale-In」という設定項目名になっていて分かりにくいのですが、 「Maximum Specifications」とある様にインスタンススペックの上限指定をすることでスケールアップ・スケールダウンも自動で行われる様になります。

Auto Scaling Config

DASのオートスケール設定画面

詳細に関してはこちらのドキュメントもご確認ください。

Database Autonomy Service (DAS) provides the auto scaling feature. During peak hours, DAS automatically scales up a database instance to handle traffic peaks and ensure business stability. DAS monitors the CPU utilization of the database instance in real time. If the CPU utilization per unit of time decreases, DAS automatically scales down the database instance. This topic describes how to enable the auto scaling feature.

Database Autonomy Service (DAS) > Autonomy Center > Auto scaling


さて、オートスケールの実験をするには、ある程度の負荷をDBに掛ける必要があるのでその準備もします。

MySQL公式のサンプルデータ「world_x」を Data Management Service (DMS)を使ってインポート

MySQL公式のサンプルデータ「world_x」を Data Management Service (DMS)を使ってインポート

さらに Data Management Service (DMS)の機能「Test Data Generate」を使って100万レコード増やしました。
この機能、テーブル構造に合わせてそれっぽいデータが作られるのでテスト用途には便利でよく使ってます。

Data Management Service (DMS)の機能「Test Data Generate」を使って100万レコード増やしました。

100万レコードに増えています

「Skip when encountering data conflicts」の設定があるせいか100万レコードに少し足りませんが、そこそこのデータ量が出来たのでちょっと無駄にDBに負荷をかけて見たいと思います。
※100万レコードくらいだと余裕なので実際はもっとデータを増やしました

Data Management Service (DMS)も個人的には地味に利用頻度が高いサービスです。
こいつも基本は無料ですし・・・(オプション機能は有料です)
コンソールからSQLファイルを読み込ませたりクエリを実行できるのは楽ですね、


冒頭にも出したオートスケールの結果を見ていきたいと思います。

image

17:00 ~ 19:00 の期間内でスケールアウト -> スケールアップ -> スケールダウン -> スケールインが順次自動で実行されています。
Quiescent Period がクールダウンタイムになるので30分間隔で次ステップの実行が行われていますね。

1個目のイベントは17:13で自動スケールアウトで読み取り専用ノードが追加されています。

PolarDB 自動スケールアウト

2個目のイベントは30分後の17:43で自動スケールアップで 2Core,8GiB から 4Core,16GiB にスペックアップされています。

PolarDB 自動スケールアップ

3個目のイベントは負荷が下がってから30分後の18:16で自動スケールダウンで 4Core,16GiB から 2Core,8GiB にスペックダウンされています。

PolarDB 自動スケールダウン

4個目のイベントは約30分後の18:50で自動スケールインで読み取り専用ノードが削除されています。

PolarDB 自動スケールイン


今回は簡単ですが Alibaba Cloud PolarDB と Database Autonomy Service(DAS)によるリソース自動運用の動作検証でした。
Data Management Service (DMS)を含め、それぞれのサービスは特徴的な部分もイロイロあるので新ためて紹介をしていきたいな。

0 件のコメント:

コメントを投稿

[備忘録] CentOS 7 に Apache Guacamole 1.3.0 をインストールする ~ その3

前回のその2に続いて「その3」になります。 今回は  guacamole-client の情報を保存するための 拡張オプションとDBの設定 部分を実施していきます。 環境は Alibaba Cloud の RDS で MySQL 8.0 を使いました。 ECS、SLB と合わせた...