Appelez l'opération CreateReadOnlyDBInstance pour créer une instance en lecture seule associée à une instance principale.
Avant d'appeler cette opération, tenez compte des limites suivantes :
-
L'instance principale ne doit pas appartenir à un cluster dédié et doit exécuter l'une des versions de moteur de base de données et éditions RDS suivantes :
MySQL 8.0 sur RDS High-availability Edition ou RDS Enterprise Edition.
MySQL 5.7 sur RDS High-availability Edition ou RDS Enterprise Edition.
MySQL 5.6.
SQL Server 2017 sur RDS Cluster Edition.
PostgreSQL 10, 11, 12, 13, 14 ou 15 sur RDS High-availability Edition. Si l'instance principale exécute PostgreSQL 10, elle doit utiliser des SSD locaux et être une instance dédiée disposant d'au moins 8 cœurs et 32 Go de mémoire.
Si l'instance principale exécute MySQL, vous pouvez créer jusqu'à 10 instances en lecture seule.
Si l'instance principale exécute SQL Server, vous pouvez créer jusqu'à sept instances en lecture seule.
Si l'instance principale exécute PostgreSQL avec des SSD locaux, vous pouvez créer jusqu'à cinq instances en lecture seule. Avec des SSD standard ou des ESSD (Enhanced SSD), la limite est de 32 instances.
Débogage
Paramètres de requête
| Parameter | Type | Required | Example | Description |
| Action | String | Yes | CreateReadOnlyDBInstance | Opération à effectuer. Définissez la valeur sur CreateReadOnlyDBInstance. |
| ClientToken | String | No | ETnLKlblzczshOTUbOC**** | Jeton client utilisé pour garantir l'idempotence de la requête. Générez la valeur via le client, en veillant à son unicité pour chaque requête. Le jeton ne peut contenir que des caractères ASCII et sa longueur ne peut pas dépasser 64 caractères. |
| RegionId | String | Yes | cn-hangzhou | ID de région de l'instance en lecture seule. L'instance en lecture seule et l'instance principale doivent résider dans la même région. Appelez l'opération DescribeRegions pour obtenir la liste des régions la plus récente. |
| ZoneId | String | Yes | cn-hangzhou-b | ID de zone de l'instance en lecture seule. Appelez l'opération DescribeRegions pour obtenir la liste des zones la plus récente. |
| DBInstanceId | String | Yes | rm-uf6wjk5**** | ID de l'instance principale. |
| DBInstanceClass | String | Yes | rds.mys2.small | Type d'instance de l'instance en lecture seule. Pour plus d'informations, consultez la page Types d'instances ApsaraDB RDS en lecture seule. Nous vous recommandons de spécifier un type d'instance dont les spécifications sont supérieures ou égales à celles de l'instance principale. Des spécifications inférieures peuvent entraîner une latence élevée et une charge importante. |
| DBInstanceStorage | Integer | Yes | 20 | Capacité de stockage de l'instance en lecture seule. Pour plus d'informations, consultez la colonne Storage space de la page Types d'instances en lecture seule. Cette valeur doit être un multiple de 5 Go. Unité : Go. |
| EngineVersion | String | Yes | 5,6 | Version majeure du moteur de l'instance en lecture seule. Elle doit être identique à celle de l'instance principale.
|
| PayType | String | Yes | Postpaid | Méthode de facturation de l'instance en lecture seule. Valeurs valides :
|
| DBInstanceDescription | String | No | Test read-only instance | Description de l'instance en lecture seule. Elle doit comporter entre 2 et 256 caractères et peut contenir des lettres, des chiffres, des traits de soulignement (_) et des traits d'union (-). La valeur doit commencer par une lettre Remarque mais ne peut pas commencer par http:// ou https://. |
| InstanceNetworkType | String | No | Classic | Type de réseau de l'instance en lecture seule. Valeurs valides :
Valeur par défaut : VPC. Si vous définissez ce paramètre sur VPC, vous devez également spécifier les paramètres VPCId et VSwitchId. Remarque Le type de réseau de l'instance en lecture seule peut différer de celui de l'instance principale. |
| VPCId | String | No | vpc-uf6f7l4fg90**** | ID du cloud privé virtuel (VPC) auquel appartient l'instance en lecture seule. Si vous laissez le paramètre InstanceNetworkType vide ou si vous le définissez sur VPC, vous devez également spécifier ce paramètre. Remarque
|
| VSwitchId | String | No | vsw-uf6adz52c2p**** | ID du vSwitch auquel appartient l'instance en lecture seule. Si vous laissez le paramètre InstanceNetworkType vide ou si vous le définissez sur VPC, vous devez également spécifier ce paramètre. |
| PrivateIpAddress | String | No | 172,16.XX.XX | Adresse IP privée de l'instance en lecture seule. Elle doit se trouver dans le bloc CIDR pris en charge par le vSwitch spécifié. Le système attribue automatiquement une adresse IP privée à l'instance en fonction des valeurs des paramètres VPCId et VSwitchId. |
| ResourceGroupId | String | No | rg-acfmy**** | ID du groupe de ressources auquel appartient l'instance en lecture seule. |
| Category | String | No | HighAvailability | Édition RDS de la nouvelle instance. Valeurs valides :
Remarque Si l'instance en lecture seule exécute PostgreSQL avec des SSD standard ou des ESSD, vous devez définir ce paramètre sur Basic. |
| DBInstanceStorageType | String | No | local_ssd | Type de stockage de l'instance en lecture seule. Valeurs valides :
Remarque
|
| DedicatedHostGroupId | String | No | dhg-4n**** | ID du cluster dédié auquel appartient l'instance en lecture seule. Ce paramètre est requis lors de la création de l'instance dans un cluster dédié. |
| TargetDedicatedHostIdForMaster | String | No | i-bp**** | ID d'hôte de l'instance principale à laquelle l'instance en lecture seule est attachée. Ce paramètre est requis lors de la création de l'instance dans un cluster dédié. |
| GdnInstanceName | String | No | None | Paramètre réservé. |
| TddlBizType | String | No | None | Paramètre réservé. |
| TddlRegionConfig | String | No | None | Paramètre réservé. |
| InstructionSetArch | String | No | None | Paramètre réservé. |
| UsedTime | String | No | 1 | Période d'abonnement de l'instance en lecture seule. Valeurs valides :
Remarque Si vous définissez le paramètre PayType sur Prepaid, vous devez également spécifier ce paramètre. |
| Period | String | No | Month | Cycle de renouvellement de l'instance en lecture seule. Valeurs valides :
|
| AutoRenew | String | No | true | Indique si le renouvellement automatique est activé pour l'instance en lecture seule. Si vous définissez le paramètre PayType sur Prepaid, vous devez également spécifier ce paramètre. Valeurs valides :
Remarque
|
| DeletionProtection | Boolean | No | true | Indique si la fonctionnalité de protection contre la suppression est activée pour l'instance en lecture seule. Valeurs valides :
Remarque Cette fonctionnalité ne peut être activée que si vous définissez le paramètre PayType sur Postpaid. |
Paramètres de réponse
| Parameter | Type | Example | Description |
| DBInstanceId | String | rr-uf6wjk5**** |
ID de l'instance en lecture seule. |
| RequestId | String | 1E43AAE0-BEE8-43DA-860D-EAF2AA0724DC |
ID de la requête. |
| Port | String | 3306 |
Numéro de port interne utilisé pour se connecter à l'instance en lecture seule. |
| ConnectionString | String | rr-****.mysql.rds.aliyuncs.com |
Endpoint interne utilisé pour se connecter à l'instance en lecture seule. |
| OrderId | String | 10078937**** |
ID de la commande. |
Exemples
Exemples de requêtes
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>
Exemples de réponses réussies
XML format
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>
JSON format
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****"
}
Codes d'erreur
| HTTP status code | Error code | Error message | Description |
| 400 | InvalidSecurityIPList.Duplicate | The Security IP address is not in the available range or occupied. | Message d'erreur renvoyé car l'adresse IP spécifiée est utilisée ou ne se trouve pas dans la plage valide. Spécifiez une adresse IP valide et réessayez. |
| 400 | OperationDenied | VPC IP is in use, please check. | Message d'erreur renvoyé car l'adresse IP VPC spécifiée est utilisée. |
| 400 | InvalidZoneId.NotSupported | The Specified vpc Zone not supported. | Message d'erreur renvoyé car la zone spécifiée ne prend pas en charge la création d'une instance de type réseau VPC. Spécifiez une autre zone et réessayez. |
| 400 | CDDC.AvailableHostsNotEnoughInZone | Not enough available hosts are in the target zone. | Message d'erreur renvoyé car aucun hôte n'est disponible dans la zone spécifiée. Créez un hôte dans la zone et réessayez. |
| 403 | OperationDenied.PrimaryDBInstanceStatus | The operation is not permitted due to status of primary instance. | Message d'erreur renvoyé car l'instance appartient à un cluster dédié et n'est pas à l'état Running. |
| 404 | IncorrectDBInstanceConnType | Current DB instance conn type does not support this operation. | Message d'erreur renvoyé car cette opération n'est pas prise en charge par le type de connexion réseau de l'instance. |
| 500 | CannotDecreaseEssdPerfLevel | cannot decrease cloud essd performance level. | Message d'erreur renvoyé car la vérification de la modification du type de stockage a échoué. Le type de stockage d'une instance exécutant SQL Server avec des disques cloud ne peut être converti qu'en un autre type de disque cloud. Une instance exécutant SQL Server avec des SSD standard peut être mise à niveau pour utiliser des SSD standard ou des ESSD avec les nouvelles spécifications. |
| 500 | InvalidEssdStorageSize | invalid cloud essd storage size. | Message d'erreur renvoyé car le type d'instance spécifié n'est pas valide. Sélectionnez un type d'instance valide et réessayez. |
Pour obtenir la liste des codes d'erreur, consultez la page Codes d'erreur de service.