そのAmazon Aurora、本当に必要ですか🤔AWSエキスパートがAmazon Auroraの導入の思考フローを解説します!

そのAmazon Aurora、本当に必要ですか🤔AWSエキスパートがAmazon Auroraの導入の思考フローを解説します!

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは!

今回は RDS のひとつの選択肢である Aurora の選定基準などについて解説していきます。

なお本記事では、RDSを「Aurora以外のRDS」という定義で使用しますので(AuroraはRDSなので)、ご了承ください。

想定する読者

  • RDS で Aurora を使用するか悩んでいるヒト
  • Aurora がよくわかっていないヒト

はじめに

DB の選択肢として、リレーショナルデータベースか NoSQL かで悩み、リレーショナルデータベースを選択したとして、「とりあえず Aurora でいいかな」と選択していませんでしょうか?

もちろん RDS より性能が高いのが Aurora なので可用性などを考慮すると Aurora のほうがベターです。ですが運用コストが高いのが悩みどころですよね。今回はそんなときにどちらを選ぶのかを指南していきたいと思います。

稼働時間で考える

引用元:Is Amazon RDS for PostgreSQL or Amazon Aurora PostgreSQL a better choice for me?

まずはアプリケーションの稼働時間に関する要件を整理していきましょう。

結論から申し上げると、毎日頻繁に稼働する必要がある場合は Aurora、土日など決まった曜日には利用されないもしくは利用者が少ない場合は RDS を選んでください。

Aurora は高性能な DB なため自ずとコストが高くなります。そのため RDS は Aruroa よりコストが低いです。コスト面から考えると、高可用性を求められている場合は Aurora を選択する意義がありますが、そうでない場合は RDS で十分だと判断できます。

ダウンタイムを許容できるか

耐障害性については、RDS より多くのリードレプリカや AZ を利用する Aurora のほうが上になりますが、どちらも障害が発生すればフェイルオーバーされますし自動的にバックアップを取得するので、あまり気になさらなくてもよいかと思います。(SLA の差異は以降にある表をご覧ください)

ただし前述の通り、ダウンタイムを許容できない場合は迷わず Aurora を利用してください。Aurora ではマルチマスター構成を組めるため、ダウンタイムを回避することができます。

機能RDSAurora
メンテナンスダウンタイム⭕️⭕️
※マルチマスター構成で回避可能
マルチマスター構成⭕️
SLA99.95%99.99%
RDSとAuroraの比較表

結局はどの程度許容できるか

比較すれば Aurora のほうが性能が良いです。しかし利用者の少ないアプリケーションにおいて、Aurora という選択肢はコストパフォーマンスがよくないでしょう。

選択する際の考え方として基礎となるのは、どのくらい許容できるかという点になります。許容するものとしては、レプリケーションやバックアップ、フェイルオーバーやクラッシュリカバリなどになります。

これらにかかる時間を短縮しなければアプリケーションへの信頼性がなくなる、具体的には目標復旧時点(RPO)と目標復旧時間(RTO)を最小限に抑えたい、そんな場合は Aurora が適任となるでしょう。

関連記事

まとめ

どのくらい許容できるかがはっきりしてしまえば、すぐにどちらかを選ぶことができます。考えることはとてもシンプルです。ぜひ参考にしてみてください。

このブログでは、AWS の記事をどんどん公開しておりますので、ご興味のある方は他の記事もご覧いただければと思います。

AWS に関する開発は、お気軽にお問い合わせください。