本文へスキップ
BecomeCoder

AWS SAP(ソリューションアーキテクト プロフェッショナル)コース · 第6章 新規ソリューションの設計②:データストアとデータベース · レッスン31

Aurora のスケールとグローバル化

導入

RDSで十分」なシステムが成長すると、読み取り負荷の増大・急な負荷変動・リージョン障害への備えという壁にぶつかります。Auroraは、こうした成長痛に応える3つの拡張機能を持っています。

説明

Amazon AuroraAWS独自のリレーショナルデータベースエンジンで、MySQL/PostgreSQL互換を保ちながら、クラウドネイティブな拡張性を持ちます。

拡張機能何を解決するか
Aurora リードレプリカ読み取りが多いワークロードで、読み取りを複数のレプリカに分散する(最大15台)
Aurora Serverless v2負荷に応じて秒単位で自動スケール、予測不能なトラフィックでも過剰プロビジョニング不要
Aurora Global Database1つの書き込みリージョンと複数の読み取りリージョンで、1秒未満のレプリケーション遅延を実現
flowchart LR
    subgraph R1["プライマリリージョン"]
        W["書き込み<br/>プライマリインスタンス"] --> RR["読み取りレプリカ<br/>(最大15台)"]
    end
    W -->|"レプリケーション<br/>1秒未満"| R2["セカンダリリージョン<br/>(読み取り専用)"]
    R2 -.->|"リージョン障害時に昇格"| W2["新プライマリへ切替"]

Aurora Global Databaseは、**リージョン障害からの事業継続(ドメイン2で問われるDR設計)**の中核サービスの1つです。通常時はセカンダリリージョンを読み取り専用として活用し、プライマリリージョンに障害が起きたときは手動(または管理された切替)でセカンダリを書き込み可能に昇格させ、RTO/RPOの短いDRを実現します。

  • 「読み取りが急増している」→ リードレプリカを追加
  • 「トラフィックの予測が難しく、常時プロビジョニングは無駄」→ Aurora Serverless v2
  • 「別リージョンでの災害対策、かつRPOを1秒未満に抑えたい」→ Aurora Global Database

読んでみよう

RDSの単純なMulti-AZ配置と、Auroraのリードレプリカ・Global Databaseは役割が違います。Multi-AZは同一リージョン内の可用性リードレプリカは読み取りのスケールGlobal Databaseはリージョンをまたいだ災害対策、と3つの目的を混同しないようにしましょう。