Le proxy de base de données pour ApsaraDB RDS for PostgreSQL s'intercale entre votre application et l'instance RDS. Il assure la répartition lecture/écriture et le fractionnement des transactions. Utilisez-le pour décharger les requêtes de l'instance principale, gérer un volume élevé de connexions et distribuer la charge de travail sur les instances en lecture seule.
Prérequis
Avant de commencer, vérifiez que :
L'instance RDS exécute PostgreSQL 10 ou une version ultérieure.
L'instance RDS utilise des disques cloud.
L'instance RDS fonctionne avec l'édition Haute disponibilité (High-availability Edition) d'ApsaraDB RDS.
L'instance RDS est une instance principale.
L'instance RDS ne se trouve pas dans la zone C de Hangzhou ni dans la zone D de Hangzhou. Si c'est le cas, migrate the instance to another zone avant d'activer le proxy de base de données.
Facturation
| Type de proxy | Coût |
|---|---|
| General-purpose | Gratuit |
| Dedicated | Paiement à l'utilisation. Pour plus de détails, consultez Billing rules for database proxies. |
Types de proxy
ApsaraDB RDS for PostgreSQL propose deux types de proxys. Pour une comparaison détaillée, consultez What are database proxies?
| Aspect | General-purpose | Dedicated |
|---|---|---|
| Coût | Gratuit | Paiement à l'utilisation |
| Spécification maximale | 16 cœurs CPU | 32 cœurs CPU |
| Spécification lors de l'activation | Recommandée par le système (ajustable ultérieurement) | Configurable par l'utilisateur |
Recommandations de dimensionnement
La spécification du proxy est calculée comme suit :
Specification = Recommended number of proxies x 2 CPU cores
La spécification unitaire de chaque proxy de base de données est fixée à 2 cœurs CPU. Le nombre recommandé de proxys dépend du type de proxy :
| Type de proxy | Formule de comptage recommandée |
|---|---|
| General-purpose | (CPU cores of primary instance + CPU cores of all read-only instances) / 4, arrondi à l'entier supérieur |
| Dedicated | (CPU cores of primary instance + CPU cores of all read-only instances) / 8, arrondi à l'entier supérieur |
Exemple : Une instance RDS principale (édition Haute disponibilité) dotée de 8 cœurs CPU et une instance en lecture seule avec 4 cœurs CPU nécessitent ceil((8 + 4) / 8) = 2 proxys dédiés. La spécification recommandée est donc 2 x 2 = 4 cœurs CPU.
Activer le proxy de base de données
Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région de votre instance RDS, puis cliquez sur l'ID de l'instance.
Dans le volet de navigation de gauche, cliquez sur Database Proxy.
-
Sélectionnez un type de proxy (General-purpose ou Dedicated) et cliquez sur Enable Now.
General-purpose : le système attribue automatiquement la spécification recommandée. Vous pourrez l'ajuster après l'activation.
Dedicated : configurez la spécification du proxy lors de l'activation.
RemarqueSi vous êtes invité à compléter l'autorisation du rôle lié au service (SLR), cliquez sur Authorize, puis sur OK dans la boîte de dialogue. Alibaba Cloud crée un rôle lié au service nommé AliyunServiceRoleForRdsProxyOnEcs qui permet au proxy de base de données de lier des interfaces réseau élastiques (ENI) et d'établir des connexions réseau.
Cliquez sur OK.
Vérifier l'activation
Une fois le proxy de base de données activé, la page Database Proxy affiche les informations de base du proxy, les détails des nœuds et les points de terminaison de connexion.
Informations de base
| Paramètre | Description |
|---|---|
| Primary Instance | ID de l'instance RDS. |
| Proxy Instance Status | État actuel de l'instance de proxy de base de données. |
| Proxy Type | General-purpose ou Dedicated. Pour connaître les différences, consultez What are database proxies? |
| Zone | Zone de l'instance de proxy de base de données. Par défaut, elle correspond à la zone de l'instance RDS principale. |
| Proxy Specifications | Spécification totale du proxy de base de données, calculée comme suit : Unit specification (2 CPU cores) x Number of proxies. Par exemple, 3 proxys donnent une spécification de 2 x 3 = 6 cœurs CPU. |
| Proxy Version | Version du proxy de base de données. |
| Proxy Instance ID | ID de l'instance de proxy. |
Nœud de proxy
| Paramètre | Description |
|---|---|
| Node ID | ID du nœud de proxy. |
| Zone | Zone du nœud de proxy. |
| CPU Cores on Proxy Node | Spécification d'un seul nœud de proxy. |
Informations de connexion
| Paramètre | Description |
|---|---|
| Proxy Endpoint (Terminal) ID | ID du point de terminaison du proxy de base de données. Chaque instance RDS prend en charge jusqu'à sept points de terminaison de proxy de base de données. Chaque point de terminaison peut disposer d'une adresse interne et d'une adresse publique. Survolez l'ID du point de terminaison pour afficher ses attributs Read/Write Attributes et les informations Read Weight Information. Pour plus de détails sur la configuration, consultez Configure the connection settings for a database proxy endpoint et Use a database proxy endpoint to connect to an ApsaraDB RDS for PostgreSQL instance. |
| Read/Write Attributes | Mode lecture/écriture du point de terminaison du proxy : Read/Write ou Read-only. Pour plus de détails, consultez Configure the read/write attributes and the read weight of the database proxy. |
| Internal Endpoint/Port | Point de terminaison interne et port permettant de se connecter à l'instance RDS via le réseau interne à travers le proxy de base de données. Le point de terminaison interne est lié à l'ID du point de terminaison du proxy. Cliquez sur l'icône |
| Public Endpoint/Port | Point de terminaison public et port permettant de se connecter à l'instance RDS via Internet à travers le proxy de base de données. Un point de terminaison interne est fourni par défaut ; demandez séparément un point de terminaison public. Après la demande, cliquez sur l'icône |
Points importants à considérer
-
Une fois la fonctionnalité de proxy de base de données activée, nous vous recommandons de ne pas migrer l'instance RDS principale vers une autre zone. En cas de migration interzone, l'instance RDS principale et ses instances de proxy se retrouveraient dans des zones différentes, ce qui augmenterait la latence d'accès et ralentirait les réponses.
RemarqueSi un basculement primaire/secondaire est déclenché par une panne de service, l'instance RDS principale et ses instances de proxy de base de données peuvent se retrouver dans des zones différentes. Pour réduire la latence, effectuez un nouveau basculement primaire/secondaire afin de les ramener dans la même zone. Pour plus de détails, consultez Switch workloads over between primary and secondary ApsaraDB RDS for PostgreSQL instances.
Une instance RDS en lecture seule doit exister pour l'instance principale avant que vous ne puissiez configurer les paramètres de connexion d'un point de terminaison de proxy de base de données. Sans instance en lecture seule, vous pouvez activer la fonctionnalité de proxy de base de données, mais vous ne pourrez pas configurer les paramètres de connexion. Pour en créer une, consultez Create a read-only ApsaraDB RDS for PostgreSQL instance.
Étapes suivantes
Configure the connection settings for a database proxy endpoint : définissez les règles de répartition lecture/écriture, les limites de connexion et les politiques d'accès pour vos points de terminaison de proxy.
Configure the read/write attributes and the read weight of the database proxy : contrôlez la distribution du trafic en lecture entre l'instance principale et les instances en lecture seule.
Manage the database proxy endpoints : demandez des points de terminaison publics, modifiez les préfixes des points de terminaison ou changez les ports.
Référence API
| API | Description |
|---|---|
| ModifyDBProxy | Active ou désactive la fonctionnalité de proxy de base de données pour une instance. |
| DescribeDBProxy | Interroge les détails d'un proxy de base de données. |