Puede llamar a la operación CreateReadOnlyDBInstance para crear una instancia de solo lectura asociada a una instancia principal.
Antes de llamar a esta operación, tenga en cuenta los siguientes límites:
-
La instancia principal no puede pertenecer a un clúster dedicado y debe ejecutar una de las siguientes versiones del motor de base de datos y ediciones de RDS:
MySQL 8.0 en RDS High-availability Edition o RDS Enterprise Edition.
MySQL 5.7 en RDS High-availability Edition o RDS Enterprise Edition.
MySQL 5.6.
SQL Server 2017 en RDS Cluster Edition.
PostgreSQL 10, PostgreSQL 11, PostgreSQL 12, PostgreSQL 13, PostgreSQL 14 o PostgreSQL 15 en RDS High-availability Edition. Si la instancia principal ejecuta PostgreSQL 10, debe usar discos SSD locales y ser una instancia dedicada con un mínimo de 8 núcleos y 32 GB de memoria.
Si la instancia principal ejecuta MySQL, puede crear hasta 10 instancias de solo lectura.
Si la instancia principal ejecuta SQL Server, puede crear hasta siete instancias de solo lectura.
Si la instancia principal ejecuta PostgreSQL con discos SSD locales, puede crear hasta cinco instancias de solo lectura. Si ejecuta PostgreSQL con discos SSD estándar o discos ESSD, puede crear hasta 32 instancias de solo lectura.
Depuración
Parámetros de solicitud
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| Action | String | Sí | CreateReadOnlyDBInstance | La operación que desea ejecutar. Establezca el valor en CreateReadOnlyDBInstance. |
| ClientToken | String | No | ETnLKlblzczshOTUbOC**** | Token de cliente utilizado para garantizar la idempotencia de la solicitud. Puede usar el cliente para generar el valor, pero debe asegurarse de que sea único entre distintas solicitudes. El token solo puede contener caracteres ASCII y no debe exceder los 64 caracteres de longitud. |
| RegionId | String | Sí | cn-hangzhou | ID de región de la instancia de solo lectura. La instancia de solo lectura y la instancia principal deben residir en la misma región. Puede llamar a la operación DescribeRegions para consultar la lista de regiones más reciente. |
| ZoneId | String | Sí | cn-hangzhou-b | ID de zona de la instancia de solo lectura. Puede llamar a la operación DescribeRegions para consultar la lista de zonas más reciente. |
| DBInstanceId | String | Sí | rm-uf6wjk5**** | ID de la instancia principal. |
| DBInstanceClass | String | Sí | rds.mys2.small | Tipo de instancia de solo lectura. Para obtener más información, consulte Tipos de instancias de ApsaraDB RDS de solo lectura. Se recomienda especificar un tipo de instancia cuyas especificaciones sean superiores o iguales a las del tipo de instancia principal. Si las especificaciones de la instancia de solo lectura son inferiores a las de la instancia principal, podría experimentar problemas como alta latencia y carga excesiva. |
| DBInstanceStorage | Integer | Sí | 20 | Capacidad de almacenamiento de la instancia de solo lectura. Para obtener más información, consulte la columna Storage space en Tipos de instancias de solo lectura. Este valor debe ser múltiplo de 5 GB. Unidad: GB. |
| EngineVersion | String | Sí | 5.6 | Versión principal del motor de la instancia de solo lectura. La instancia de solo lectura y la instancia principal deben ejecutar la misma versión principal del motor.
|
| PayType | String | Sí | Postpaid | Método de facturación de la instancia de solo lectura. Valores válidos:
|
| DBInstanceDescription | String | No | Test read-only instance | Descripción de la instancia de solo lectura. Debe tener entre 2 y 256 caracteres de longitud y puede contener letras, dígitos, guiones bajos (_) y guiones (-). El valor debe comenzar con una letra Nota pero no puede comenzar con http:// o https://. |
| InstanceNetworkType | String | No | Classic | Tipo de red de la instancia de solo lectura. Valores válidos:
Valor predeterminado: VPC. Si establece este parámetro en VPC, también debe especificar los parámetros VPCId y VSwitchId. Nota El tipo de red de la instancia de solo lectura puede ser diferente al de la instancia principal. |
| VPCId | String | No | vpc-uf6f7l4fg90**** | ID de la nube privada virtual (VPC) a la que pertenece la instancia de solo lectura. Si deja vacío el parámetro InstanceNetworkType o lo establece en VPC, también debe especificar este parámetro. Nota
|
| VSwitchId | String | No | vsw-uf6adz52c2p**** | ID del vSwitch al que pertenece la instancia de solo lectura. Si deja vacío el parámetro InstanceNetworkType o lo establece en VPC, también debe especificar este parámetro. |
| PrivateIpAddress | String | No | 172.16.XX.XX | Dirección IP privada de la instancia de solo lectura. Debe estar dentro del bloque CIDR compatible con el vSwitch especificado. El sistema asigna automáticamente una dirección IP privada a la instancia de solo lectura según los valores de los parámetros VPCId y VSwitchId. |
| ResourceGroupId | String | No | rg-acfmy**** | ID del resource group al que pertenece la instancia de solo lectura. |
| Category | String | No | HighAvailability | Edición de RDS de la nueva instancia. Valores válidos:
Nota Si la instancia de solo lectura ejecuta PostgreSQL con discos SSD estándar o ESSD, debe establecer este parámetro en Basic. |
| DBInstanceStorageType | String | No | local_ssd | Tipo de almacenamiento de la instancia de solo lectura. Valores válidos:
Nota
|
| DedicatedHostGroupId | String | No | dhg-4n**** | ID del clúster dedicado al que pertenece la instancia de solo lectura. Este parámetro es válido cuando se crea la instancia de solo lectura en un clúster dedicado. |
| TargetDedicatedHostIdForMaster | String | No | i-bp**** | ID de host de la instancia principal a la que se adjunta la instancia de solo lectura. Este parámetro es válido cuando se crea la instancia de solo lectura en un clúster dedicado. |
| GdnInstanceName | String | No | None | Parámetro reservado. |
| TddlBizType | String | No | None | Parámetro reservado. |
| TddlRegionConfig | String | No | None | Parámetro reservado. |
| InstructionSetArch | String | No | None | Parámetro reservado. |
| UsedTime | String | No | 1 | Periodo de suscripción de la instancia de solo lectura. Valores válidos:
Nota Si establece el parámetro PayType en Prepaid, también debe especificar este parámetro. |
| Period | String | No | Month | Ciclo de renovación de la instancia de solo lectura. Valores válidos:
|
| AutoRenew | String | No | true | Especifica si se habilita la renovación automática para la instancia de solo lectura. Si establece el parámetro PayType en Prepaid, también debe especificar este parámetro. Valores válidos:
Nota
|
| DeletionProtection | Boolean | No | true | Especifica si se habilita la función de protección contra liberación para la instancia de solo lectura. Valores válidos:
Nota Esta función solo se puede habilitar cuando establece el parámetro PayType en Postpaid. |
Parámetros de respuesta
|
Parámetro |
Tipo |
Ejemplo |
Descripción |
|
DBInstanceId |
String |
rr-uf6wjk5**** |
ID de la instancia de solo lectura. |
|
RequestId |
String |
1E43AAE0-BEE8-43DA-860D-EAF2AA0724DC |
ID de la solicitud. |
|
Port |
String |
3306 |
Número de puerto interno utilizado para conectarse a la instancia de solo lectura. |
|
ConnectionString |
String |
rr-****.mysql.rds.aliyuncs.com |
Endpoint interno utilizado para conectarse a la instancia de solo lectura. |
|
OrderId |
String |
10078937**** |
ID del pedido. |
Ejemplos
Solicitudes de ejemplo
http(s)://rds.aliyuncs.com/?Action=CreateReadOnlyDBInstance
&ClientToken=ETnLKlblzczshOTUbOC****
&RegionId=cn-hangzhou
&ZoneId=cn-hangzhou-b
&DBInstanceId=rm-uf6wjk5****
&DBInstanceClass=rds.mys2.small
&DBInstanceStorage=20
&EngineVersion=5.6
&PayType=Postpaid
&DBInstanceDescription=Test read-only instance
&InstanceNetworkType=Classic
&VPCId=vpc-uf6f7l4fg90****
&VSwitchId=vsw-uf6adz52c2p****
&PrivateIpAddress=172.16.XX.XX
&ResourceGroupId=rg-acfmy****
&Category=HighAvailability
&DBInstanceStorageType=local_ssd
&DedicatedHostGroupId=dhg-4n****
&TargetDedicatedHostIdForMaster=i-bp****
&GdnInstanceName=None
&TddlBizType=None
&TddlRegionConfig=None
&InstructionSetArch=None
&UsedTime=1
&Period=Month
&AutoRenew=true
&DeletionProtection=true
&<Common request parameters>
Respuestas exitosas de ejemplo
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateReadOnlyDBInstanceResponse>
<DBInstanceId>rr-uf6wjk5****</DBInstanceId>
<RequestId>1E43AAE0-BEE8-43DA-860D-EAF2AA0724DC</RequestId>
<Port>3306</Port>
<ConnectionString>rr-****.mysql.rds.aliyuncs.com</ConnectionString>
<OrderId>10078937****</OrderId>
</CreateReadOnlyDBInstanceResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"DBInstanceId" : "rr-uf6wjk5****",
"RequestId" : "1E43AAE0-BEE8-43DA-860D-EAF2AA0724DC",
"Port" : 3306,
"ConnectionString" : "rr-****.mysql.rds.aliyuncs.com",
"OrderId" : "10078937****"
}
Códigos de error
|
Código de estado HTTP |
Código de error |
Mensaje de error |
Descripción |
|
400 |
InvalidSecurityIPList.Duplicate |
The Security IP address is not in the available range or occupied. |
Mensaje de error devuelto porque la dirección IP especificada está en uso o no se encuentra dentro del rango válido. Especifique una dirección IP válida e inténtelo de nuevo. |
|
400 |
OperationDenied |
VPC IP is in use, please check. |
Mensaje de error devuelto porque la dirección IP de VPC especificada está en uso. |
|
400 |
InvalidZoneId.NotSupported |
The Specified vpc Zone not supported. |
Mensaje de error devuelto porque la zona especificada no admite la creación de una instancia del tipo de red VPC. Especifique una zona diferente e inténtelo de nuevo. |
|
400 |
CDDC.AvailableHostsNotEnoughInZone |
Not enough available hosts are in the target zone. |
Mensaje de error devuelto porque no hay hosts disponibles en la zona especificada. Cree un host en la zona e inténtelo de nuevo. |
|
403 |
OperationDenied.PrimaryDBInstanceStatus |
The operation is not permitted due to status of primary instance. |
Mensaje de error devuelto porque la instancia pertenece a un clúster dedicado y no se encuentra en estado Running. |
|
404 |
IncorrectDBInstanceConnType |
Current DB instance conn type does not support this operation. |
Mensaje de error devuelto porque el tipo de conexión de red de la instancia no admite esta operación. |
|
500 |
CannotDecreaseEssdPerfLevel |
cannot decrease cloud essd performance level. |
Mensaje de error devuelto porque el cambio de tipo de almacenamiento no superó la validación. El tipo de almacenamiento de una instancia que ejecuta SQL Server con discos en la nube solo se puede convertir a otro tipo de disco en la nube. Una instancia que ejecuta SQL Server con discos SSD estándar se puede actualizar para usar discos SSD estándar o ESSD con las nuevas especificaciones. |
|
500 |
InvalidEssdStorageSize |
invalid cloud essd storage size. |
Mensaje de error devuelto porque el tipo de instancia especificado no es válido. Seleccione un tipo de instancia válido e inténtelo de nuevo. |
Para obtener una lista de códigos de error, consulte Códigos de error del servicio.