はじめに:Amazon Aurora DSQLのマルチリージョン対応がさらに拡大!
AWSの次世代データベースとして大きな注目を集めているAmazon Aurora DSQL。サーバーレスかつアクティブ – アクティブな高可用性を持ち、複数リージョンにまたがって「強い整合性(Strong Consistency)」を提供する画期的な分散SQLデータベースです。
この度、Aurora DSQLのマルチリージョンクラスターのサポート対象に、新たに以下の4つのリージョンが追加されました!
- 欧州(ストックホルム:eu-north-1)
- 欧州(スペイン:eu-south-2)
- アジアパシフィック(ムンバイ:ap-south-1)
- アジアパシフィック(シンガポール:ap-southeast-1)
これにより、日本(東京・大阪)を含むアジアパシフィック地域や欧州でのグローバル分散システムの構築がさらに容易になりました。本記事では、このアップデートの意義、Aurora DSQLの強み、そして実務におけるユースケースをアーキテクトの視点から解説します。
Amazon Aurora DSQLの概要とマルチリージョンのメリット
従来のマルチリージョンデータベース(例:Amazon Aurora Global Database)は、基本的に「1つの書き込みリージョン(プライマリ)」と「複数の読み取り専用リージョン(セカンダリ)」というActive-Passive構成でした。この構成では、プライマリ以外のリージョンからの書き込みはレイテンシが発生し、リージョン障害時には数秒〜数分のフェイルオーバー時間(RTO)が必要でした。
これに対し、Aurora DSQLのマルチリージョンクラスターは以下の革新的なメリットを提供します。
1. 真のアクティブ – アクティブ(Active-Active)構成
ピアリングされた両方のリージョンに「書き込み可能なエンドポイント」が提供されます。アプリケーションは、最寄りのリージョンに対して直接データを書き込むことができ、リージョン間の書き込み競合はデータベース側で自動的かつ一貫性を持って処理されます。
2. 複数リージョン間での「強い整合性(Strong Consistency)」
従来のレプリケーションでは「結果整合性(Eventual Consistency)」が一般的であり、書き込んだデータが他リージョンに反映されるまでタイムラグがありました。Aurora DSQLでは、分散トランザクション技術により、どのリージョンからアクセスしても常に最新の正しいデータが保証されます。
3. ゼロRTO / ゼロRPOの災害対策(DR)
1つの論理データベースとして機能しているため、万が一1つのリージョンが完全に停止した場合でも、もう一方のリージョンが稼働し続けます。データ損失はゼロ(RPO=0)、フェイルオーバー時間も実質ゼロ(RTO=0)という、極めて高い復旧目標をシームレスに実現します。
想定されるユースケース
今回のアップデート(特にシンガポールやムンバイの追加)により、以下のようなシナリオでAurora DSQLが強力な選択肢となります。
- アジア全域をターゲットにしたグローバルWebサービス:
東京、シンガポール、ムンバイのユーザーに対して、それぞれの最寄りリージョンで超低レイテンシな読み書きを提供しつつ、全ユーザーのデータ整合性をリアルタイムに維持します。
- 金融・決済・在庫管理システム:
一貫性が極めて重要視されるシステムにおいて、リージョンを跨いだ「二重引き落としの防止」や「正確な在庫数の引き当て」を、複雑なアプリケーションロジックなしでデータベース層が保証します。
- ミッションクリティカルな社会インフラシステム:
自然災害等による日本のリージョン(東京/大阪)の全面停止に備え、シンガポールや他リージョンへ瞬時にトラフィックを切り替え、業務を継続可能にします。
注意点や従来の機能との違い
非常に強力なAurora DSQLですが、従来のAmazon Aurora PostgreSQL/MySQLとは設計思想が異なるため、以下の点に注意が必要です。
1. ネットワークレイテンシの影響
強い整合性を維持するために、リージョン間での合意形成(コンセンサス)プロセスが発生します。そのため、物理的に距離が離れたリージョン間でマルチリージョンクラスターを組む場合、トランザクションのコミットにかかる時間は、リージョン間の往復遅延時間(RTT)の影響を受けます。読み込みはローカルで超高速に行えますが、書き込みのスループット設計には注意が必要です。
2. PostgreSQLとの互換性と機能制限
Aurora DSQLはPostgreSQL互換ですが、すべてのPostgreSQL拡張機能や複雑なストアドプロシージャがそのまま動くわけではありません。分散SQL用に最適化されたシンプルなデータモデリングが推奨されます。
クラスター作成のイメージ(AWS CLI例)
例えば、東京(ap-northeast-1)と今回追加されたシンガポール(ap-southeast-1)を跨ぐマルチリージョンクラスターを作成する場合、以下のようなイメージでAWS CLIから定義できます(※実際のコマンドやパラメータはドキュメントをご確認ください)。
aws dsql create-cluster \
--active-regions "ap-northeast-1" "ap-southeast-1" \
--witness-region "ap-northeast-3" \
--cluster-name "my-global-dsql-cluster"
※合意形成の仲介役として、第3のリージョン(上記例では大阪: ap-northeast-3)をウィットネス(目撃者)リージョンとして指定することで、高可用性を担保するスプリットブレイン対策を行います。
まとめ
Amazon Aurora DSQLのマルチリージョン対応リージョンが拡大したことで、グローバル規模での高可用かつ高整合性なアーキテクチャの敷居が大幅に下がりました。サーバーレスであるため、アクセスがない時間帯のコストを最小限に抑えられるのも魅力です。
現在、AWS無料枠(AWS Free Tier)でもAurora DSQLを開始することができます。東京、大阪、そして今回追加されたシンガポールなどの新リージョンを組み合わせ、次世代の分散データベースの破壊力をぜひ体感してみてください!