[Quora] AWSでDBを構築するならどのサービス?

Quora回答シリーズです。

質問

MariaDBなどのデータベースを構築する際にAWSのどのサービスを利用するべきでしょうか?

https://qr.ae/T64Mpu

いつものことだけどもう少し情報をくれw!

回答

要件によって変わりますが、一般的なお話について記載します。

一般的な要件

これから新規でデータベースを構築、運用を行う場合や、移行であっても特殊なことを行わないようなほとんどのケースでは「RDS」が候補になるでしょう。 aws.amazon.com

ただMariaDBにこだわりがないのであればMySQL互換のAuroraの利用をオススメします。こちらもRDSのサービスの一つではありますがAmazonの技術力の粋を集めて構築されており高いパフォーマンスが期待できます。 aws.amazon.com

Auroraのアーキテクチャについては以下のページをご覧ください。 qiita.com

MariaDB以外の利用が不可能

例えばMariaDBのソースの一部を改変している、非常にコアな機能を利用している、特定のバージョンでないと動作しない(最新バージョンの機能を使いたい)など、自分でインストールしたものを利用する必要がある場合は「EC2」が利用候補として上がります。

aws.amazon.com

ただし特段の事情がないのであればRDSを使うべきでしょう。AWSを利用するメリットが相当失われます。

サーバレスで使いたい

一般的にサーバレス(API Gateway + Lambda)環境下でRDBMSを使うことは推奨されませんので、AWSですとDynamoDBを利用することになります。

と、これまで言われていましたがRDS Proxyが正式版になるとこれを組み合わせたシステム構成が今後当たり前になってくるかもしれません。 aws.amazon.com

その他の選択肢

プロトタイプや個人サービスなど、データ量もクエリの実行数も大したことがなく、とにかく価格を抑えたい場合は「EC2」の低価格インスタンスに自分で入れるか、「Lightsail」を利用することも視野に入ります。 aws.amazon.com

LightsailはいわゆるVPSですが、マネージドのDBサービスがちょっと前から開始されました。15ドル/月から利用できます。