背景
ROグループは読み取り専用インスタンスの集合体であり、インスタンスの重みを設定してトラフィック負荷分散を実現できます。データベースには1つまたは複数の読み取り専用インスタンスROグループを作成可能です。必要に応じてROグループをデプロイし、対応する読み取りリクエストを特定のルールに基づき読み取り専用インスタンスに転送することで、データベースの読み込み負荷能力を大幅に向上させられます。TDSQL-C for MySQLのデータベースプロキシは複数の接続アドレス設定をサポートし、異なるアドレスで個別の読み取り専用インスタンスをマウント可能です。ビジネスアプリケーション側では、同一クラスタに複数のデータベースプロキシ接続アドレスを関連付けることで、従来のデータベースにおける複数ROグループシナリオを実現でき、さらに多くの優位性を備えています。
従来のデータベースにおける複数ROグループ
例:
プライマリインスタンス「接続アドレス」:10.0.1.22:3306。
ROグループ「接続アドレスA」:10.0.1.78:3306、マウント対象ROインスタンス:RO1。
ROグループ「接続アドレスB」:10.0.1.80:3306、マウント対象ROインスタンス:RO2、RO3。
複数のデータベースプロキシ接続アドレス
例:
データベースプロキシ【接続アドレス A】:172.20.0.10:3306、接続先ROインスタンス:RO1。
データベースプロキシ【接続アドレス B】:172.20.0.12:3306、接続先ROインスタンス:RO2、RO3。
説明:
上記のプライマリインスタンスのIPアドレス、ROグループのプライベートネットワークアドレス、データベースプロキシ接続アドレスはすべて例示であり、実際の接続サービスを提供していません。
TDSQL-C for MySQLでデータベースプロキシを有効化すると、複数のデータベースプロキシ接続アドレスを設定可能です。異なる接続アドレスにはそれぞれ別の読み取り専用インスタンスをマウントすることで、従来のデータベースにおける複数ROグループシナリオを実現できます(データベースプロキシ接続アドレスAは従来のROグループ接続アドレスAに相当し、データベースプロキシ接続アドレスBはROグループ接続アドレスBに相当します)。さらに、従来の複数ROグループシナリオと比較して、以下の優位性を備えています:
複数の読み取り専用インスタンスをマウント可能であり、従来のデータベースと比べてマウント可能なインスタンス数が多くなります。
読み書き可能な属性のインスタンスをマウント可能です。
トランザクション分離をサポートします。
コネクションプールをサポートします。
再CLBをサポートします。
一貫性レベルの設定をサポートします。
アクセスモード設定をサポートします。
データベースプロキシ接続アドレスを介した異なるインスタンスのマウント操作デモ
ステップ1:データベースプロキシを有効化します。
説明:
有効化されたデータベースプロキシのノード数と同じ数の接続アドレスを作成できます。複数ROグループシナリオを実現するには、データベースプロキシを有効化する際に少なくとも2つのノードを構成する必要があります。
ステップ2、インスタンスをマウントする
単一データベースプロキシ接続アドレスのインスタンスマウント
TDSQL-C for MySQLでは、データベースプロキシを有効化すると、デフォルトで1つのデータベースプロキシ接続アドレスが提供されます。ここではこれをデータベースプロキシ接続アドレスAと記します。データベースプロキシ管理ページ > 概要 > 接続アドレスで確認できます。
以下では、データベースプロキシ接続アドレスAに読み取り専用インスタンスRO1を接続する操作方法をご説明します。
1. データベースプロキシ管理ページ > 概要 > 接続アドレスで対象のアクセスアドレスを見つけ、その操作列の設定調整をクリックします。
2. 遷移先のウィンドウで、読み書き属性を「読み取り専用」に選択し、その他のポリシー設定を完了して次へをクリックします。
3. 読み取り重み割り当てで、読み取り専用インスタンスRO1を有効化し、必要に応じてその重みを設定して、確定をクリックします。
複数のデータベースプロキシ接続アドレスにインスタンスを接続
単一のデータベースプロキシ接続アドレスに読み取り専用インスタンスを接続した後、複数のデータベースプロキシ接続アドレスを作成してインスタンスを接続することも可能です。以下では、データベースプロキシ下に新規接続アドレスBを作成し、読み取り専用インスタンスRO2、RO3を接続する方法をご説明します。
1. データベースプロキシ管理ページで、接続アドレスの横にある新規アクセスアドレス追加をクリックします。
2. 新規接続ウィンドウでネットワーク設定を完了し、次へをクリックします。
3. 設定ポリシーウィンドウで、読み書き属性を「読み取り専用」に選択し、その他のポリシー設定を完了して次へをクリックします。
4. 読み取り重み割り当てで、読み取り専用インスタンスRO2、RO3を有効化し、必要に応じてその重みを設定して、確定をクリックします。
手順3:設定を適用
データベースプロキシの有効化とデータベースプロキシ接続アドレスへのインスタンス接続が完了すると、アプリケーション側で異なる業務に応じてデータベースプロキシアドレスAとBを個別に設定できます。これにより、プロキシアドレス経由のリクエストはすべてプロキシクラスタを介して中継され、クラスタ配下の異なるインスタンスにアクセス可能となります。つまり、従来のデータベースが提供する複数ROグループ機能を実現し、より多くの利点を備えています。