ModifyDBProxyEndpointを呼び出して、ApsaraDB RDSインスタンスのプロキシ端末設定を変更できます。

ModifyDBProxyEndpoint操作を呼び出す前に、インスタンスのデータベースプロキシ機能を有効にするためにModifyDBProxy操作が呼び出されていることを確認してください。

デバッグ

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

リクエストパラメーター

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

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

DBInstanceId String 必須 rm-bp145737x5bi6 ****

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

DBProxyEndpointId String 必須 gos787jog2wk0y ****

プロキシエンドポイントのID。 DescribeDBProxyEndpoint操作を呼び出して、プロキシ端末のプロキシエンドポイントを照会できます。

説明
  • インスタンスがMySQLを実行し、DbEndpointOperatorパラメーターをDeleteまたはModifyに設定した場合、DBProxyEndpointIdパラメーターを指定する必要があります。
  • インスタンスがPostgreSQLを実行し、DbEndpointOperatorパラメーターを削除変更、または作成に設定した場合、DBProxyEndpointIdパラメーターを指定する必要があります。
ConfigDBProxyFeatures String 任意 ReadWriteSpliting:1;ConnectionPersist:0

プロキシエンドポイントに対して有効にする機能。 複数のフィーチャーを指定する場合は、セミコロン (;) で区切ります。 形式: Feature 1:Status;Feature 2:Status;... 最後の値の末尾にセミコロン (;) を追加しないでください。

有効なフィーチャ値:

  • ReadWriteSpliting: 読み書き分離
  • ConnectionPersist: 接続プール
  • TransactionReadSqlRouteOptimizeStatus: トランザクション分割

有効なステータス値:

  • 1: enabled
  • 0: 無効
説明 インスタンスがPostgreSQLを実行している場合、ReadWriteSplitingで指定されている読み書き分離機能のみを有効にできます。
RegionId String 任意 cn-hangzhou

インスタンスのリージョン ID です。 DescribeRegions を呼び出して、最新のリージョンリストをクエリできます。

ReadOnlyInstanceMaxDelayTime String 任意 30

読み取り /書き込み分割で許可される最大レイテンシしきい値。 読み取り専用インスタンスのレイテンシが指定したしきい値を超えると、ApsaraDB RDSは読み取り要求を読み取り専用インスタンスに転送しなくなります。 このパラメーターを指定しない場合、このパラメーターのデフォルト値は保持されます。 単位:秒。 有効な値: 303600。 デフォルト値: 30

説明 このパラメーターは、読み書き分離機能が有効な場合にのみ指定する必要があります。
ReadOnlyInstanceDistributionType String 任意 スタンダード

読み取り重みの割り当てに使用されるポリシー。 有効な値:

  • 標準: ApsaraDB RDSは、インスタンスの仕様に基づいて、インスタンスとその読み取り専用インスタンスに読み取り重みを自動的に割り当てます。
  • カスタム: インスタンスとその読み取り専用インスタンスに読み取り重みを手動で割り当てる必要があります。
説明 このパラメーターは、読み書き分離機能が有効な場合にのみ指定する必要があります。

権限割り当てポリシーの詳細については、「ApsaraDB RDS For MySQLインスタンスのレイテンシしきい値と読み取り重みの変更」および「ApsaraDB RDS for PostgreSQLインスタンスのデータベースプロキシ機能の有効化と設定」をご参照ください。

ReadOnlyInstanceWeight String 任意 {"rm-uf6wjk5xxxx":"500","rr-tfhfgk5xxx":"200"...}

インスタンスとその読み取り専用インスタンスの読み取り重み。 読み取り重みは100単位で増加し、最大読み取り重みは10000です。 形式: {"Instance ID 1":"Read weight","Instance ID 2":"Read weight"...}

説明 ReadOnlyInstanceDistributionTypeパラメーターをCustomに設定した場合、ReadOnlyInstanceWeightパラメーターを指定する必要があります。
DbEndpointOperator String 任意 変更

実行する操作のタイプ。 有効な値:

  • 変更: プロキシ端末を変更します。 デフォルト値です。
  • 作成: プロキシ端末を作成します。
  • 削除: プロキシ端末を削除します。
DbEndpointAliases String 任意 test-proxy test-proxy

プロキシ端末の説明。

DbEndpointType String 任意 RWSplit

プロキシ端末のタイプ。 これは予約済みパラメータです。 指定する必要はありません。

DbEndpointReadWriteMode String 任意 ReadWrite

プロキシ端末の読み取りおよび書き込み属性。 有効な値:

  • ReadWrite: プロキシ端末はプライマリインスタンスに接続し、読み取り要求と書き込み要求の両方を受信できます。
  • ReadOnly: プロキシ端末はプライマリインスタンスに接続せず、読み取り要求のみを受信できます。 デフォルト値です。
説明
  • DbEndpointOperatorパラメーターを [作成] に設定した場合、DbEndpointReadWriteModeパラメーターを指定する必要があります。
  • インスタンスがMySQLを実行し、このパラメーターの値をReadWriteからReadOnlyに変更した場合、トランザクション分割機能は無効になります。
DBProxyEngineType String 任意 normal

内部パラメーター。 指定する必要はありません。

レスポンスパラメーター

項目 データ型 例: 説明 
RequestId String 6B50D92C-1960-4D4F-A290-AFADD6B1A5C8

リクエストの ID です。

リクエストの例

http(s):// rds.aliyuncs.com/?Action=ModifyDBProxyEndpoint
&DBInstanceId=rm-bp145737x5bi6 ****
&DBProxyEndpointId=gos787jog2wk0y ****
&ConfigDBProxyFeatures=ReadWriteSpliting:1;ConnectionPersist:1;
&ReadOnlyInstanceMaxDelayTime=30
&ReadOnlyInstanceDistributionType=標準
&<共通リクエストパラメーター>

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

XML 形式

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

<ModifyDBProxyEndpointResponse>
  <RequestId>6B50D92C-1960-4D4F-A290-AFADD6B1A5C8</RequestId>
</ModifyDBProxyEndpointResponse>

JSON 形式

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

{
  "RequestId" : "6B50D92C-1960-4D4F-A290-AFADD6B1A5C8"
}

エラーコード

HTTP ステータスコード エラーコード エラーメッセージ 説明 
400 InvalidVpcInstanceId 指定されたVPCインスタンスIDは無効です。 指定したVPC IDが無効な場合に返されるエラーメッセージ。
400 InvalidEndPoint. フォーマット 指定されたEndPointは無効です。 DBProxyEndpointIdパラメーターが空の場合、またはDBProxyEndpointIdパラメーターで指定されたプロキシエンドポイントが見つからない場合に返されるエラーメッセージ。
400 InvalidEndpointType. フォーマット 指定されたEndpointTypeは無効です。 EndpointTypeパラメーターの値が無効な場合に返されるエラーメッセージ。
400 IncorrectDBInstanceNetType 現在のデータベースインスタンスのネットワークタイプは、この操作をサポートしていません。 インスタンスのネットワークタイプがこの操作をサポートしていない場合に返されるエラーメッセージ。
400 EndpointNum. エラー エンドポイントの数が無効です。 設定したプロキシ端末の数が要件を満たしていない場合に返されるエラーメッセージ。
400 EndpointTypeOperation.NotSupport エンドポイントタイプは操作をサポートしていません。 指定されたプロキシ端末タイプがこの操作をサポートしていない場合に返されるエラーメッセージ。
400 InvalidDBInstanceName 指定されたパラメーターDBInstanceNameは無効です。 DBInstanceNameパラメーターの値が無効な場合に返されるエラーメッセージ。 値がnullまたは空の文字列であるかどうかを確認します。
400 ClusterEndpoint.StatusNotValid クラスターエンドポイントのステータスが無効です。 プロキシエンドポイントのステータスが無効な場合に返されるエラーメッセージ。
403 MaxScaleLevel.NotSupport 現在のmaxscale ins_numはこの操作をサポートしていません。 データベースプロキシの仕様がこの操作をサポートしていない場合に返されるエラーメッセージ。
403 ReadDBInstance.NotFound 現在のデータベースインスタンスには、読み取り専用インスタンスが含まれていません。 読み取り専用インスタンスがインスタンスにアタッチされていない場合に返されるエラーメッセージ。
403 IncorrectKindCode カスティンの現在のKindCodeは操作をサポートしていません。 インスタンスの設定がこの操作をサポートしていない場合に返されるエラーメッセージ。 インスタンスの設定を確認します。
403 IncorrectDBInstanceState 現在のデータベースインスタンスの状態は、操作をサポートしていません。 インスタンスのステータスがこの操作をサポートしていない場合に返されるエラーメッセージ。 インスタンスのステータスが [実行中] かどうかを確認します。
404 EndpointConfig.Invalid エンドポイント設定パラメーターを確認してください。 プロキシ端末の設定が無効な場合に返されるエラーメッセージ。 関連パラメーターの値を確認してください。
404 Readins.NotFound 現在のインスタンスには、読み取り専用インスタンスは含まれていません。 この操作はサポートされていません。 読み取り専用インスタンスがインスタンスにアタッチされていない場合に返されるエラーメッセージ。
404 Endpoint.NotFound 指定されたエンドポイントが見つかりません。 プロキシエンドポイントへの接続に使用されるポートが見つからない場合に返されるエラーメッセージ。
404 EndpointType.NotFound 指定されたエンドポイントタイプが見つかりません。 指定したプロキシ端末の種類がシステムに知られていない場合に返されるエラーメッセージ。
404 InvalidReadDBInstance.NotFound 指定された読み取り専用データベースインスタンスは存在しません。 インスタンスに読み取り専用インスタンスがアタッチされていないか、一部のリクエストパラメーターの設定が正しくない場合に返されるエラーメッセージ。
404 InvalidParam 指定された Weight は無効です。 指定した読み取り重みが無効な場合に返されるエラーメッセージ。

エラーコードリストについては、「API エラーセンター」をご参照ください。