クラウドの利用シーンが拡大する中、使用リソースに応じたコスト最適化が重要な課題となっています。Amazon Aurora Serverlessは、コスト最適化の課題に対応するAWS公式のフルマネージドデータベースサービスです。Aurora Serverlessv1からAurora Serverlessv2への進化で、より柔軟な運用が可能になりました。今回は、Aurora Serverless v1とv2の違いやメリット・デメリットをわかりやすく解説します。
Aurora Serverlessとは
Aurora Serverlessは、AWS(Amazon Web Services)が提供するフルマネージド型のデータベースサービスです。フルマネージドサービスとは、ITインフラに関わる運用や保守などをアウトソーシングできるというものです。 サーバーやネットワークの運用管理から、障害発生時の対応・セキュリティ対策・機器のメンテナンスまですべてを任せることができます。
MySQL・PostgreSQLとの互換性があり、作業負荷に応じて自動的に処理できるサーバーレスな構成が特徴です。また、Aurora Serverlessは、使用した分だけの料金を支払えば良いため、コスト最適化にも役立つでしょう。。
Aurora Serverlessは、AuroraというAWSが独自開発したデータベースエンジンを搭載しており、AuroraにはAmazon AuroraとAurora Serverlessが存在します。
Amazon AuroraとAurora Serverlessは、以下のようにそれぞれ通信の特徴や料金体系などが異なります。
|
Aurora Serverless
|
Amazon Aurora
|
通信の特徴
|
VPCエンドポイント
経由
|
エンドポイント
(クラスターエンドポイント)経由
|
インスタンスの管理
|
AWS側
|
ユーザー側
|
料金体系
|
秒単位の利用回数
データベースへの
リクエスト数
|
インスタンスタイプ
|
Amazon AuroraとAurora Serverlessの大きな違いは、通信の特徴です。EC2などのサービスと通信する際、Amazon Auroraではエンドポイント(クラスターエンドポイント)経由で通信が行われます。エンドポイントとは、ネットワークを通じてデータの送受信を行う機器のことで、電話の受話器のようなものです。
一方のAurora Serverlessは、VPCエンドポイントを経由します。VPCエンドポイントとは、VPC内のインスタンスがインターネットを経由せずに、AWSのサービスやオンプレミス環境に安全に接続できるようにする機能です。Aurora Serverlessはプライベート接続を使用するため、安全性が高い分、少々回り道をする通信経路になっています。
また、Amazon Auroraはハードウェアを組み合わせるインスタンスタイプの料金体系であり、管理もユーザー側で行います。一方、Aurora Serverlessは秒単位の利用回数やデータベースへのリクエスト数により料金が変動する仕組みです。インスタンスはAWS側が行います。
データベースサービス度合い
そもそもデータベースサービスには以下のようなサービスモデルがあり、それぞれ特徴が異なります。
以下の項目で、データベースサービスの度合いを詳しく解説します。
使用ケースに合わせて適切なオプションを選択すれば、効率的なデータベース運用が実現できるでしょう。
セルフマネージド
セルフマネージドは、直訳すると自己管理のことを指します。ユーザー側で、サーバーやソフトウェアの運用・管理を行うサービスです。サービス会社でハードウェアやネットワーク回線などを提供しますが、管理者権限はユーザーに与えられます。
そのため、追加でソフトウェアをインストールしたり、サーバーの設定を変更したり、サービスの範囲内であれば自由に行うことができます。ただし、データベースの可用性やセキュリティなどの責任はユーザー自身が負うことになります。
高度なデータベース管理スキルが求められる一方で、柔軟な設定も可能なため、ユースケースに合わせてきめ細かくチューニングできるでしょう。
特徴
|
概要
|
運用管理
|
自身で行う
|
設定の自由度
|
高い
|
必要なスキル
|
高度なデータベース管理スキル
|
セルフマネージドは、熟練した運用チームを持つ大企業などで活用されることが多くなります。サーバーの運用・管理の経験があり、マネージド型よりもコストを抑えたい方におすすめです。
マネージド
マネージドデータベースは、サービス提供会社側がサーバーやソフトウェアの運用・管理を行うサービスです。管理者権限はサービス提供会社にあり、サーバーやソフトウェアの運営・管理を行います。ユーザーはサービスの提供会社が許可した範囲内でサービスを利用可能です。マネージドは、サーバーやソフトウェアの運用・管理に慣れていない方やサービスの利用に集中したい方におすすめです。
特徴
|
概要
|
運用管理
|
サービス提供会社で行う
|
設定の自由度
|
低い
|
必要なスキル
|
特になし
|
Aurora Serverlessはマネージド型のサーバーレス
Aurora Serverlessは、マネージド型のサーバーレスサービスになります。サーバーレスはサーバーの管理をせず、システムの構築・運用が可能なサービスです。サーバーを管理する必要のない仕組みをサーバーレスと呼びます。従来は、プログラムの実行やシステム構築の際はサーバーを用意する必要がありました。しかし、サーバーレスは、サービスを提供する会社がサーバーを管理するため、ユーザーがサーバーのことを気にかけずに済みます。
サーバーレスは、以下のBaaS(Backend as a Service)とFaaS(Function as a Service)の2つに分類されます。
BaaS
|
サーバーサイドで必要な認証やデータベースなどの機能を提供してくれるサービス
|
FaaS
|
アプリケーション開発で必要となる関数をクラウド上のサーバーで利用できるサービス
|
Aurora Serverlessの利用で、作業負荷に合わせて自動的にリソースを準備してくれるため、コストを最適化しながらパフォーマンスを維持可能です。
Aurora Serverless以外のサーバーレスサービスについては、以下のページで詳しく解説しております。
Aurora Serverless v1とAurora Serverless v2の違い
Aurora Serverlessには現在2つのバージョンがあるため、違いの理解が重要です。v1とv2の機能の違いを把握すれば、ユースケースに最適なバージョンを選択できるでしょう。以下では、Aurora Serverlessの2つのバージョンの特徴と違いを解説します。
Aurora Serverless v1
Aurora Serverless v1は、Amazon Aurora用のオンデマンドオートスケーリング構成です。
コンピューティング容量をアプリケーションのニーズに応じて増減させることができます。Aurora Serverless v1では作業負荷を処理するために、比較的シンプルでコスト効率の高いオプションを提供しています。
Aurora Serverless v1を利用するには、データベースの集合体を必要に応じてコンピュータの設備などのリソースを提供できるよう予測して準備しておかなければいけません。
また、シングルAZのみ対応となり、クエリ実行中のオートスケーリングや互換のデータベース管理システムのバージョンがかなり限定されるなどの注意点があります。
なお、2024年12月31日を持ち、Amazon AuroraはServerless v1のサポートを終了するため、注意してください。
Aurora Serverless v2
Aurora Serverless v2は、2022年4月にリリースされたAurora Serverlessの最新バージョンになります。作業負荷のパフォーマンスがv1より大幅に向上しており、コストも最適化されるため、コストパフォーマンスに優れたデータベースサービスです。
具体的なv1とv2の主な違いは、以下になります。
|
Aurora Serverless v2
|
Aurora Serverless v1
|
ACU
|
最小:0.5ACU
最大:256ACU
|
最小:1ACU
最大:128ACU
|
料金
|
※1ACUあたり0.20USD/時間
|
※1ACUあたり0.10USD/時間
|
特徴
|
- 最小増分で自動処理が可能
- クエリ実行中でも自動処理が可能
- ※マルチAZ
|
- 一定時間アクセスがない場合、自動停止可能
- ※シングルAZ
|
課題点
|
- V1と比べ1ACUあたりの費用が2倍かかる
- V1のように一時停止ができない
|
- 初回起動が遅く、利用可能まで時間がかかる
- マルチAZ機能なし
- クエリ実行中などは自動処理
できない
|
※ACUとは、Aurora Serverlessで用いられる容量のことです。1ACUあたり約2GiB(ギビバイト)のメモリ・CPU・ネットワークが組み合わされます。
※AZとは、アベイラビリティーゾーンの略で複数のデータセンターで構成されるインフラ設備です。Aurora Serverless v1がシングルAZに対し、v2はマルチAZになるため障害によるサービス停止などを減らすことができます。
Aurora Serverless v2の料金について
Aurora Serverless v2の料金体系は、従量課金制です。ユーザーは必要に応じてリソースを自動的に確保・解放できるため、無駄なコストを抑えられます。しかし、実際にコストを抑えられるかどうかは、作業負荷の特性次第です。また、料金体系を理解せずに利用を開始すると、思わぬコストが発生する恐れがあります。以下で詳しく解説します。
変動する負荷に対して適用される
Aurora Serverless v2は、作業負荷の大きさによって料金が変わるため、アクセス数が安定しているサービスでは他のサーバーレスを使った方が安く済む場合があります。例えば、頻繁にアクセスしない環境などでは、Aurora Serverless v1を使うのも良いでしょう。また、夜は普通のスペックを使い、昼間は高スペックなAurora Serverless v2を使うように使い分けるのもおすすめです。
正確な費用を予測しにくい
Aurora Serverless v2は実際の使用量に応じて課金されるため、事前に正確な費用の予測が難しくなります。 例えば、作業負荷が一定でない場合や、ピーク時の負荷が高い場合は、費用がかさむ可能性があるでしょう。
作業負荷が軽い場合は、従量課金制のおかげで費用を抑えられますが、負荷に合わせて良くも悪くもACUを自動で変更するため、Aurora Serverless v2を利用する際は作業負荷の変動に十分注意を払う必要があります。
Aurora Serverless2のメリット
Aurora Serverless2には以下のようなメリットがあります。
- 細かいスケーリングができる
- 費用対効果が高い
- 運用が簡略化される
- パフォーマンスがより向上している
以下の項目でそれぞれ確認していきましょう。
細かいスケーリングができる
Aurora Serverless v2では、作業負荷のピーク時の負荷に合わせてリソースを過剰に準備する必要がなくなります。v1と比較するとスケーリング能力が格段にアップしたので、細かい自動処理が可能になりました。そのため、リソースの無駄が大幅に削減できます。
費用対効果が高い
Aurora Serverless v2は必要な分だけリソースを消費するため、費用を最適化できます。
リソース使用量に応じて柔軟に課金されるので、アクティビティの少ない期間はスケーリングを高速かつ簡単に実行でき費用対効果が高いです。そのため、利用パターンによっては、RDS(Amazon Relational Database Service)と比べて大幅にコストを削減できます。
運用が簡略化される
Aurora Serverless v2では、データベースの運用が大幅に簡略化されます。Aurora Serverless v2の管理はサービス側で行うため、サーバーの管理を行う必要がありません。
Aurora Serverless v2ではインスタンスのスケーリングなどがAWSにより自動で行われるため、ユーザーは作業から解放されます。Aurora Serverless v2は運用の自動化により、手間とコストを大幅に削減可能です。
パフォーマンスがより向上している
Aurora Serverless v2では、v1と比較してパフォーマンスが大幅に向上しました。
v1では、128ACUまでしかスケーリングできませんでしたが、v2では256vCPUまでスケーリング可能となりました。つまり、高負荷時のパフォーマンスが2倍向上しています。
また、Aurora Serverless v2では拡張性とリソース効率が飛躍的に改善されており、幅広い業務システムへの対応力が高まりました。
Aurora Serverless2のデメリット
Aurora Serverless v2は、クラウドデータベースの世界に革命をもたらしましたが、すべてが完璧なわけではなく、以下のようなデメリットも存在します。
- Lambdaなどのサービスとつなぐ際に制限がある
- MySQLとPostgreSQLのみ対応している
- 状況により従来よりもコストが高くなる
課題を理解すれば、Aurora Serverless v2をより効果的に活用できるはずです。以下の項目で詳しく見ていきましょう。
Lambdaなどのサービスとつなぐ際に制限がある
Aurora Serverless v2では、AWSのサーバーレスサービスであるLambdaなどとつなげる際、APIに一部制限があります。APIは便利な反面、コール数やレスポンスのサイズが制限されるため、注意が必要です。 例えば、性能面でリクエストを並列で投げたり、一度のクエリあたりのレスポンスサイズが大きいと制限がかかってしまうでしょう。
AWS Lambdaについては、以下のページで詳しく解説しております。
MySQLとPostgreSQLのみ対応している
Aurora Serverlessv2ではリレーショナルデータベースエンジンとしてMySQLとPostgreSQLのみが対応しています。現時点では、2つのエンジンのみの対応となるため、その他のデータベースエンジンを利用したい場合は別のAWSサービスを検討する必要があります。今後のアップデートで対応が広がる可能性はありますが、データベースエンジンの選定の際は留意してください。
状況により従来よりもコストが高くなる
先述したようにAurora Serverlessv2では、 良くも悪くもACUが自動で変更されるため、稼働率が低い時は費用を大幅に抑えられます。しかし、稼働率が高い場合はスケーリングされた分だけ費用も高くなるため、作業負荷のパターンによっては従来よりもコストがかかりすぎる状況になるかもしれません。Aurora Serverlessv2を活用する際は、ユースケースに合わせて適切なオプションを選ぶ必要があります。
サーバーレスの導入をご検討中ならICにお任せください
株式会社ICは、AWS(Amazon Web Services)の認定パートナーとして、お客様のAWSクラウド活用をサポートするプロフェッショナル集団です。豊富な経験と高度な専門知識を持つエンジニアが、お客様のビジネス課題に合わせた最適なAWSソリューションを提供します。サーバーレス導入に関してもAurora ServerlessをはじめLambdaなど、幅広いAWSサービスの組み合わせで、コスト最適化と運用負荷軽減を実現します。株式会社ICは、高い技術力と実績に裏付けされた安心のAWSサポートを提供いたします。Aurora Serverlessを導入したいとお考えの方は、システム開発のICにご相談ください。ご相談はお問い合わせフォームのほか、お電話でも承っております。
ICの公式ホームページは、以下のページからご覧ください。
システム開発のIC
まとめ
今回は、Aurora Serverless v1とv2の違いやメリット・デメリットを解説しました。Aurora Serverlessは、データベースの運用管理を自動化し、必要に応じてリソースをスケーリングできるAWS独自のマネージドサービスです。Aurora Serverless v1に比べ、v2ではさらに細かいスケーリングや運用の簡略化ができ、、パフォーマンスの向上やコスト最適化が図れるメリットがあります。ただし、変動する負荷に対して適応されるため、従来よりコストが高くなるため正確な費用を予測しにくいデメリットもあります。また、Lambdaなどとつなげる際の制限やMySQLとPostgreSQLのみに対応している点にも注意してください。
Aurora Serverless v2には一長一短がありますが、総合的に見ると運用コストを大幅に削減できるサービスです。
サーバーレス化の導入をご検討中の方は、ぜひシステム開発のICにご相談ください。専門家によるきめ細かいサポートで、お客様のビジネスをサポートいたします。
※2024年4月時点の仕様です。現在は異なっている可能性があります。