Aurora

AWS のクラウドネイティブ RDB で、MySQL/PostgreSQL 互換で高可用性・高パフォーマンスを実現する

AWSデータベース

Aurora とは

Amazon Aurora は、AWS が 2014 年の re:Invent で発表したクラウドネイティブ RDB で、MySQLPostgreSQL に互換性がある。標準の MySQL/PostgreSQL より最大 5 倍/3 倍高速で、3 つの AZ に 6 つのデータコピーを自動的に保持する。

Aurora の高速性の秘密はストレージアーキテクチャにある。従来の RDB がコンピュートとストレージを密結合させているのに対し、Aurora はストレージを分散型の共有ストレージレイヤーに分離した。ログレコードをストレージノードに直接送信し、ストレージ側でページを再構築するため、ネットワーク I/O が大幅に削減される。

Aurora vs RDS

Aurora と RDS の違いを以下にまとめる。

観点AuroraRDS (MySQL/PostgreSQL)
パフォーマンスMySQL の最大 5 倍標準
ストレージ自動拡張 (最大 128 TB)手動設定 (最大 64 TB)
レプリカ最大 15 (低レイテンシ)最大 5
フェイルオーバー30 秒以内60〜120 秒
ストレージの冗長性3 AZ × 2 コピー = 6 コピー2 AZ (Multi-AZ)
バックアップS3 に継続的バックアップスナップショット
コストRDS より 20〜30% 高い標準

Aurora Serverless v2

Aurora Serverless v2 は ACU (Aurora Capacity Unit) 単位で自動スケールし、トラフィックに応じてコストが変動する。1 ACU は約 2 GB のメモリに相当する。

設定
最小 ACU0.5
最大 ACU256
スケール単位0.5 ACU 刻み
スケール速度数秒

Provisioned (固定インスタンス) との混在も可能で、ベースラインは Provisioned で処理し、ピーク時のみ Serverless v2 のリーダーインスタンスを追加する構成が取れる。

RDS Proxy による接続管理

Lambda から Aurora に接続する場合、Lambda の同時実行数分のコネクションが張られ、DB の接続上限を超える問題が起きる。RDS Proxy はコネクションプーリングを提供し、この問題を解決する。

Lambda (100 同時実行) → RDS Proxy (コネクションプール) → Aurora (20 接続)

RDS Proxy は IAM 認証をサポートしており、DB のパスワードを Lambda に渡す必要がない。

Aurora vs DynamoDB

Aurora と DynamoDB の違いを以下にまとめる。

観点AuroraDynamoDB
データモデルリレーショナル (SQL)キーバリュー/ドキュメント
JOIN
スケーリング垂直 + リードレプリカ水平 (自動)
トランザクション完全な ACID限定的 (100 アイテムまで)
コスト (アイドル時)常時課金ほぼゼロ
接続管理コネクションプール必要HTTP ベース (不要)
用途複雑なクエリ、リレーション高スループット、シンプルなアクセス

いつ Aurora を使うか

複雑な JOIN が必要な場合や、既存の MySQL/PostgreSQL からの移行には Aurora が適している。高スループットでシンプルなアクセスパターンや、サーバーレスでコストゼロを目指す場合は DynamoDB を選択する。

バックアップと PITR

Aurora は S3 に継続的にバックアップを取得しており、PITR (Point-in-Time Recovery) で過去 35 日以内の任意の時点にデータベースを復元できる。復元は新しいクラスターとして作成されるため、既存のクラスターには影響しない。

Global Database

Aurora Global Database はリージョン間のレプリケーションを 1 秒以内で行い、DR (災害復旧) を実現する。セカンダリリージョンへのフェイルオーバーは 1 分以内で完了する。

コスト最適化

  • Serverless v2 でトラフィックに応じた課金にする
  • リザーブドインスタンスで最大 72% 割引を得る
  • リードレプリカで読み取り負荷を分散する
  • 開発環境では停止 (最大 7 日) でコストを削減する
  • I/O 最適化 (Aurora I/O-Optimized) で I/O コストを予測可能にする

Aurora の背景や設計思想は関連書籍に詳しい。

この記事は役に立ちましたか?

関連用語

関連する記事