はじめに
案件でAurora PostgreSQLを触る可能性があり、「Auroraと通常のPostgreSQLは何が違うのだろう?」と気になったため調べてみました。
名前からすると「AuroraはPostgreSQLのAWS版なのかな?」と思っていましたが、実際にはAWSがクラウド向けに最適化し、高可用性や自動スケーリングなどの機能を追加したマネージドサービスであることが分かりました。
本記事では、Aurora PostgreSQLと通常のPostgreSQLの違いについて、AWS初学者の方にも分かりやすいようにまとめています。
この記事はこんな人向け
- Aurora PostgreSQLとPostgreSQLの違いを知りたい方
- AWS案件でAuroraを触る予定の方
- Aurora Serverless v2について知りたい方
- RDSやAuroraの使い分けを理解したい方
PostgreSQLとは?
PostgreSQLは、オープンソースのリレーショナルデータベース(RDBMS)です。
特徴は以下のとおりです。
- オープンソース
- SQLに対応
- 高い拡張性
- ACID特性をサポート
- 多くの企業で採用されている
オンプレミスやEC2上にインストールして利用することが一般的です。
アプリ
↓
PostgreSQL
(EC2/オンプレミス)
利用者は以下を管理する必要があります。
- サーバー
- バックアップ
- パッチ適用
- 冗長化
- スケーリング
Aurora PostgreSQLとは?
Aurora PostgreSQLは、AWSが提供するフルマネージドデータベースサービスです。
内部的にはPostgreSQL互換エンジンを利用しているため、多くのPostgreSQL向けツールやライブラリをそのまま利用できます。
アプリ
↓
Aurora PostgreSQL
(AWSが管理)
利用者はデータベースの利用に集中でき、AWSが以下を管理してくれます。
- バックアップ
- パッチ適用
- ストレージ拡張
- レプリケーション
- 障害復旧
AuroraとPostgreSQLの比較
| 項目 | PostgreSQL | Aurora PostgreSQL |
|---|---|---|
| 提供形態 | OSS | AWSマネージド |
| サーバー管理 | 必要 | 不要 |
| バックアップ | 手動 | 自動 |
| 可用性 | 自分で構築 | 標準で高可用 |
| ストレージ | 手動拡張 | 自動拡張 |
| レプリケーション | 自分で設定 | 簡単に利用可能 |
| AWS依存 | なし | あり |
| コスト | 比較的安価 | やや高め |
Auroraの強み
1. 高可用性
Auroraは、データを複数のAZ(Availability Zone)に自動で複製します。
AZ1
↓
Aurora Storage
↑
AZ2
↑
AZ3
障害が発生した場合でも、自動フェイルオーバーにより短時間で復旧することができます。
24時間365日稼働するシステムとの相性が良いです。
2. 自動でストレージを拡張
通常のPostgreSQLでは、ディスク容量が不足した場合に利用者が対応する必要があります。
一方、Auroraはストレージを自動で拡張します。
10GB
↓
50GB
↓
100GB
そのため、将来的なデータ増加を気にせず利用しやすい点がメリットです。
3. Aurora Serverless v2
AuroraにはAurora Serverless v2という機能があります。
利用状況に応じて、自動で性能をスケールしてくれます。
利用者少
↓
0.5 ACU
利用者多
↓
8 ACU
例えば、
- 社内向けシステム
- AIエージェント
- SaaS
- PoC環境
など、アクセス数に波があるシステムに向いています。
PostgreSQLを選ぶべきケース
以下のような場合は、通常のPostgreSQLが適しています。
- 小規模なシステム
- コストを抑えたい
- AWSに依存したくない
- オンプレミス環境で利用したい
- 自由にチューニングしたい
Auroraを選ぶべきケース
以下のような場合は、Auroraが適しています。
- 高可用性が必要
- 運用負荷を減らしたい
- AWSを利用している
- 将来的な利用者増加が見込まれる
- 24時間365日のサービスを提供する
例えば、以下のようなシステムで採用されることが多い印象です。
- Webサービス
- AIアプリケーション
- AIエージェント
- SaaS
- ECサイト
- 社内システム
個人的に調べてみて思ったこと
調べる前は「Aurora=PostgreSQLをAWS上で使えるようにしたもの」というイメージでした。
しかし実際には、
- 高可用性
- 自動バックアップ
- 自動ストレージ拡張
- Aurora Serverless v2
- AWSとの高い親和性
など、クラウドネイティブな機能が数多く提供されていることが分かりました。
特に、最近見かけたAIエージェント案件でもAurora Serverless v2が採用されており、「利用者数が読みにくいサービス」と非常に相性が良いのだと感じました。
まとめ
Aurora PostgreSQLは、「PostgreSQLをAWSがクラウド向けに強化したサービス」と考えると理解しやすいです。
- PostgreSQL:自由度が高く、コストを抑えやすい
- Aurora PostgreSQL:運用をAWSに任せ、高可用性を実現できる
AWSを利用するのであれば、運用負荷や可用性を考慮してAuroraを採用するケースは今後も増えていくと思います。
私自身も案件で触る可能性があるため、Aurora Serverless v2やRDSとの違いについても引き続きキャッチアップしていきたいと思います。
最後まで読んでいただき、ありがとうございました!