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

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

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

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

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

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

次の図では、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 のバックトラック

  • データベースアクティビティストリームは、以下の 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 グローバルデータベースのプライマリ DB クラスターが Amazon RDS PostgreSQL インスタンスのレプリカをベースとしている場合、セカンダリクラスターを作成することはできません。そのクラスターから、AWS マネジメントコンソール、AWS CLI、または CreateDBCluster API オペレーションを使用してセカンダリを作成しようとしないでください。作成しようとするとタイムアウトし、セカンダリクラスターは作成されません。

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