このトピックでは、ApsaraDB RDS for MySQL の RDS Cluster Edition のアーキテクチャ、メリット、およびシナリオについて説明します。
RDS Cluster Edition の概要
ApsaraDB RDS for MySQL の RDS Cluster Edition は、1 つのプライマリノードと複数のセカンダリノードを含む高可用性 (HA) アーキテクチャを使用し、コンピューティングとストレージの分離をサポートしています。 RDS Cluster Edition は、自動フェールオーバー、プライマリ/セカンダリスイッチオーバー、読み取り可能なセカンダリノード、ノードの追加と削除、マルチゾーンディザスタリカバリ、ノードレベルの監視、およびクラスタトポロジ管理などの機能を提供します。 また、RDS Cluster Edition では、MySQL グループレプリケーション (MGR) モードを使用して、目標復旧時点 (RPO) を 0 にすることができます。RDS クラスタは、自己管理データベースよりも費用対効果が高く、柔軟性があり、信頼性があります。
次の表は、ApsaraDB RDS for MySQL の RDS Basic Edition、RDS High-availability Edition、および RDS Cluster Edition を比較したものです。
項目 | RDS Basic Edition | RDS High-availability Edition | RDS Cluster Edition |
ノードまたはインスタンスの数 | 1 | 2 (デフォルト) 説明 RDS High-availability Edition では、デフォルトで 1 つのプライマリインスタンスと 1 つのセカンダリインスタンスがプロビジョニングされます。さらにインスタンスが必要な場合は、読み取り専用インスタンスを作成できます。 | 2 ~ 9 説明 RDS Cluster Edition では、デフォルトで 1 つのプライマリノードと 2 つのセカンダリノードがプロビジョニングされます。 1 つのプライマリノードと 1 つのセカンダリノードで構成される RDS クラスタを作成することもできます。RDS クラスタは、RDS Cluster Edition を実行する RDS インスタンスと呼ばれます。RDS クラスタの作成後、RDS クラスタにノードを追加できます。RDS クラスタには、1 つのプライマリノードと 8 つのセカンダリノードを含む、最大 9 つのノードを含めることができます。 |
読み取り可能なセカンダリインスタンスまたはノード | 該当なし | サポートされていません | サポートされています |
エンドポイントタイプ | 読み書きエンドポイント | 読み書きエンドポイント |
|
レプリケーションモード | サポートされていません | 非同期レプリケーションと準同期レプリケーション | 非同期レプリケーション、準同期レプリケーション、および MGR |
使用不可のインスタンスまたはノードの最大数 | 0 | 1 | n - 1。n は RDS クラスタ内のノード数を示します。 |
ゾーンの数 | 1 | 2 以下 | RDS クラスタ内のノード数以下 |
アーキテクチャ
RDS Cluster Edition は、MySQL 5.7 および MySQL 8.0 を実行する ApsaraDB RDS for MySQL インスタンスでサポートされています。RDS クラスタは、1 つのプライマリノードと複数のセカンダリノードの HA アーキテクチャを使用します。次の図は、アーキテクチャを示しています。
メリット
費用対効果の向上
RDS クラスタのセカンダリノードは読み取り可能です。読み取り専用の RDS クラスタを作成する必要はありません。これにより、RDS クラスタの読み取り機能が線形に向上し、リソースのオーバーヘッドとコストが削減されます。RDS High-availability Edition を使用していて、RDS インスタンスの読み取り機能を向上させたい場合は、読み取り専用の RDS インスタンスを作成する必要があります。RDS High-availability Edition と比較して、RDS Cluster Edition はコストを 40% 削減します。
RDS クラスタのセカンダリノードにアクセスするには、次のいずれかの方法を使用できます。
読み取り専用ルーティングエンドポイント: RDS クラスタの読み取り専用ルーティングエンドポイントを無料で作成し、読み取り専用ルーティングエンドポイントに複数のセカンダリノードを追加できます。その後、セカンダリノードの読み取り重みを指定して負荷を分散できます。詳細については、「インスタンスのエンドポイントとポートを表示および管理する」をご参照ください。
データベースプロキシ: RDS クラスタのデータベースプロキシ機能を有効にして、RDS クラスタのプライマリノードとセカンダリノードで読み書き分離を実装できます。読み取り専用ルーティングエンドポイントと比較して、データベースプロキシ機能は、自動読み書き分離、持続的接続、コネクションプーリング、レイテンシしきい値、トランザクション分割などの高度な機能をサポートしています。詳細については、「専用プロキシ機能を有効にする」および「データベースプロキシとは」をご参照ください。
説明2024 年 6 月 25 日以降、RDS Cluster Edition を実行するプライマリ RDS インスタンスを作成する場合、汎用データベースプロキシはデフォルトで追加費用なしで含まれます。詳細については、「データベースプロキシの課金ルール」および「データベースプロキシとは」をご参照ください。
データベースプロキシの安定性に関する要件が高い場合は、プロキシタイプを汎用から専用に変更できます。詳細については、「データベースプロキシのタイプと数を変更する」および「データベースプロキシとは」をご参照ください。
専用プロキシ機能はいつでも無効にできます。詳細については、「専用プロキシ機能を無効にする」をご参照ください。
柔軟性の向上
柔軟なノードデプロイメント
RDS Basic Edition および RDS High-availability Edition と比較して、RDS Cluster Edition はノードトポロジ管理をサポートしています。RDS クラスタを作成した後、ビジネス要件に基づいて、より費用対効果の高い方法でノードを追加または削除できます 詳細については、「ApsaraDB RDS for MySQL クラスタにノードを追加するおよび「ApsaraDB RDS for MySQL クラスターからノードを削除する」をご参照ください。
ノードレベルの監視
RDS Cluster Edition は、ノードレベルの監視をサポートしています。RDS クラスタ内の各ノードのステータスを表示できます。
信頼性の向上
クロスゾーンディザスタリカバリ
RDS High-availability Edition では、HA を確保するために 1 つのプライマリインスタンスと 1 つのセカンダリインスタンスがプロビジョニングされます。RDS Cluster Edition では、RDS クラスタ内のすべてのセカンダリノードをディザスタリカバリに使用できます。クロスゾーンディザスタリカバリを実現するために、異なるゾーンにセカンダリノードをデプロイすることをお勧めします。
強力なデータ整合性
RDS クラスタに 3 つ以上のノードがデプロイされている場合、RDS クラスタに MGR モードを使用できます。MGR は、分散コンセンサスプロトコルである Paxos に基づいて開発されています。トランザクションがプライマリノードでコミットされる前に、システムはトランザクションのデータをセカンダリノードに送信し、セカンダリノードの大部分がデータを受信することを確認します。準同期レプリケーションおよび非同期レプリケーションと比較して、MGR は強力なデータ整合性とより高いデータセキュリティを保証します。
より信頼性の高いセカンダリノード
Alibaba Cloud の技術チームは、クラウドネイティブテクノロジーを使用して ApsaraDB RDS の詳細な最適化を実行しています。これにより、RDS クラスタのセカンダリノードの信頼性が向上します。
RDS 高可用性システムが再構築されます。これにより、セカンダリノードの障害を検出するために必要な時間が分単位から秒単位に短縮されます。
Elastic Block Storage (EBS) によって提供される 1 桁秒バックアップ機能が使用されます。これにより、データの復元にかかる時間が数十分から 1 分に短縮され、99% のユースケースでセカンダリノードが 10 分以内に障害から回復できるようになります。
セカンダリノードのレイテンシが 7,200 秒 (2 時間) を超えると、セカンダリノードは自動再構築方式を使用してレイテンシ関連の問題を解決します。
シナリオ
RDS Cluster Edition は、ピーク時に本番データベースで大量の読み取りリクエストを処理する必要がある、またはインテリジェントデータ分析を実行する必要がある大規模および中規模の企業に適しています。これらの企業には、オンライン小売業者、自動車企業、教育企業、および企業資源計画 (ERP) サービスプロバイダーが含まれます。
ApsaraDB RDS for MySQL の RDS Cluster Edition のシナリオ
項目 | 説明 |
RDS クラスタの構成 | |
RDS インスタンスの RDS Cluster Edition へのアップグレード | |
RDS Cluster Edition を実行する RDS インスタンスへのデータ移行 | |
MGR | |
データベースプロキシ |
RDS クラスタを作成する
RDS Cluster Edition を実行する RDS クラスタの作成方法の詳細については、「ステップ 1: ApsaraDB RDS for MySQL インスタンスを迅速に作成し、データベースを構成する」をご参照ください。