

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Considérations relatives à la connexion RDS Proxy
<a name="rds-proxy-connections"></a>

## Configuration des paramètres de connexion
<a name="rds-proxy-connection-pooling-tuning"></a>

Pour ajuster le regroupement de connexion RDS Proxy, vous pouvez modifier les paramètres suivants :
+ [IdleClientTimeout](#rds-proxy-connection-pooling-tuning.idleclienttimeout)
+ [MaxConnectionsPercent](#rds-proxy-connection-pooling-tuning.maxconnectionspercent)
+ [MaxIdleConnectionsPercent](#rds-proxy-connection-pooling-tuning.maxidleconnectionspercent)
+ [ConnectionBorrowTimeout](#rds-proxy-connection-pooling-tuning.connectionborrowtimeout)

### IdleClientTimeout
<a name="rds-proxy-connection-pooling-tuning.idleclienttimeout"></a>

Vous pouvez spécifier la durée d’inactivité d’une connexion client avant que le proxy puisse la fermer. La valeur par défaut est de 1 800 secondes (30 minutes). 

Une connexion client est considérée comme *inactive* lorsque l'application ne soumet aucune nouvelle demande dans le délai défini après l'achèvement de la demande précédente. La connexion à la base de données sous-jacente reste ouverte et est renvoyée au regroupement de connexions. Ainsi, elle peut être réutilisée pour de nouvelles connexions client. Réduisez le délai d’expiration de la connexion client inactive si vous souhaitez que le proxy supprime proactivement les connexions obsolètes. Si votre charge de travail se connecte régulièrement au proxy, augmentez le délai d’expiration de la connexion client inactive pour économiser le coût d’établissement de connexions.

Ce paramètre est représenté par le champ **Idle client connection timeout** (Délai d'inactivité de la connexion client) dans la console RDS et le paramètre `IdleClientTimeout` dans l'AWS CLI et l'API. Pour savoir comment modifier la valeur du champ **Idle client connection timeout** (Délai d’inactivité de la connexion client) dans la console RDS, consultez [AWS Management Console](rds-proxy-modifying-proxy.md#rds-proxy-modifying-proxy.console). Pour apprendre à modifier la valeur du paramètre `IdleClientTimeout`, utilisez la commande de la CLI [modify-db-proxy](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-proxy.html) ou l'opération d'API [ModifyDBProxy](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBProxy.html).

### MaxConnectionsPercent
<a name="rds-proxy-connection-pooling-tuning.maxconnectionspercent"></a>

Vous pouvez limiter le nombre de connexions qu'un RDS Proxy peut établir avec la base de données cible. Vous indiquez la limite, sous forme de pourcentage, des connexions maximales disponibles pour votre base de données. Ce paramètre est représenté par le champ **Connection pool maximum connections** (Connexions maximales du groupe de connexion) dans la console RDS et le paramètre `MaxConnectionsPercent` dans l'AWS CLI et l'API. 

La valeur `MaxConnectionsPercent` est exprimée en pourcentage du paramètre `max_connections` pour l'instance de base de données RDS utilisé par le groupe cible. Le proxy ne crée pas toutes ces connexions à l'avance. Ce paramètre permet au proxy d’établir ces connexions, car la charge de travail en a besoin.

Par exemple, pour une cible de base de données enregistrée avec `max_connections` définies sur 1 000 et `MaxConnectionsPercent` défini sur 95, RDS Proxy définit 950 connexions comme la limite supérieure pour les connexions simultanées à cette cible de base de données.

Le fait que votre charge de travail atteigne le nombre maximum de connexions à la base de données autorisées a souvent pour effet secondaire d'augmenter la latence globale des requêtes, ainsi que d'augmenter la métrique `DatabaseConnectionsBorrowLatency`. Vous pouvez surveiller les connexions à la base de données actuellement utilisées et le nombre total de connexions autorisées en comparant les métriques `DatabaseConnections` et `MaxDatabaseConnectionsAllowed`.

Pour définir ce paramètre, tenez compte des bonnes pratiques suivantes :
+ Prévoyez une marge de connexion suffisante pour les modifications du modèle de la charge de travail. Il est recommandé de définir le paramètre afin qu'il soit au moins 30 % supérieur à votre utilisation surveillée maximale récente. Comme RDS Proxy redistribue les quotas de connexion à la base de données entre plusieurs nœuds, les modifications de la capacité interne peuvent nécessiter une marge d'au moins 30 % pour les connexions supplémentaires afin d'éviter des latences d'emprunt plus importantes.
+ RDS Proxy réserve un certain nombre de connexions pour une surveillance active afin de permettre un basculement rapide, le routage du trafic et les opérations internes. La métrique `MaxDatabaseConnectionsAllowed` n'inclut pas ces connexions réservées. Elle représente le nombre de connexions disponibles pour répondre à la charge de travail et peut être inférieure à la valeur dérivée du paramètre `MaxConnectionsPercent`.

  Valeurs `MaxConnectionsPercent` minimales recommandées
  + db.t3.small : 30
  + db.t3.medium ou supérieur : 20

Pour savoir comment modifier la valeur du champ **Connection pool maximum connections** (Connexions maximales au groupe de connexion) dans la console RDS, consultez [AWS Management Console](rds-proxy-modifying-proxy.md#rds-proxy-modifying-proxy.console). Pour apprendre à modifier la valeur du paramètre `MaxConnectionsPercent`, utilisez la commande de la CLI [modify-db-proxy-target-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-proxy-target-group.html) ou l'opération d'API [ModifyDBProxyTargetGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBProxyTargetGroup.html).

 Pour en savoir plus sur les limites de connexion aux bases de données, consultez [Nombre maximal de connexions aux bases de données](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.MaxConnections). 

### MaxIdleConnectionsPercent
<a name="rds-proxy-connection-pooling-tuning.maxidleconnectionspercent"></a>

Vous pouvez contrôler le nombre de connexions aux bases de données inactives que RDS Proxy peut conserver dans le groupe de connexion. Par défaut, RDS Proxy considère qu’une connexion à une base de données dans son groupe est *inactive* lorsqu’il n’y a pas eu d’activité sur la connexion pendant cinq minutes. 

La valeur `MaxIdleConnectionsPercent` est exprimée en pourcentage du paramètre `max_connections` du groupe de cibles de l’instance de base de données RDS. La valeur par défaut est de 50 % de `MaxConnectionsPercent` et la limite supérieure est la valeur de `MaxConnectionsPercent`. Par exemple, si `MaxConnectionsPercent` est défini sur 80, la valeur par défaut de `MaxIdleConnectionsPercent` est 40. Si la valeur de `MaxConnectionsPercent` n’est pas spécifiée, alors pour RDS for SQL Server, `MaxIdleConnectionsPercent` est défini sur 5 et pour tous les autres moteurs, la valeur par défaut est 50.

Une valeur élevée permet au proxy de laisser ouvert un pourcentage élevé de connexions inactives à la base de données. Avec une valeur faible, le proxy ferme un pourcentage élevé de connexions de base de données inactives. Si vos charges de travail sont imprévisibles, pensez à définir une valeur élevée pour `MaxIdleConnectionsPercent`. Cela signifie que RDS Proxy peut prendre en charge les vagues d'activité sans ouvrir de nombreuses nouvelles connexions aux bases de données. 

Ce paramètre est représenté par le paramètre `MaxIdleConnectionsPercent` du `DBProxyTargetGroup` dans l'AWS CLI et l'API. Pour apprendre à modifier la valeur du paramètre `MaxIdleConnectionsPercent`, utilisez la commande de la CLI [modify-db-proxy-target-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-proxy-target-group.html) ou l'opération d'API [ModifyDBProxyTargetGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBProxyTargetGroup.html).

 Pour en savoir plus sur les limites de connexion aux bases de données, consultez [Nombre maximal de connexions aux bases de données](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.MaxConnections). 

### ConnectionBorrowTimeout
<a name="rds-proxy-connection-pooling-tuning.connectionborrowtimeout"></a>

Vous pouvez choisir combien de temps le RDS Proxy doit attendre la disponibilité d'utilisation d'une connexion à une base de données dans le groupe de connexion avant de renvoyer une erreur de dépassement de délai d'attente. La durée par défaut est de 120 secondes. Ce paramètre s'applique lorsque le nombre maximal de connexions est atteint et qu'aucune connexion n'est disponible dans le groupe de connexion. Il s’applique également si aucune instance de base de données appropriée n’est disponible pour traiter la requête en raison, par exemple, d’une opération de basculement en cours. À l’aide de ce paramètre, vous pouvez définir la meilleure période d’attente pour votre application sans avoir à modifier le délai d’attente de requête dans votre code d’application.

Ce paramètre est représenté par le champ **Connection borrow timeout** (Délai d'expiration d'emprunt de connexion) dans la console RDS ou le paramètre `ConnectionBorrowTimeout` du `DBProxyTargetGroup` dans l'AWS CLI ou l'API. Pour savoir comment modifier la valeur du champ **Connection borrow timeout** (Délai d’expiration d’emprunt de connexion) dans la console RDS, consultez [AWS Management Console](rds-proxy-modifying-proxy.md#rds-proxy-modifying-proxy.console). Pour apprendre à modifier la valeur du paramètre `ConnectionBorrowTimeout`, utilisez la commande de la CLI [modify-db-proxy-target-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-proxy-target-group.html) ou l'opération d'API [ModifyDBProxyTargetGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBProxyTargetGroup.html).

## Connexions client et connexions aux bases de données
<a name="rds-proxy-connection-life"></a>

Les connexions entre votre application et RDS Proxy sont appelées connexions client. Les connexions d'un proxy à la base de données sont appelées connexions à la base de données. Lorsque vous utilisez RDS Proxy, les connexions client s'arrêtent au niveau du proxy tandis que les connexions à la base de données sont gérées au sein de RDS Proxy.

Le regroupement des connexions côté application peut offrir l’avantage de réduire l’établissement de connexions récurrentes entre votre application et RDS Proxy.

Tenez compte des aspects de configuration suivants avant d’implémenter un regroupement de connexions côté application :
+ Durée de vie maximale d’une connexion client : RDS Proxy impose une durée de vie maximale de 24 heures aux connexions client. Cette valeur n'est pas configurable. Configurez votre regroupement avec une durée de vie maximale inférieure à 24 heures afin d’éviter des interruptions inattendues de la connexion client. 
+ Délai d’inactivité de la connexion client : RDS Proxy impose une durée d’inactivité maximale pour les connexions client. Configurez votre regroupement avec un délai d'inactivité inférieur au délai d'inactivité de votre connexion client pour RDS Proxy afin d'éviter les interruptions de connexion inattendues.

Le nombre maximal de connexions client configurées dans votre regroupement de connexions côté application ne doit pas nécessairement être limité au paramètre **max\$1connections** pour RDS Proxy.

Le regroupement des connexions client prolonge leur durée de vie. Si vos connexions sont épinglées, le regroupement des connexions client peut réduire l'efficacité du multiplexage. Les connexions client épinglées mais inactives dans le regroupement de connexions côté application continuent de conserver une connexion à la base de données et empêchent la réutilisation de cette connexion par d’autres connexions client. Consultez les journaux de votre proxy pour vérifier si vos connexions sont épinglées.

**Note**  
RDS Proxy ferme les connexions à la base de données après 24 heures lorsqu'elles ne sont plus utilisées. Le proxy effectue cette action indépendamment de la valeur du paramètre de connexions inactives maximum.