Amazon Aurora Global Database の使用 - Amazon Aurora

Amazon Aurora Global Database の使用

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

Amazon Aurora Global Database の概要

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

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

次の図に、2 つの AWS リージョン にまたがる Aurora Global Database の例を示します。


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

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

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

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

Aurora Global Database は、フェイルオーバーに対する 2 つの異なるアプローチをサポートします。プライマリリージョンの機能停止後に、Aurora Global Database を復旧するには、計画外の手動フェイルオーバープロセスを使用します。このプロセスでは、プライマリを別のリージョンにフェイルオーバーします (クロスリージョンフェイルオーバー)。このプロセスの詳細については、「予期しない停止からの Amazon Aurora Global Database の復旧」を参照してください。

メンテナンスなどの計画的なオペレーション手順については、管理計画フェイルオーバー を使用します。この機能を使用すると、正常な Aurora Global Database のプライマリクラスターを、データを損失せず、セカンダリリージョンの 1 つに再配置できます。詳細については、「Amazon Aurora Global Database の管理された計画的なフェイルオーバーを実行する」を参照してください。

Amazon Aurora Global Database の利点

Aurora Global Database を使用すると、次の利点を得ることができます。

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

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

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

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

Amazon Aurora Global Database の制限

現在、Aurora Global Database には以下の制限があります。

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

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

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

    • Aurora MySQL (MySQL 8.0 と互換)、バージョン 3.01.0 以上

    • MySQL 5.7 互換の Aurora MySQL、バージョン 2.09.1 以上

    • MySQL 5.6 互換の Aurora MySQL、バージョン 1.23.1 以上

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

  • Aurora Global Database は、現在、以下の Aurora 機能をサポートしていません。

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

    • Aurora Serverless v1

    • Aurora でのバックトラック

    • Amazon RDS プロキシ

  • マイナーバージョンの自動アップグレードは、Aurora Global Database の一部である Aurora MySQL クラスターや Aurora PostgreSQL クラスターには適用されません。なお、グローバルデータベースクラスターの一部である DB インスタンスに対してこの設定を指定できますが、その設定に効果はありません。

  • Aurora Global Database は、現在、セカンダリ DB クラスターの Aurora Auto Scaling をサポートしていません。

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

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

    Aurora MySQL 5.7

    バージョン 2.08 以降

    バージョン 2.08 以降

    Aurora PostgreSQL

    バージョン 13.3 以降

    バージョン 13.3 以降

    バージョン 12.4 以降

    バージョン 12.4 以降

    バージョン 11.7 以降

    バージョン 11.9 以降

    バージョン 10.11 以降

    バージョン 10.14 以降

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

  • 現在、Aurora Global Database のアップグレードには以下の制限があります。

    • Aurora グローバルデータベースのメジャーバージョンアップグレードを実行している間、グローバルデータベースクラスターにカスタムパラメータグループを適用できません。グローバルクラスターの各リージョンにカスタムパラメータグループを作成し、アップグレード後に手動でリージョンクラスターに適用します。

    • Aurora PostgreSQL に基づく Aurora グローバルデータベースでは、目標復旧時点 (RPO) 機能がオンになっている場合、Aurora DB エンジンのメジャーバージョンアップグレードを実行できません。RPO 機能については、「Aurora PostgreSQL- ベースのグローバルデータベースの RPO (目標復旧時点) 管理」を参照してください。

    Aurora Global Database のアップグレードについては、「Amazon Aurora Global Database のアップグレード」を参照してください。

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

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

  • Aurora Global Database で実行されている Aurora PostgreSQL- ベースのDBクラスターには、以下の制限があります。

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

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

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