Amazon Aurora グローバルデータベースの使用 - Amazon Aurora

Amazon Aurora グローバルデータベースの使用

Amazon Aurora グローバルデータベースは複数の AWS リージョンにまたがり配置されます。これにより、低レイテンシーなグローバル読み取りを実現し、AWS リージョン全体に影響が及ぶ可能性のある機能停止からの、すばやい復旧を可能にします。Aurora グローバルデータベースには、1 つのリージョンにプライマリ DB クラスターがあり、異なるリージョンに最大 5 つのセカンダリ DB クラスターがあります。

Amazon Aurora グローバルデータベースの概要

Amazon Aurora Global Database により、複数の AWS リージョンにまたがる単一の Aurora データベースを使用しながら、グローバルに分散したアプリケーションを実行できるようになります。

Aurora グローバルデータベースは、データのマスターが配置される 1 つのプライマリ AWS リージョンと、最大 5 つの読み取り専用セカンダリ AWS リージョンで構成されます。書き込みオペレーションは、プライマリ AWS リージョン内のプライマリ DB クラスターに直接発行します。Aurora は、専用インフラストラクチャを使用しながら、通常 1 秒未満のレイテンシーで、データをセカンダリの AWS リージョンにレプリケートします。

次の図に、2 つの AWS リージョンにまたがる Aurora グローバルデータベースの例を示します。


        Auroraグローバルデータベースには、1 つのプライマリと、1 つ以上のセカンダリの Aurora DB クラスターがあります。

各セカンダリクラスターは、読み取り専用のワークロードを処理するために 1 つまたは複数の Aurora レプリカ (読み取り専用の Aurora DB インスタンス) を追加することで、個別にスケールアップすることができます。

書き込みオペレーションはプライマリクラスターのみが実行します。書き込みオペレーションを実行するクライアントは、プライマリクラスターの DB クラスターエンドポイントに接続します。図に示すように、Aurora グローバルデータベースでは、レプリケーションにはデータベースエンジンではなく、クラスターストレージボリュームを使用します。詳細については、「Aurora ストレージの概要」を参照してください。

Aurora グローバルデータベースは、ワールドワイドなフットプリントを持つアプリケーション向けに設計されています。読み取り専用のセカンダリ DB クラスター (AWS リージョン) を使用することで、アプリケーションユーザーのさらに近くで読み取り操作をサポートできます。書き込み転送などの機能を使用すれば、Aurora MySQL– ベースのグローバルデータベースを、セカンダリのクラスターからプライマリクラスターにデータを送信するように構成することもできます。詳細については、「Amazon Aurora グローバルデータベースの書き込み転送を使用する」を参照してください。

Aurora グローバルデータベースは、フェイルオーバーに対する 2 つの異なるアプローチをサポートできます。計画外のフェイルオーバープロセスでは、プライマリリージョンの停止後に、別のリージョンへのフェイルオーバー (クロスリージョンフェイルオーバー) により、Aurora グローバルデータベースを復旧できます。このプロセスの詳細については、予期しない停止からの Amazon Aurora グローバルデータベースの復旧 を参照してください。

災害に備えるために、計画された管理フェイルオーバーにより、正常な Aurora グローバルデータベースのプライマリクラスターを、データを損失することなく、セカンダリリージョンの 1 つに再配置できます。詳細については、「Amazon Aurora グローバルデータベースの計画的なフェイルオーバを管理する」を参照してください。

Amazon Aurora グローバルデータベースの利点

Aurora グローバルデータベースを使用すると、次の利点を得ることができます。

  • ローカルのレイテンシーによるグローバルな読み取り – 世界中にオフィスを持つ企業は、Aurora グローバルデータベースを使用することで、プライマリ AWS リージョンにある自社の主要な情報源を最新状態に保つことができます。他のリージョンにあるオフィスは、自社のリージョンにある情報にローカルのレイテンシーでアクセスすることができます。

  • スケーラブルなセカンダリ Aurora DB クラスター – セカンダリクラスターは、読み取り専用のインスタンス (Aurora レプリカ) をセカンダリ AWS リージョンにさらに追加することでスケールできます。セカンダリクラスターは読み込み専用です。したがって、読み込み専用の Aurora レプリカインスタンスを、1 つの Aurora クラスターにつき、通常の 15 件ではなく最大 16 件サポートします。

  • プライマリからセカンダリの Aurora DB クラスターへの迅速なレプリケーション–Aurora グローバルデータベースによるレプリケーションは、プライマリ DB クラスターのパフォーマンスにほとんど影響しません。DB インスタンスのリソースは、全面的にアプリケーションの読み取りおよび書き込みワークロードに当てられます。

  • リージョン全体にわたる停止からの回復 – セカンダリクラスターを使用すると、従来のレプリケーションソリューションと比較して迅速 (低い RTO) かつ少ないデータ損失 (低い RPO) で、Aurora グローバルデータベースを新しいプライマリ AWS リージョンで使用できるようになります。

Amazon Aurora グローバルデータベースの制限

現在、Aurora グローバルデータベースには以下の制限があります。

  • Aurora グローバルデータベースを使用できるのは、一部の AWS リージョン、および Aurora MySQL と Aurora PostgreSQL の特定バージョンのみです。詳細については、「Aurora グローバルデータベース」を参照してください。

  • Aurora グローバルデータベースには、サポートされる Aurora DB インスタンスクラス、AWS リージョンの最大数などに関する特定の設定要件があります。詳細については、「Amazon Aurora グローバルデータベースの構成要件」を参照してください。

  • Aurora グローバルデータベースの管理された計画済みのフェイルオーバーには、次のいずれかの Aurora データベースエンジンが必要です。

    • Aurora MySQL 5.6、バージョン 1.23.1 (以降)

    • Aurora MySQL 5.7、バージョン 2.09.1 (以降)

    • Aurora PostgreSQL バージョン 10.14 (以降)、11.9 (以降)、および 12.4 (以降)

  • Aurora グローバルデータベースは、現在、以下の Aurora 機能をサポートしていません。

    • Aurora マルチマスタークラスター

    • Aurora Serverless v1

    • Aurora でのバックトラック

    • Amazon RDS プロキシ

  • Aurora グローバルデータベースは、現在、セカンダリ DB クラスターの Aurora Auto Scaling をサポートしていません。

  • データベースアクティビティストリームは、以下の Aurora MySQL と Aurora PostgreSQL のバージョンを実行している Aurora グローバルデータベースでのみ開始できます。

    データベースエンジン プライマリ AWS リージョン セカンダリ AWS リージョン

    Aurora MySQL

    Aurora MySQL 5.7 (バージョン 2.08 以降)

    Aurora MySQL 5.7 (バージョン 2.08 以降)

    Aurora PostgreSQL

    Aurora PostgreSQL 10.11 (以降)

    Aurora PostgreSQL 10.14 (以降)

    Aurora PostgreSQL 11.7 (以降)

    Aurora PostgreSQL 11.9 (以降)

    データベースアクティビティストリームについては、「データベースアクティビティストリームを使用した Amazon Aurora のモニタリング」を参照してください。

  • Aurora グローバルデータベースをアップグレードするときは、プライマリクラスターをアップグレードする前に、すべてのセカンダリクラスターをアップグレードします。ただし、Aurora PostgreSQL–ベースの Aurora グローバルデータベースの場合、Aurora DB エンジンは最新のマイナーバージョンにのみアップグレードが可能です。この制限が適用されるのは、Aurora PostgreSQL 専用の Aurora DBクラスターのみです。Aurora MySQL には適用されません。Aurora DB エンジンのアップグレードに関する詳細は、「Aurora MySQL DB クラスターのマイナーバージョンまたはパッチレベルのアップグレード」または「Aurora PostgreSQL の PostgreSQL DB エンジンのアップグレード」を参照してください。

  • Aurora グローバルデータベースにある Aurora DB クラスターは、個別に停止または開始することはできません。詳細については、「Amazon Aurora DB クラスターの停止と開始」を参照してください。

  • プライマリ Aurora DB クラスターにアタッチされた Aurora レプリカは、特定の場合に再起動することが可能です。プライマリ AWS リージョンの DB インスタンスが再起動またはフェイルオーバーすると、そのリージョンにある Aurora レプリカも再起動します。このクラスターは、その後すべてのレプリカがプライマリ DB クラスターのライターインスタンスと同期するまでは、使用できません。この動作は予測されたもので、Amazon Aurora でのレプリケーション に説明されています。プライマリ DB クラスターに変更を加えるときは、必ず事前に、Aurora グローバルデータベースへの影響を把握してください。詳細については、「予期しない停止からの Amazon Aurora グローバルデータベースの復旧」を参照してください。

  • Aurora グローバルデータベースで実行されている Aurora PostgreSQL– ベースのDBクラスターには、以下の制限があります。

    • クラスターキャッシュ管理は、Aurora グローバルデータベースの一部である Aurora PostgreSQL DB クラスターではサポートされません。

    • Aurora グローバルデータベースのプライマリ DB クラスターが Amazon RDS PostgreSQL インスタンスのレプリカをベースとしている場合、セカンダリクラスターを作成することはできません。そのクラスターから、AWS Management Console、AWS CLI、または CreateDBCluster API オペレーションを使用してセカンダリを作成しようとしないでください。作成しようとするとタイムアウトし、セカンダリクラスターは作成されません。

プライマリと同じバージョンの Aurora DB エンジンを使用して、Aurora グローバルデータベースのセカンダリ DB クラスターを作成することを推奨します。詳細については、「Amazon Aurora グローバルデータベースの作成」を参照してください。