AWS、利用時のみ自動起動し負荷に応じてインスタンスが増減するマネージドRDB「Aurora Serverless」、正式版に
一般にOracleやMySQLなどのデータベースを利用するためには、あらかじめインスタンスを起動しておく必要があります。クライアントはこのインスタンスに対して接続し、クエリを送信して結果を受け取ることになります。
新しく正式版となったAmazon Web Services(AWS)の新サービス「Aurora Serverless MySQL」は、このインスタンスの起動をオンデマンドで行うことで、クライアントから呼び出されるときだけ起動し、負荷に応じてスケールするRDBです。
従来のAmazon Auroraと同様にバックアップやパッチの適用などはクラウド側で行われるマネージドサービスで提供されるため運用の手間が不要であるのに加え、データベースのプロビジョニングやインスタンスの起動といった、これまで必要だった事前手続きもほぼ不要になります。
さらに、Aurora Serverless MySQLは、データベースの負荷が高まると稼働中であっても自動的にインスタンスを増やし、性能を向上させていく機能も備えているため、あらかじめデータベースの最大負荷を想定して設計するといった手続きも大幅に削減できます。
Aurora Serverlessは2017年12月に行われたイベント「AWS re:Invent 2017」で発表されプレビュー版となっていました。
インスタンスの手前に、クライアントからのリクエストを受けるリクエストルータが
Aurora Serverlessのアーキテクチャは図のようになっています。
クライアントからのリクエストはロードバランサーを経て直接インスタンスにつながるのではなく、その手前にあるリクエストルータによっていったん受け取られ、リクエストルーターからインスタンスへ渡されるようになっています。
スケールアップまたはスケールダウンは数秒で行われる一方、最初のインスタンスへの接続は25秒前後のレイテンシがあると説明されています。
たまにしか起動しない業務アプリケーションのデータベースなどに向いている
Aurora Serverlessは、クライアントからのアクセスがないときにはインスタンスが自動的にシャットダウンされ、その費用も発生しません。
そのため、例えば月末にしか起動されない業務アプリケーションのような、起動時間が不定期なアプリケーションのデータベースで高いコスト削減効果を期待できます。開発用データベースのように新規データベースをなんども作り直したり、アクセス頻度が不定期なデータベースの用途では、プロビジョニングも含めたデータベースの立ち上げや管理の手間がほとんどかからない利点が生きてくるでしょう。
また、稼働中でも性能が動的に変化する機能を活かして、事前に負荷の予測ができないような新規アプリケーションのデータベースなどにも向いているとされています。
あわせて読みたい
「サーバレス/Serverless」はデータベースやコンテナへも広がってきた
≪前の記事
機械学習とAIに最適化された統合システム、Dell EMCが発表した「Ready Solutions for AI」はどのような構成になっているか?[PR]