High-Availability
IBM Cloud® Databases for MySQL は、IBM Cloud 環境に完全に統合されたマネージドのクラウド・データベース・サービスです。 データベース、ストレージ、サポート・インフラストラクチャーはすべて、IBM Cloud で実行されます。
Databases for MySQL は、インフラストラクチャーの保守、アップグレード、および障害の際に、データベースとデータを保護するための複製、フェイルオーバー、および高可用性の機能を提供します。 デプロイメントには、データ・メンバー 3 台 (リーダー 1 台とレプリカ 2 台) のクラスターが 1 つ含まれています。 フェイルオーバーを処理するために、すべてのメンバーには Orchestrator を使用したデータのコピーが含まれています。 リーダーにアクセスできない場合、クラスターはフェイルオーバーを開始し、レプリカがリーダーにプロモートされます。 レプリカはクラスターに再結合し、クラスターは引き続き正常に作動します。
Databases for MySQL は、通常の操作の下で、制御された切り替えを実行することがあります。 このような切り替えは、アクティブ接続のリセットにつながる非データ損失イベントです。 しばらくの間、再接続は失敗する可能性があります。 稼働環境での予期しないイベントによって、未計画フェイルオーバーが発生する可能性があります。 これらのフェイルオーバーには、もう少し時間がかかることがあります。 どちらの場合も、ダウン時間が長くなる可能性があります。
アプリケーション・レベルの高可用性
ネットワークとクラウド・サービスを介して通信するアプリケーションは、一時的な接続障害の影響を受けます。 アプリケーションを設計する際には、デプロイメントまたは IBM Cloud への接続が一時的に失われてエラーが発生した場合に接続を再試行するように設計することができます。
以下のような複数の理由で、データベースでダウン時間が発生する可能性があります。
- ネットワーク障害
- ストレージおよびボリューム関連の問題
- 高い CPU 使用率
- ディスク入出力率の高さ
- 接続の過負荷
Databases for MySQL はマネージド・サービスであるため、定期的な更新とデータベース保守が通常稼働の一環として行われます。 両方のレプリカが失われると、同期複製プロセスにフォロワーがないため、リーダーへの書き込みがハングします。 詳しくは、 MySQLの セミシンクロナスレプリケーションを参照してください。 このシナリオでは、データベースが使用できない短い間隔が発生することがあります。 また、データベースの正常なフェイルオーバー、再試行、および再接続が実施される可能性もあります。 レプリカであるメンバーとリーダーであるメンバーをデータベースが判別するのに短い時間がかかるため、短い接続の中断が発生する可能性があります。 フェイルオーバーにかかる時間は通常、30 秒未満です。 中断を最低限に抑えるために、更新はまずレプリカに、最後にリーダーに適用されます。
アプリケーションを設計する際には、データベースへの一時的な割り込みの処理、失敗したデータベース・コマンドのエラー処理の実装、一時的な中断から復旧するための再試行ロジックの実装を含める必要があります。
データベースを使用できない状態や接続の中断が数分に及ぶことは想定されていません。 接続されていない期間が 1 分を超える場合は、詳細情報を含む サポート Case を開いて調査してください。
接続制限
Databases for MySQL では、MySQL データベースへの接続の最大数を 200 に設定します。 いくつかの接続は、データベースの状態と保全性を維持するために内部的に予約されているため、使用可能なままにしておいてください。 接続限度に達すると、新しい接続を開始しようとしてもエラーになります。 接続が原因でデプロイメントが過負荷になることを防止するには、接続プーリングを使用するか、デプロイメントをスケーリングして接続制限を引き上げてください。 詳しくは、 MySQL Connections の管理を参照してください。
高可用性、災害復旧、SLA のリソース
Databases for MySQL のデプロイメントは、IBM Cloud Databases の HA、DR、SLA の情報および条件に準拠しています。