概要
TencentDB for MySQLは、ユーザーによる1つ以上の読み取り専用インスタンスが構成する読み取り専用インスタンスROグループの作成をサポートし、読み取り/書き込み分離と1つのマスターと複数のスレーブのユースケースに適用することで、ユーザーデータベースの読み取り負荷能力を顕著に向上させることができます。
ROグループは読み取り専用インスタンスの集合であり、1つのROグループが1つのアドレスを共有し、同時にその中の読み取り専用インスタンスの重み付けによるトラフィックのロードバランシングの設定や、遅延の排除設定などを行うことができます。ユーザーは必要に応じてROグループをデプロイし、対応する読み取りリクエストを一定のルールによって読み取り専用インスタンスに送信することができます。同一のROグループ内に複数の読み取り専用インスタンスを配置することで、障害復旧の役割を果たすことができます。
TencentDB for MySQLでは、2種類のROグループが利用可能です。通常のROグループと分析用ROグループです。
通常のROグループ:InnoDBを利用した通常の読み取り専用インスタンスのROグループです。負荷分散、遅延解消、最小インスタンス数の維持といった機能をサポートしています。
分析ROグループ:読み取り専用分析エンジンのROグループです。負荷分散機能のみサポートしています。
ご注意:
分析用ROグループでは読み取り専用分析エンジンのみ管理可能です。通常のROグループでは通常の読み取り専用インスタンスのみ管理可能です。
ROグループは、2ノードまたは3ノード構成のマスターインスタンスまたは災害復旧インスタンスでのみ作成できます。
遅延閾値を設定した場合、読み取り専用インスタンスが再起動または再構築された後も、遅延が設定している閾値以内に回復するまではROグループに再参加しません。
前提条件
読み取り専用インスタンスを作成する前に、クラウドデータベースのマスターインスタンスを作成する必要があります。詳細については、MySQLインスタンスの作成をご参照ください。 読み取り専用インスタンスROグループの作成
1. MySQLコンソールにログインし、インスタンスリストのインスタンスIDまたは操作列の管理をクリックし、インスタンス管理ページに進みます。 2. 読み取り専用インスタンスページにて、新規作成をクリックし、購入画面に進みます。
3. 購入ページで、読み取り専用インスタンスに対応する設定を選択し、間違いないことを確認してから、今すぐ購入をクリックします。
インスタンスエンジン:読み取り専用インスタンスのエンジンを選択します。現在、InnoDBおよびLibraDBエンジンが対応しています。ここではInnoDBエンジンを選択します。
ROグループの指定:ROグループの新規作成を選択します。1回で複数のインスタンスを購入した場合、すべてこのROグループに割り当てられます。重みの割り当て方法は、デフォルトでシステム自動割り当てになります
ROグループ名の設定:ROグループ名は一意である必要はありません。長さが60未満の中国語、英語、数字、「-」、「_」、「.」をサポートします。
遅延超過による除外:マスターとスレーブ間のレプリケーション中に、スレーブインスタンスが一定時間以上マスターの更新を取得できず、遅延が事前に設定された閾値を超えた場合、自動的に接続が切断され、スレーブインスタンスはレプリケーションチェーンから除外されます。これにより、チェーン全体の可用性とパフォーマンスを確保します。除外ポリシーの有効/無効は設定可能です。
読み取り専用インスタンスが閾値を超えて除外された場合、ユーザーにアラートが送信され(アラートの設定と通知先についてはアラート機能をご参照ください)。また、インスタンス状態は「同期停止中」、重みは0となります。遅延が回復し閾値を下回ると、自動的にROグループへ再参加します。また、遅延除外設定の有無に関わらず、インスタンスに障害が発生して除外された場合も、復旧後には自動的に再参加します。 遅延しきい値:読み取り専用インスタンスに設定する遅延・超過しきい値。しきい値を超えた読み取り専用インスタンスはROグループから排除されます。
最小保留インスタンス数:グループ内で保証する必要のあるインスタンスの下限数。既存の読み取り専用インスタンス数がこの下限以下であり、かつ遅延時間がしきい値を超えた場合、既存の読み取り専用インスタンスはいずれも排除されません。
読み取り重みの割り当て:システムが自動的に割り当てます。
課金モード:従量課金モードがサポートされています。
地域:デフォルトではマスターインスタンスと同一リージョンとなりますが、他のリージョンも選択可能です。
データベースバージョン:デフォルトはマスターインスタンスのバージョンと同じです。
エンジン:デフォルトはマスターインスタンスと同じです。
アーキテクチャ:シングルノード用です。シングルノードアーキテクチャはコストパフォーマンスが高いですが、単一の読み取り専用インスタンスにはシングルポイントリスクが存在します。可用性を必要とするビジネスROグループの場合は、可用性を確保するために、少なくとも2つの読み取り専用インスタンスを購入することをお勧めします。
データレプリケーション方法:非同期レプリケーション。
アベイラビリティーゾーン:このリージョンに複数のアベイラビリティーゾーンがある場合、読み取り専用インスタンスはアベイラビリティーゾーンを選択できます。
4. インスタンスリストに戻ると、作成されたインスタンスのステータスは出荷中になっています。ステータスが実行中に切り換わると、読み取り専用インスタンスの作成が成功したことを表わします。
読み取り専用インスタンスROグループの設定
読み取り専用インスタンスROグループの設定インターフェースで、読み取り専用インスタンスROグループID、名前、インスタンスの遅延レプリケーション、遅延時間、インスタンスの遅延・超過の排除、遅延しきい値、最小保留インスタンス、読み取りの重みなどの基本情報を設定することができます。
説明:
ROグループ内の読み取り専用インスタンスは異なる仕様を使用することができ、トラフィック読み取りの重みを設定することができます。
同一ROグループ内の読み取り専用インスタンスは、異なる有効期限と課金方式をサポートすることできます。
遅延レプリケーションを起動すると、ROグループ内のすべてのROインスタンスが有効になりますが、ROインスタンスのレプリケーションステータスは変わりません。
遅延時間のオプションは、遅延レプリケーションが起動しているときのみ表示されます。
1. MySQLコントロールパネルにログインし、インスタンス一覧から対象のマスターインスタンスまたは災害復旧インスタンスを選択し、インスタンスIDをクリックして、インスタンス管理画面に進みます。 2. インスタンス管理ページで、読み取り専用インスタンスページを選択し、ROグループリストで設定をクリックし、ROグループ設定ページに進みます。
3. ROグループ設定ページで、ROグループの情報を設定し、OKをクリックします。
インスタンス遅延レプリケーション:遅延レプリケーションを設定し、遅延中に指定された時間またはGTID(グローバルトランザクション識別子)へのリカバリの開始を選択することで、データの効率的なロールバックと障害の高速バックトラッキングを実現できます。
遅延時間:読み取り専用インスタンスとマスターインスタンス間の遅延レプリケーション時間です。設定可能範囲:1~259200秒。
インスタンスの遅延・超過の排除:排除ポリシーを起動するかどうかです。排除されたインスタンスの重みは自動的に0に設定されます。読み取り専用インスタンスの遅延がしきい値を超えて排除されると、ユーザーにアラートが出されます。読み取り専用インスタンス排除アラートと受信対象の設定については、アラート機能をご参照ください。 遅延しきい値:読み取り専用インスタンスに設定する遅延・超過しきい値。しきい値を超えた読み取り専用インスタンスはROグループから排除されます。
最小保留インスタンス数:グループ内で保証する必要のあるインスタンスの下限数。既存の読み取り専用インスタンス数がこの下限以下であり、かつ遅延時間がしきい値を超えた場合、既存の読み取り専用インスタンスはいずれも排除されません。
読み取りの重みの割り当て:ROグループはシステムによる重みの自動割り当てと重みのカスタマイズの2種類の重み設定方法をサポートします。重み入力範囲は0~100で、整数でなければなりません。システムが自動割り当てする2ノード、3ノードMySQLインスタンスの読み取り重みリスト:
リロードバランシング:
リロードバランシングを停止した時は、重みを修正した時に追加の負荷に対してのみ反映され、元の長時間接続がアクセスする読み取り専用インスタンスは変更されず、データベースの瞬断を引き起こすことがありません。
リロードバランシングを有効にした時は、データベースが数秒間瞬断されることにより、すべての接続が切断されます。新規の接続は設定された重みに従い負荷のバランスをとります。
読み取り専用インスタンスROグループの破棄と削除
説明:
ROグループは手動による削除機能を提供していません。
ROグループはグループ内の最後の読み取り専用インスタンスの完全破棄に従って、自動的に削除されます。
ブランクのROグループの保留をサポートしていません。
1. MySQLコンソールにログインし、インスタンスリストでマスターインスタンスIDをクリックして、インスタンス管理ページに進みます。 2. インスタンス管理画面で、読み取り専用インスタンスタブで、右側の操作列でインスタンスを破棄または破棄/返却をクリックします。
3. 表示されたポップアップで、破棄内容を確認し、確定破棄をクリックします。破棄ルールを確認・同意の上、確定をクリックします。
よくある質問
読み取り専用インスタンス作成時、特定のアベイラビリティーゾーンが選択できないのはなぜですか?
アベイラビリティーゾーンを選択できないことは、そのアベイラビリティーゾーンで現在利用可能なリソースが存在しないことを示します。購入画面で別のアベイラビリティーゾーンを選択してください。読み取り専用インスタンスの使用には支障をきたしません。
読み取り専用インスタンス作成時、マスターインスタンスと異なるアベイラビリティーゾーンを選択できますか?
読み取り専用インスタンス作成時、新規ROグループを選択する場合は、マスターインスタンスとは異なるアベイラビリティゾーンを選択できます。ただし、既存のROグループを選択した場合、アベイラビリティーゾーンは既存のグループが所属するアベイラビリティーゾーンと一致する必要があります。マスターインスタンスと同一であるとは限りません。
既存のROグループに読み取り専用インスタンスを追加しようとした際にInvalidParameter.RoGroupError.RoCdbTypeErrorというエラーが表示されました。原因はなんですか?
正しい読み取り専用インスタンスのタイプが選択されていないからです。同一のROグループ内では、すべてのインスタンスが同一タイプである必要があります(例:汎用型と専用型を混在させることはできません)。ROグループ配下にすでに存在する読み取り専用インスタンスのタイプを確認し、それに合わせて新規作成してください。