AllocateReadWriteSplittingConnectionを呼び出して、ApsaraDB RDSインスタンスの読み書き分離エンドポイントを申請できます。

読み取り専用インスタンスがプライマリApsaraDB RDS for SQL Serverインスタンスにアタッチされている場合、この操作を呼び出して、プライマリインスタンスの統一された読み取り専用ルーティングエンドポイントを申請できます。 プライマリインスタンスの読み取り専用ルーティングエンドポイントを申請した後も、プライマリインスタンスとその読み取り専用インスタンスの既存のエンドポイントは有効なままです。 さらに、内部およびパブリックエンドポイントを申請することもできます。

この API を呼び出す場合、インスタンスは次の要件を満たしている必要があります。

  • インスタンスがMySQLを実行する場合、インスタンスは共有プロキシを使用します。
  • インスタンスのステータスは [実行中] です。
  • 読み取り専用インスタンスはプライマリインスタンスにアタッチされます。
  • インスタンスには、進行中のデータ転送サービス (DTS) 移行タスクがありません。
  • インスタンスは、次のデータベースバージョンとRDSエディションのいずれかを実行します。
    • SQL Server (クラスターエディション)
    • ローカルSSDを使用したRDS High-availability EditionのMySQL 5.7
    • MySQL 5.6

デバッグ

OpenAPI Explorer は署名値を自動的に計算します。 この操作は、OpenAPI Explorer で呼び出すことを推奨します。 OpenAPI Explorerは、さまざまなSDKのサンプルコードを動的に生成します。

リクエストパラメーター

項目 データ型 必須/任意 例: 説明 
操作 String 必須 AllocateReadWriteSplittingConnection

実行する操作です。 値をAllocateReadWriteSplittingConnectionに設定します。

DBInstanceId String 必須 rm-uf6wjk5xxxxxxx

プライマリインスタンスのID。 DescribeDBInstancesを呼び出して、インスタンスのIDを照会できます。

ConnectionStringPrefix String 任意 rr-m5exxxxx-rw.mysql.rds.aliyuncs.com

読み取り専用ルーティングエンドポイントのプレフィックス。 プレフィックスは一意である必要があります。 長さは最大30文字で、小文字とハイフン (-) を使用できます。 小文字で始める必要があります。

説明 デフォルトのプレフィックスは、プライマリインスタンスの名前とそれに続くrwの文字で構成されます。
ポート String 任意 1433

読み取り専用ルーティングエンドポイントに関連付けられているポート。 有効な値: 1000〜5999。 デフォルト値: 1433

MaxDelayTime String 任意 30

読み取り専用インスタンスで許可されるレイテンシのしきい値。 有効な値: 0 ~ 7200 デフォルト値:30。 単位:秒。

説明 読み取り専用インスタンスのレイテンシが指定されたしきい値を超える場合、ApsaraDB RDSは読み取り要求を読み取り専用インスタンスに転送しません。
NetType String 任意 イントラネット

読み取り専用ルーティングエンドポイントのネットワークタイプ。 有効な値:

  • インターネット: インターネット
  • イントラネット: 内部ネットワーク
説明 デフォルト値はイントラネットです。 読み取り専用ルーティングエンドポイントのネットワークタイプがプライマリインスタンスのネットワークタイプと同じであることを確認します。
DistributionType String 任意 スタンダード

読み取り重みを割り当てるために使用されるメソッド。 有効な値:

  • 標準: ApsaraDB RDSは、これらのインスタンスの仕様に基づいて、プライマリインスタンスと読み取り専用インスタンスに読み取り重みを自動的に割り当てます。
  • カスタム: 各インスタンスに読み取り重みを手動で割り当てる必要があります。
重量 String 任意 {"rm-bp1 **********":800,"master":400,"slave":400}

プライマリインスタンスとその読み取り専用インスタンスの読み取り重み。 読み出し重みは、100の増分で増加する。 最大値は10000です。

  • ApsaraDB RDSインスタンスの場合、このパラメーターの値は次の形式です。{"<読み取り専用インスタンスのID>":<Weight> 、"master":<Weight> 、"slave":<Weight>}
  • ApsaraDB MyBaseインスタンスの場合、このパラメーターの値は次の形式です。[{"instanceName":"<プライマリインスタンスのID>" 、"weight":<Weight> 、"role":"master" },{ "instanceName":"<プライマリインスタンスのID>" 、"weight":<Weight> 、"role":"slave" },{ "instanceName":"<読み取り専用インスタンスのID>" 、"weight":<Weight> 、"role":"master"}]
説明
  • DistributionTypeパラメーターをCustomに設定した場合、このパラメーターも指定する必要があります。
  • DistributionTypeパラメーターを標準に設定した場合、このパラメーターは無効です。

レスポンスパラメーター

項目 データ型 例: 説明 
RequestId String 4C467B38-3910-447D-87BC-AC049166F216

リクエストの ID です。

リクエストの例

http(s):// rds.aliyuncs.com/?Action=AllocateReadWriteSplittingConnection
&DBInstanceId=rm-uf6wjk5xxxxxxx
&ConnectionStringPrefi x=rr-m5exxxxx-rw.mysql.rds.aliyuncs.com
&ポート=1433
&MaxDelayTime=30
&NetType=イントラネット
&DistributionType=標準
&Weight={"rm-bp1 **********":800,"master":400,"slave":400}
&共通リクエストパラメータ

正常に処理された場合のレスポンス例

XML 形式

HTTP/1.1 200 OK
Content-Type:application/xml

<AllocateReadWriteSplittingConnectionResponse>
    <RequestId>4C467B38-3910-447D-87BC-AC049166F216</RequestId>
</AllocateReadWriteSplittingConnectionResponse>

JSON 形式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "4C467B38-3910-447D-87BC-AC049166F216"
}

エラーコード

エラーコードのリストについては、エラーセンターをご覧ください。