19
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Amazon RDS】RDSのオートスケーリングについて

Posted at

はじめに

RDSのオートスケーリングをEC2インスタンスのオートスケーリングと同様のものと考えていたが、認識が異なっていたため、RDSのオートスケーリングとは何か、AuroraやEC2の場合と比べて何が違うのかをまとめたいと思った。

RDSのオートスケーリングとは

まず、RDSインスタンスを作成する場合について考えてみる。
RDSインスタンスを作成する際には、DBの容量を指定する必要がある。
2019年6月19日以前までは、DBの容量が不足した際に、手動で容量を追加する必要があった。
しかし、2021年6月19日以降は、自動的に容量を追加すること(オートスケーリング)が可能となった。
https://aws.amazon.com/jp/about-aws/whats-new/2019/06/rds-storage-auto-scaling/

具体的には、以下の条件全てに合致する場合に自動的にDB容量が追加される。

  • 使用可能な空き領域が、割り当てられたストレージの10%未満になった場合
  • 低ストレージ状態が5分以上の場合
  • 最後のストレージ変更から 6時間以上経過している場合

追加されるDBのサイズは、次のうちいずれか大きい方の増分となる。

  • 5 GiB
  • 現在割り当てられているストレージの10% ※60 GiB割り当てられているなら、6 GiB。
  • 直近 1 時間の FreeStorageSpace(使用可能なストレージ領域の容量) メトリクスの変動に基づいて予測される 7 時間のストレージの増分。 ※RDS DB インスタンスのストレージサイズが 100 GiB で 10.1 GiB の空き容量があり、ストレージの消費量が通常 1 時間あたり 100 MB の場合、100 MB × 7 時間 = 700 MB

オートスケールの詳細については、公式ページに記載されている。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/monitoring-cloudwatch.html

AWS管理コンソール上からは以下の手順で操作することが出来る。
以下の設定は、Aurora以外のDBを選択した際の管理コンソール画面となる。
RDS_ストレージの自動スケール_操作方法_管理コンソール_01.jpg

[補足] Auroraのオートスケーリングについて

Auroraの場合は、オートスケーリングで「Auroraレプリカ」を追加することが可能。
Auroraの構成として、SQL処理を行う「データベースインスタンス」とデータを格納する「クラスターボリューム」に分かれている。
「データベースインスタンス」は、さらに、「プライマリDBインスタンス」と「Auroraレプリカ」に分かれている。
SQL処理の中で、データの読み取り、更新を行うDBが「プライマリDBインスタンス」となり、データの読み取りのみを行うDBが「Auroraレプリカ」となる。
詳細については、公式ページに記載されている。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html

AWS管理コンソール上からは以下の手順で操作することが出来る。
Aurora_リードレプリカAutoScalling_操作方法_管理コンソール_01.jpg
Aurora_リードレプリカAutoScalling_操作方法_管理コンソール_02.jpg

注意点

EC2のオートスケーリング、Auroraのオートスケーリングどちらもインスタンスそのものを自動的に増やしているが、RDSのオートスケーリングは、データを格納する容量を自動的に増やしている点に注意する。日常生活で例えると、家を掃除する際に、掃除する人を増やすという観点がEC2やAuroraのオートスケーリングに該当し、掃除する時の収納を増やすという観点がRDSのオートスケーリングに該当すると考える。

RDSのオートスケーリングは推奨されるのか

ちなみに、データロード(DBの読み取り)の増加が予想される場合は (RDS DB インスタンスの現在のストレージサイズの 20% を超えるロードなど)、データロードの前に RDS DB ストレージのサイズを手動で増加させることがベストプラクティスであると公式ページに記載されている。そのため、推奨設定ではないと考えている。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/rds-autoscaling-low-free-storage/

19
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?