このトピックでは、ApsaraDB RDS for MySQLのRDS High-availability Editionについて説明します。
RDS High-availability Editionは広く使用されているエディションです。 このエディションのRDSインスタンスは、可用性の高いサービスを提供するためにプライマリ /セカンダリアーキテクチャにデプロイされます。 このエディションは、インターネット、IoT、オンライン小売、ロジスティクス、ゲームなど、さまざまな業界での80% 以上のユースケースに適しています。
セカンダリRDSインスタンスは、プライマリRDSインスタンスのスタンバイとして機能し、外部サービスにアクセスできません。
トポロジ
メリット
High availability
RDS High-availability Editionでは、プライマリRDSインスタンスのデータをセカンダリRDSインスタンスに同期するために使用されるモードは、選択したパラメーターテンプレートによって異なります。 非同期または同期モードは、データの同期に使用されます。 プライマリインスタンスにアクセスできなくなった場合、データベースシステムはセカンダリインスタンスにフェールオーバーします。
RDS High-availability Editionでは、プライマリRDSインスタンスとセカンダリRDSインスタンスは、同じリージョンの同じゾーンまたは異なるゾーンにデプロイできます。 プライマリRDSインスタンスとセカンダリRDSインスタンスが異なるゾーンにデプロイされている場合、ゾーン間のディザスタリカバリを実装でき、データベースシステムの可用性が向上します。
説明セカンダリインスタンスにアクセスできなくなった場合、プライマリインスタンスのデータはリアルタイムでバックアップされます。 バックアップがほぼ完了すると、FLUSH TABLE WITH READ LOCK (FTWRL) ステートメントが実行されます。 これにより、最大5秒間保持されるグローバルロックがトリガーされます。 グローバルロックが保持されている場合、プライマリインスタンスは読み取り専用モードになります。
デフォルトのパラメーターテンプレートを選択すると、半同期モードが使用されます。 非同期パラメーターテンプレートまたは高性能パラメーターテンプレートを選択した場合、非同期モードが使用されます。
非同期モードでは、アプリケーションによって開始された更新がプライマリインスタンスで完了した後、ログはセカンダリインスタンスに同期されます。 セカンダリインスタンスがログを受信すると、更新トランザクションはコミットされたと見なされます。 データベースシステムは、ログが再生されるのを待つ必要はありません。 セカンダリRDSインスタンスが使用できない場合、またはプライマリRDSインスタンスとセカンダリRDSインスタンスの間でネットワークの中断が発生した場合、半同期モードは非同期モードに低下します。
同期モードでは、アプリケーションによって開始された追加、削除、または変更操作がプライマリインスタンスで完了した後、プライマリインスタンスはすぐにアプリケーションに応答します。 同時に、プライマリインスタンスは、追加、削除、または変更されたデータをセカンダリインスタンスにレプリケートします。 非同期モードでは、セカンダリインスタンスが使用できない場合でも、プライマリインスタンスのワークロードは期待どおりに実行されます。 ただし、プライマリインスタンスが使用できない場合、プライマリインスタンスとセカンダリインスタンス間のデータの不一致によりエラーが発生する可能性があります。
包括的な機能
RDS High-availability Editionには、自動スケーリング、バックアップと復元、パフォーマンスの最適化、読み書き分離、SQL Explorerなどの完全な機能が用意されています。 SQL Explorer機能は、実行されたすべてのステートメントのログを最大5年間保存します。 ログを使用して、データベースで実行された操作を追跡できます。これにより、データのセキュリティを確保できます。
制限事項
パフォーマンスのために、プライマリRDSインスタンスとセカンダリRDSインスタンスを同じリージョンにデプロイする必要があります。
RDSインスタンスのRDSエディションをRDS High-availability editionにアップグレードする
RDS Basic Editionを実行するRDSインスタンスは、スタンドアロンアーキテクチャでデプロイされます。 ホットスタンバイがないため、RDSインスタンスに障害が発生すると、ワークロードのダウンタイムが長くなる場合があります。 これは、仕様の変更やデータベースエンジンのアップグレード時にも発生します。 高いサービス可用性が必要な場合は、RDS high-availability Editionの使用を推奨します。
RDS High-availability Editionを直接購入するか、RDS Basic editionを実行するRDSインスタンスのRDSエディションをRDS High-availability Editionにアップグレードできます。 新しいRDSインスタンスにデータを移行したり、元のRDSインスタンスを再利用したりする必要がないため、アップグレードが便利です。 RDSインスタンスがRDS Basic EditionでMySQL 5.7またはMySQL 8.0を実行している場合、ApsaraDB RDSコンソールでRDSエディションをRDS High-availability editionにアップグレードできます。 詳細については、「RDS Basic editionからRDS High-availability EditionへのRDSエディションのアップグレード」をご参照ください。
RDS インスタンスの作成
RDS High-availability Editionを実行するRDSインスタンスの作成方法の詳細については、「ApsaraDB RDS For MySQLインスタンスの作成」をご参照ください。
よくある質問
セカンダリRDSインスタンスへの直接接続を確立できますか。
いいえ、セカンダリRDSインスタンスへの直接接続は確立できません。 直接接続は、プライマリRDSインスタンスに対してのみ確立できます。 セカンダリRDSインスタンスはスタンバイとして機能し、外部からアクセスすることはできません。
RDSインスタンスをRDS High-availability EditionからRDS Basic Editionにダウングレードできますか。
いいえ、RDSインスタンスをRDS High-availability EditionからRDS Basic Editionにダウングレードすることはできません。 RDSインスタンスをRDS High-availability EditionからRDS Basic Editionにダウングレードする場合は、RDS Basic Editionを実行するRDSインスタンスを購入し、元のRDSインスタンスのデータを新しいRDSインスタンスに移行できます。 次に、元のRDSインスタンスをリリースします。 詳細については、「RDSインスタンス間のデータ移行」をご参照ください。
RDS High-availability EditionでRDSインスタンスのデータレプリケーションモードを変更するにはどうすればよいですか。
詳細については、「データレプリケーションモードのクエリと変更」をご参照ください。
RDS High-availability Editionを使用しています。 セカンダリRDSインスタンスがプライマリRDSインスタンスよりも重いワークロードを処理する場合、データレプリケーションモードは非同期モードに変更されますか。
はい。セカンダリRDSインスタンスがプライマリRDSインスタンスよりも重いワークロードを処理する場合、データレプリケーションモードは非同期モードに変更されます。 詳細については、「データレプリケーションモード」をご参照ください。