前回は「Auto Scaling」という機能を利用して、Webサーバー・アプリケーション(AP)サーバーとして稼働させるEC2インスタンスを、負荷の変化に応じて自動的に追加・削除するスケーリングの方法を解説しました。

 スケーリングすべきは、Webサーバー・APサーバーだけではありません。データを格納するデータストアーについても、容量と性能のスケーリングが必要です。

 これまで取り上げてきたコーポレートサイトのデータストアーは、会社案内などのテキストや画像を配置するS3バケット、ユーザーデータなどを保存するリレーショナルデータベース(RDB)のRDSインスタンスです。

 このうちS3バケットは、2017年8月号の本連載第4回で解説した通り、容量が実質的に無制限であるのに加え、I/Oの帯域制限のような性能の制約も存在しません。ユーザーはS3バケットの容量と性能のスケーリングを考える必要がないので、今回は扱いません。

 一方、RDSインスタンスのスケーリングは、基本的にユーザーが行う必要があります。容量と性能に分けて、スケーリングの方法を示します。

 なおRDSの一種として、AWSがクラウドでの稼働を前提にRDBを一から再設計した「Amazon Aurora」があります。Auroraと他のRDSは機構が大きく異なるので、明確に分けて説明します。以降でRDSと表現したとき、Auroraは含みません。

RDSの容量は容易に拡張できる

 RDSのストレージの容量は、ユーザーによる操作によって、RDSインスタンスを稼働させたまま拡張できます。マネジメントコンソールからGUIの操作をしたり、RDSのAPIをコールしたりします。

 RDSのストレージの性能については、スタンダードストレージからプロビジョンドIOPSストレージに変更することで、I/O性能を向上させることが可能です。

 Auroraの場合は、ストレージ容量が自動で拡張します。Auroraではストレージ容量を指定する必要はなく、最初に10GBの容量が割り当てられ、以後はストレージの利用量に応じて10GB単位で最大64TBまで自動拡張します。Auroraを使えば、ユーザーはストレージの容量を意識する必要がなくなります。